X-Git-Url: https://git.ktnx.net/?p=mobile-ledger.git;a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2Fui%2Ftransaction_list%2FTransactionListFragment.java;h=dcad525bdd19b37025e4757df3bbb5ccd092efb0;hp=e3496a086f6035c28e540cd54bdc667d14bc8625;hb=3b365016042215dd73cb4600840aa8199b8322b9;hpb=13478d849714d11fd4d3b65a80c18fd6e30522be 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 e3496a08..dcad525b 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 @@ -94,13 +94,10 @@ public class TransactionListFragment extends MobileLedgerListFragment { Data.backgroundTaskCount.addObserver(backgroundTaskCountObserver = new Observer() { @Override public void update(Observable o, Object arg) { - mActivity.runOnUiThread(new Runnable() { - @Override - public void run() { - int cnt = Data.backgroundTaskCount.get(); - Log.d("trl", String.format("background task count changed to %d", cnt)); - swiper.setRefreshing(cnt > 0); - } + mActivity.runOnUiThread(() -> { + int cnt = Data.backgroundTaskCount.get(); + Log.d("trl", String.format("background task count changed to %d", cnt)); + swiper.setRefreshing(cnt > 0); }); } }); @@ -123,8 +120,6 @@ public class TransactionListFragment extends MobileLedgerListFragment { Log.d("flow", "TransactionListFragment.onActivityCreated called"); super.onActivityCreated(savedInstanceState); - mActivity.markDrawerItemCurrent(R.id.nav_latest_transactions); - swiper = mActivity.findViewById(R.id.transaction_swipe); if (swiper == null) throw new RuntimeException("Can't get hold on the swipe layout"); root = mActivity.findViewById(R.id.transaction_root); @@ -134,20 +129,16 @@ public class TransactionListFragment extends MobileLedgerListFragment { modelAdapter = new TransactionListAdapter(); modelAdapter.setBoldAccountName(mShowOnlyAccountName); + root.setAdapter(modelAdapter); FloatingActionButton fab = mActivity.findViewById(R.id.btn_add_transaction); - RecyclerView root = mActivity.findViewById(R.id.transaction_root); - root.setAdapter(modelAdapter); - fab.show(); root.addOnScrollListener(new RecyclerView.OnScrollListener() { @Override public void onScrolled(@NonNull RecyclerView recyclerView, int dx, int dy) { - if (fab != null) { - if (dy < 0) fab.show(); - if (dy > 0) fab.hide(); - } + if (dy < 0) fab.show(); + if (dy > 0) fab.hide(); } }); @@ -167,12 +158,12 @@ public class TransactionListFragment extends MobileLedgerListFragment { accNameFilter = mActivity.findViewById(R.id.transaction_filter_account_name); TransactionListFragment me = this; - MLDB.hook_autocompletion_adapter(mActivity, accNameFilter, "accounts", "name"); + MLDB.hook_autocompletion_adapter(mActivity, accNameFilter, "accounts", "name", true); accNameFilter.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView parent, View view, int position, long id) { Log.d("tmp", "direct onItemClick"); - ((TransactionListViewModel) model).scheduleTransactionListReload(mActivity); + TransactionListViewModel.scheduleTransactionListReload(mActivity); MatrixCursor mc = (MatrixCursor) parent.getItemAtPosition(position); modelAdapter.setBoldAccountName(mc.getString(1)); modelAdapter.notifyDataSetChanged(); @@ -186,6 +177,16 @@ public class TransactionListFragment extends MobileLedgerListFragment { Log.d("flow", String.format("Account filter set to '%s'", mShowOnlyAccountName)); } + Data.profile.addObserver(new Observer() { + @Override + public void update(Observable o, Object arg) { + mActivity.runOnUiThread(() -> { + Log.d("transactions", "requesting list reload"); + TransactionListViewModel.scheduleTransactionListReload(mActivity); + }); + } + }); + TransactionListViewModel.scheduleTransactionListReload(mActivity); TransactionListViewModel.updating.addObserver(new Observer() { @Override @@ -197,12 +198,7 @@ public class TransactionListFragment extends MobileLedgerListFragment { Data.transactions.addObserver(new Observer() { @Override public void update(Observable o, Object arg) { - mActivity.runOnUiThread(new Runnable() { - @Override - public void run() { - modelAdapter.notifyDataSetChanged(); - } - }); + mActivity.runOnUiThread(() -> modelAdapter.notifyDataSetChanged()); } });