From 09b2ecaecfcd81adf2c01ec6ccddde34f8f8a750 Mon Sep 17 00:00:00 2001 From: goapunk <noobie@goapunks.net> Date: Fri, 6 Jan 2017 15:10:04 +0100 Subject: [PATCH] Check the corresponding NavDrawer item when coming from a notification Signed-off-by: goapunk <noobie@goapunks.net> --- .../android/navdrawer/NavDrawerActivity.java | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/briar-android/src/main/java/org/briarproject/briar/android/navdrawer/NavDrawerActivity.java b/briar-android/src/main/java/org/briarproject/briar/android/navdrawer/NavDrawerActivity.java index f0ff34aedc..f118def4a3 100644 --- a/briar-android/src/main/java/org/briarproject/briar/android/navdrawer/NavDrawerActivity.java +++ b/briar-android/src/main/java/org/briarproject/briar/android/navdrawer/NavDrawerActivity.java @@ -75,13 +75,13 @@ public class NavDrawerActivity extends BriarActivity implements exitIfStartupFailed(intent); // TODO don't create new instances if they are on the stack (#606) if (intent.getBooleanExtra(INTENT_GROUPS, false)) { - startFragment(GroupListFragment.newInstance()); + startFragment(GroupListFragment.newInstance(), R.id.nav_btn_groups); } else if (intent.getBooleanExtra(INTENT_FORUMS, false)) { - startFragment(ForumListFragment.newInstance()); + startFragment(ForumListFragment.newInstance(), R.id.nav_btn_forums); } else if (intent.getBooleanExtra(INTENT_CONTACTS, false)) { - startFragment(ContactListFragment.newInstance()); + startFragment(ContactListFragment.newInstance(), R.id.nav_btn_contacts); } else if (intent.getBooleanExtra(INTENT_BLOGS, false)) { - startFragment(FeedFragment.newInstance()); + startFragment(FeedFragment.newInstance(), R.id.nav_btn_blogs); } setIntent(null); } @@ -117,8 +117,7 @@ public class NavDrawerActivity extends BriarActivity implements transportsView.setAdapter(transportsAdapter); if (state == null) { - navigation.setCheckedItem(R.id.nav_btn_contacts); - startFragment(ContactListFragment.newInstance()); + startFragment(ContactListFragment.newInstance(), R.id.nav_btn_contacts); } if (getIntent() != null) { onNewIntent(getIntent()); @@ -195,8 +194,7 @@ public class NavDrawerActivity extends BriarActivity implements * exiting. This models the typical Google navigation behaviour such * as in Gmail/Inbox. */ - navigation.setCheckedItem(R.id.nav_btn_contacts); - startFragment(ContactListFragment.newInstance()); + startFragment(ContactListFragment.newInstance(), R.id.nav_btn_contacts); } else { super.onBackPressed(); } @@ -221,6 +219,11 @@ public class NavDrawerActivity extends BriarActivity implements super.signOut(); } + private void startFragment(BaseFragment fragment, int itemId){ + navigation.setCheckedItem(itemId); + startFragment(fragment); + } + private void startFragment(BaseFragment fragment) { if (getSupportFragmentManager().getBackStackEntryCount() == 0) startFragment(fragment, false); -- GitLab