X-Git-Url: https://git.ktnx.net/?a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2Fui%2Factivity%2FMainActivity.java;h=c66f43c489a98328556edd196dcdec6580b92852;hb=1c794eb9a03c3c3c29860eb974d0f7970b6002c9;hp=03617c5923c8fe9ef1f431bc35c86e13ebc0e2ac;hpb=9a56eed6dcbfe4434a9a46b198320c16b288d86f;p=mobile-ledger-staging.git diff --git a/app/src/main/java/net/ktnx/mobileledger/ui/activity/MainActivity.java b/app/src/main/java/net/ktnx/mobileledger/ui/activity/MainActivity.java index 03617c59..c66f43c4 100644 --- a/app/src/main/java/net/ktnx/mobileledger/ui/activity/MainActivity.java +++ b/app/src/main/java/net/ktnx/mobileledger/ui/activity/MainActivity.java @@ -18,7 +18,6 @@ package net.ktnx.mobileledger.ui.activity; import android.content.Intent; -import android.content.SharedPreferences; import android.content.pm.PackageInfo; import android.content.pm.ShortcutInfo; import android.content.pm.ShortcutManager; @@ -80,7 +79,6 @@ public class MainActivity extends ProfileThemedActivity { public static final String STATE_CURRENT_PAGE = "current_page"; public static final String BUNDLE_SAVED_STATE = "bundle_savedState"; public static final String STATE_ACC_FILTER = "account_filter"; - private static final String PREF_THEME_ID = "themeId"; DrawerLayout drawer; private View profileListHeadMore, profileListHeadCancel, profileListHeadAddProfile; private View bTransactionListCancelDownload; @@ -132,13 +130,9 @@ public class MainActivity extends ProfileThemedActivity { } @Override protected void setupProfileColors() { - SharedPreferences prefs = getPreferences(MODE_PRIVATE); - int profileColor = prefs.getInt(PREF_THEME_ID, -2); - if (profileColor == -2) - profileColor = Data.retrieveCurrentThemeIdFromDb(); + final int profileColor = Data.retrieveCurrentThemeIdFromDb(); Colors.setupTheme(this, profileColor); Colors.profileThemeId = profileColor; - storeThemeIdInPrefs(profileColor); } @Override protected void onResume() { @@ -336,6 +330,7 @@ public class MainActivity extends ProfileThemedActivity { Data.locale.observe(this, l -> refreshLastUpdateInfo()); Data.lastUpdateDate.observe(this, date -> refreshLastUpdateInfo()); Data.lastUpdateTransactionCount.observe(this, date -> refreshLastUpdateInfo()); + Data.lastUpdateAccountCount.observe(this, date -> refreshLastUpdateInfo()); } private void scheduleDataRetrievalIfStale(long lastUpdate) { long now = new Date().getTime(); @@ -438,6 +433,7 @@ public class MainActivity extends ProfileThemedActivity { mProfileListAdapter.notifyDataSetChanged(); + mainModel.clearAccounts(); mainModel.clearTransactions(); if (haveProfile) { @@ -462,23 +458,15 @@ public class MainActivity extends ProfileThemedActivity { updateLastUpdateTextFromDB(); } private void profileThemeChanged() { - storeThemeIdInPrefs(profile.getThemeHue()); - // un-hook all observed LiveData Data.removeProfileObservers(this); Data.profiles.removeObservers(this); Data.lastUpdateTransactionCount.removeObservers(this); + Data.lastUpdateAccountCount.removeObservers(this); Data.lastUpdateDate.removeObservers(this); recreate(); } - private void storeThemeIdInPrefs(int themeId) { - // store the new theme id in the preferences - SharedPreferences prefs = getPreferences(MODE_PRIVATE); - SharedPreferences.Editor e = prefs.edit(); - e.putInt(PREF_THEME_ID, themeId); - e.apply(); - } public void startEditProfileActivity(MobileLedgerProfile profile) { Intent intent = new Intent(this, ProfileDetailActivity.class); Bundle args = new Bundle(); @@ -572,13 +560,27 @@ public class MainActivity extends ProfileThemedActivity { private void refreshLastUpdateInfo() { final int formatFlags = DateUtils.FORMAT_SHOW_DATE | DateUtils.FORMAT_SHOW_YEAR | DateUtils.FORMAT_SHOW_TIME | DateUtils.FORMAT_NUMERIC_DATE; - String template = getResources().getString(R.string.transaction_count_summary); + String templateForTransactions = + getResources().getString(R.string.transaction_count_summary); + String templateForAccounts = getResources().getString(R.string.account_count_summary); + Integer accountCount = Data.lastUpdateAccountCount.getValue(); Integer transactionCount = Data.lastUpdateTransactionCount.getValue(); Date lastUpdate = Data.lastUpdateDate.getValue(); - Data.lastUpdateText.set((lastUpdate == null) ? "----" : String.format( - Objects.requireNonNull(Data.locale.getValue()), template, - (transactionCount == null) ? 0 : transactionCount, - DateUtils.formatDateTime(this, lastUpdate.getTime(), formatFlags))); + if (lastUpdate == null) { + Data.lastTransactionsUpdateText.set("----"); + Data.lastAccountsUpdateText.set("----"); + } + else { + Data.lastTransactionsUpdateText.set( + String.format(Objects.requireNonNull(Data.locale.getValue()), + templateForTransactions, + transactionCount == null ? 0 : transactionCount, + DateUtils.formatDateTime(this, lastUpdate.getTime(), formatFlags))); + Data.lastAccountsUpdateText.set( + String.format(Objects.requireNonNull(Data.locale.getValue()), + templateForAccounts, accountCount == null ? 0 : accountCount, + DateUtils.formatDateTime(this, lastUpdate.getTime(), formatFlags))); + } } public void onStopTransactionRefreshClick(View view) { Logger.debug("interactive", "Cancelling transactions refresh");