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=92b95fb402f5936cb08d0172a7a88b59d9201aa8;hp=c84da7921b6ab343b2dbaed5033fd897e00d8466;hb=9ab140e69f987d4a207037e9ef1d3ac9888f3fd4;hpb=a65591287e5d6166c89a8ec7eb69d350b591abb1 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 c84da792..92b95fb4 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 @@ -55,8 +55,17 @@ public class TransactionListFragment extends MobileLedgerListFragment { private MenuItem menuTransactionListFilter; private View vAccountFilter; private AutoCompleteTextView accNameFilter; + private Observer backgroundTaskCountObserver; private static void update(Observable o, Object arg) { } + @Override + public void onDestroy() { + if (backgroundTaskCountObserver != null) { + Log.d("rtl", "destroying background task count observer"); + Data.backgroundTaskCount.deleteObserver(backgroundTaskCountObserver); + } + super.onDestroy(); + } public void setShowOnlyAccountName(String mShowOnlyAccountName) { this.mShowOnlyAccountName = mShowOnlyAccountName; if (modelAdapter != null) { @@ -80,6 +89,22 @@ public class TransactionListFragment extends MobileLedgerListFragment { public void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setHasOptionsMenu(true); + if (backgroundTaskCountObserver == null) { + Log.d("rtl", "creating background task count observer"); + 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); + } + }); + } + }); + } } @Override public void onAttach(Context context) { @@ -180,6 +205,7 @@ public class TransactionListFragment extends MobileLedgerListFragment { }); } }); + } @Override public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {