X-Git-Url: https://git.ktnx.net/?p=mobile-ledger.git;a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2Fui%2Faccount_summary%2FAccountSummaryFragment.java;h=8ed6582d714508848234577b0970b199f40e47bc;hp=d75577ff3d8f94c26f82a2493a960242d9605a78;hb=21d46a2a578325c5653bf8ecdbb69f68c0097d0e;hpb=d1cdfcec0a7e66bc0fb49bc19e0dff540caac899 diff --git a/app/src/main/java/net/ktnx/mobileledger/ui/account_summary/AccountSummaryFragment.java b/app/src/main/java/net/ktnx/mobileledger/ui/account_summary/AccountSummaryFragment.java index d75577ff..8ed6582d 100644 --- a/app/src/main/java/net/ktnx/mobileledger/ui/account_summary/AccountSummaryFragment.java +++ b/app/src/main/java/net/ktnx/mobileledger/ui/account_summary/AccountSummaryFragment.java @@ -23,7 +23,11 @@ import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; -import com.google.android.material.floatingactionbutton.FloatingActionButton; +import androidx.annotation.NonNull; +import androidx.annotation.Nullable; +import androidx.recyclerview.widget.DividerItemDecoration; +import androidx.recyclerview.widget.LinearLayoutManager; +import androidx.recyclerview.widget.RecyclerView; import net.ktnx.mobileledger.R; import net.ktnx.mobileledger.model.Data; @@ -33,29 +37,18 @@ import net.ktnx.mobileledger.utils.Colors; import org.jetbrains.annotations.NotNull; -import androidx.annotation.NonNull; -import androidx.annotation.Nullable; -import androidx.recyclerview.widget.DividerItemDecoration; -import androidx.recyclerview.widget.LinearLayoutManager; -import androidx.recyclerview.widget.RecyclerView; - import static net.ktnx.mobileledger.utils.Logger.debug; public class AccountSummaryFragment extends MobileLedgerListFragment { - public AccountSummaryAdapter modelAdapter; -/* - private MenuItem mShowOnlyStarred; - private Menu optMenu; -*/ - private FloatingActionButton fab; @Override public void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); debug("flow", "AccountSummaryFragment.onCreate()"); setHasOptionsMenu(true); - Data.backgroundTasksRunning.observe(this, this::onBackgroundTaskRunningChanged); + Data.backgroundTasksRunning.observe(this.getViewLifecycleOwner(), + this::onBackgroundTaskRunningChanged); } public void onAttach(@NotNull Context context) { super.onAttach(context); @@ -83,61 +76,19 @@ public class AccountSummaryFragment extends MobileLedgerListFragment { llm.setOrientation(RecyclerView.VERTICAL); root.setLayoutManager(llm); root.setAdapter(modelAdapter); - DividerItemDecoration did = new DividerItemDecoration(mActivity, DividerItemDecoration.VERTICAL); + DividerItemDecoration did = + new DividerItemDecoration(mActivity, DividerItemDecoration.VERTICAL); root.addItemDecoration(did); - fab = mActivity.findViewById(R.id.btn_add_transaction); - -// root.addOnItemTouchListener(new RecyclerItemListener(mActivity, root, -// new RecyclerItemListener.RecyclerTouchListener() { -// @Override -// public void onClickItem(View v, int position) { -// debug("value", String.format("item %d clicked", position)); -// if (modelAdapter.isSelectionActive()) { -// modelAdapter.selectItem(position); -// } -// else { -// List accounts = Data.accounts.get(); -// if (accounts != null) { -// LedgerAccount account = accounts.get(position); -// -// mActivity.showAccountTransactions(account); -// } -// } -// } -// -// @Override -// public void onLongClickItem(View v, int position) { -// debug("value", String.format("item %d long-clicked", position)); -// modelAdapter.startSelection(); -// if (optMenu != null) { -// optMenu.findItem(R.id.menu_acc_summary_cancel_selection) -// .setVisible(true); -// optMenu.findItem(R.id.menu_acc_summary_confirm_selection) -// .setVisible(true); -// optMenu.findItem(R.id.menu_acc_summary_only_starred).setVisible(false); -// } -// { -// if (fab != null) fab.hide(); -// } -// } -// })); - mActivity.fabShouldShow(); - root.addOnScrollListener(new RecyclerView.OnScrollListener() { - @Override - public void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy) { - if (fab != null) { - if (dy < 0) mActivity.fabShouldShow(); - if (dy > 0) fab.hide(); - } - } - }); + + manageFabOnScroll(); + swiper = mActivity.findViewById(R.id.account_swiper); - Colors.themeWatch.observe(this, this::themeChanged); + Colors.themeWatch.observe(getViewLifecycleOwner(), this::themeChanged); swiper.setOnRefreshListener(() -> { debug("ui", "refreshing accounts via swipe"); - mActivity.scheduleTransactionListRetrieval(); + Data.scheduleTransactionListRetrieval(mActivity); }); Data.accounts.addObserver(