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