X-Git-Url: https://git.ktnx.net/?a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2Fui%2Ftransaction_list%2FTransactionListFragment.java;h=e6820cf86764fe00e67c999db77fc7e1c469f43e;hb=d63a611dce420b30fa0c0711eea1d02603945a43;hp=9564cc8597317c79fa5bd378470c67eaf7ba9e0d;hpb=5bba2c06a81c87327fdcf3f2a85c3206d932c2f9;p=mobile-ledger.git diff --git a/app/src/main/java/net/ktnx/mobileledger/ui/transaction_list/TransactionListFragment.java b/app/src/main/java/net/ktnx/mobileledger/ui/transaction_list/TransactionListFragment.java index 9564cc85..e6820cf8 100644 --- a/app/src/main/java/net/ktnx/mobileledger/ui/transaction_list/TransactionListFragment.java +++ b/app/src/main/java/net/ktnx/mobileledger/ui/transaction_list/TransactionListFragment.java @@ -40,6 +40,7 @@ import net.ktnx.mobileledger.async.TransactionDateFinder; import net.ktnx.mobileledger.model.Data; import net.ktnx.mobileledger.model.MobileLedgerProfile; import net.ktnx.mobileledger.ui.DatePickerFragment; +import net.ktnx.mobileledger.ui.FabManager; import net.ktnx.mobileledger.ui.MainModel; import net.ktnx.mobileledger.ui.MobileLedgerListFragment; import net.ktnx.mobileledger.ui.activity.MainActivity; @@ -56,8 +57,6 @@ import java.util.Locale; import static android.content.Context.INPUT_METHOD_SERVICE; import static net.ktnx.mobileledger.utils.Logger.debug; -// TODO: support transaction-level comment - public class TransactionListFragment extends MobileLedgerListFragment implements DatePickerFragment.DatePickedListener { private MenuItem menuTransactionListFilter; @@ -91,9 +90,9 @@ public class TransactionListFragment extends MobileLedgerListFragment debug("flow", "TransactionListFragment.onPause()"); } @Override - public void onActivityCreated(@Nullable Bundle savedInstanceState) { + public void onViewCreated(@NotNull View view, @Nullable Bundle savedInstanceState) { debug("flow", "TransactionListFragment.onActivityCreated called"); - super.onActivityCreated(savedInstanceState); + super.onViewCreated(view, savedInstanceState); Data.backgroundTasksRunning.observe(getViewLifecycleOwner(), this::onBackgroundTaskRunningChanged); @@ -102,10 +101,10 @@ public class TransactionListFragment extends MobileLedgerListFragment model = new ViewModelProvider(requireActivity()).get(MainModel.class); - refreshLayout = mainActivity.findViewById(R.id.transaction_swipe); + refreshLayout = view.findViewById(R.id.transaction_swipe); if (refreshLayout == null) throw new RuntimeException("Can't get hold on the swipe layout"); - root = mainActivity.findViewById(R.id.transaction_root); + root = view.findViewById(R.id.transaction_root); if (root == null) throw new RuntimeException("Can't get hold on the transaction value view"); modelAdapter = new TransactionListAdapter(model); @@ -113,7 +112,8 @@ public class TransactionListFragment extends MobileLedgerListFragment mainActivity.fabShouldShow(); - manageFabOnScroll(); + if (mainActivity instanceof FabManager.FabHandler) + FabManager.handle((FabManager.FabHandler) mainActivity, root); LinearLayoutManager llm = new LinearLayoutManager(mainActivity); @@ -127,11 +127,11 @@ public class TransactionListFragment extends MobileLedgerListFragment Colors.themeWatch.observe(getViewLifecycleOwner(), this::themeChanged); - vAccountFilter = mainActivity.findViewById(R.id.transaction_list_account_name_filter); - accNameFilter = mainActivity.findViewById(R.id.transaction_filter_account_name); + vAccountFilter = view.findViewById(R.id.transaction_list_account_name_filter); + accNameFilter = view.findViewById(R.id.transaction_filter_account_name); MLDB.hookAutocompletionAdapter(mainActivity, accNameFilter, "accounts", "name"); - accNameFilter.setOnItemClickListener((parent, view, position, id) -> { + accNameFilter.setOnItemClickListener((parent, v, position, id) -> { // debug("tmp", "direct onItemClick"); Cursor c = (Cursor) parent.getItemAtPosition(position); model.getAccountFilter() @@ -148,8 +148,8 @@ public class TransactionListFragment extends MobileLedgerListFragment model.getDisplayedTransactions() .observe(getViewLifecycleOwner(), list -> modelAdapter.setTransactions(list)); - mainActivity.findViewById(R.id.clearAccountNameFilter) - .setOnClickListener(v -> { + view.findViewById(R.id.clearAccountNameFilter) + .setOnClickListener(v -> { model.getAccountFilter() .setValue(null); vAccountFilter.setVisibility(View.GONE);