X-Git-Url: https://git.ktnx.net/?p=mobile-ledger.git;a=blobdiff_plain;f=app%2Fsrc%2Fmain%2Fjava%2Fnet%2Fktnx%2Fmobileledger%2Fui%2Factivity%2FMainActivity.java;h=a9db652ed0e0a0f0c8932ce81a9710c9f944da76;hp=2f65564a7b63dc66b3bfa12935d763371ee3aa7a;hb=5249e165e131f912d4864ee2f4ce0263455023f2;hpb=1edf82b2b2e9c73897d115c23581eb581820264b 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 2f65564a..a9db652e 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 @@ -44,6 +44,7 @@ import net.ktnx.mobileledger.async.RetrieveTransactionsTask; import net.ktnx.mobileledger.model.Data; import net.ktnx.mobileledger.model.LedgerAccount; import net.ktnx.mobileledger.model.MobileLedgerProfile; +import net.ktnx.mobileledger.ui.account_summary.AccountSummaryAdapter; import net.ktnx.mobileledger.ui.account_summary.AccountSummaryFragment; import net.ktnx.mobileledger.ui.profiles.ProfileDetailFragment; import net.ktnx.mobileledger.ui.profiles.ProfilesRecyclerViewAdapter; @@ -72,8 +73,9 @@ import androidx.recyclerview.widget.RecyclerView; import androidx.viewpager.widget.ViewPager; public class MainActivity extends ProfileThemedActivity { - private static final String STATE_CURRENT_PAGE = "current_page"; - private static final String BUNDLE_SAVED_STATE = "bundle_savedState"; + 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"; public AccountSummaryFragment mAccountSummaryFragment; DrawerLayout drawer; private LinearLayout profileListContainer; @@ -91,6 +93,8 @@ public class MainActivity extends ProfileThemedActivity { private boolean profileModificationEnabled = false; private boolean profileListExpanded = false; private ProfilesRecyclerViewAdapter mProfileListAdapter; + private int mCurrentPage; + private String mAccountFilter; @Override protected void onStart() { super.onStart(); @@ -109,11 +113,17 @@ public class MainActivity extends ProfileThemedActivity { scheduleTransactionListRetrieval(); } + + mViewPager.setCurrentItem(mCurrentPage, false); + if (mAccountFilter != null) showTransactionsFragment(mAccountFilter); + } @Override protected void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); outState.putInt(STATE_CURRENT_PAGE, mViewPager.getCurrentItem()); + if (TransactionListFragment.accountFilter.get() != null) + outState.putString(STATE_ACC_FILTER, TransactionListFragment.accountFilter.get()); } @Override protected void onCreate(Bundle savedInstanceState) { @@ -217,11 +227,13 @@ public class MainActivity extends ProfileThemedActivity { } }); + mCurrentPage = 0; if (savedInstanceState != null) { int currentPage = savedInstanceState.getInt(STATE_CURRENT_PAGE, -1); if (currentPage != -1) { - mViewPager.setCurrentItem(currentPage, false); + mCurrentPage = currentPage; } + mAccountFilter = savedInstanceState.getString(STATE_ACC_FILTER, null); } Data.lastUpdateDate.addObserver((o, arg) -> {