From 3fa38d3b2855ce42c0bb01f4cab3ae75a48452a6 Mon Sep 17 00:00:00 2001
From: akwizgran <michael@briarproject.org>
Date: Fri, 9 Mar 2018 15:38:32 +0000
Subject: [PATCH] Finish if back button is pressed in SignOutFragment.

---
 .../android/fragment/SignOutFragment.java     |  3 +--
 .../android/navdrawer/NavDrawerActivity.java  | 19 ++++++++++++-------
 2 files changed, 13 insertions(+), 9 deletions(-)

diff --git a/briar-android/src/main/java/org/briarproject/briar/android/fragment/SignOutFragment.java b/briar-android/src/main/java/org/briarproject/briar/android/fragment/SignOutFragment.java
index 8c014237a2..6d122c6df6 100644
--- a/briar-android/src/main/java/org/briarproject/briar/android/fragment/SignOutFragment.java
+++ b/briar-android/src/main/java/org/briarproject/briar/android/fragment/SignOutFragment.java
@@ -12,7 +12,7 @@ import javax.annotation.Nullable;
 
 public class SignOutFragment extends BaseFragment {
 
-	private static final String TAG = SignOutFragment.class.getName();
+	public static final String TAG = SignOutFragment.class.getName();
 
 	@Override
 	public View onCreateView(LayoutInflater inflater,
@@ -30,5 +30,4 @@ public class SignOutFragment extends BaseFragment {
 	public void injectFragment(ActivityComponent component) {
 		// no need to inject
 	}
-
 }
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 31840b8e2a..a42a1071c7 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
@@ -7,6 +7,7 @@ import android.os.Bundle;
 import android.support.annotation.NonNull;
 import android.support.design.widget.NavigationView;
 import android.support.design.widget.NavigationView.OnNavigationItemSelectedListener;
+import android.support.v4.app.FragmentManager;
 import android.support.v4.app.FragmentTransaction;
 import android.support.v4.content.ContextCompat;
 import android.support.v4.widget.DrawerLayout;
@@ -218,19 +219,23 @@ public class NavDrawerActivity extends BriarActivity implements
 	public void onBackPressed() {
 		if (drawerLayout.isDrawerOpen(START)) {
 			drawerLayout.closeDrawer(START);
-		} else if (getSupportFragmentManager().getBackStackEntryCount() == 0 &&
-				getSupportFragmentManager()
-						.findFragmentByTag(ContactListFragment.TAG) == null) {
+		} else {
+			FragmentManager fm = getSupportFragmentManager();
+			if (fm.findFragmentByTag(SignOutFragment.TAG) != null) {
+				finish();
+			} else if (fm.getBackStackEntryCount() == 0
+					&& fm.findFragmentByTag(ContactListFragment.TAG) == null) {
 			/*
 			 * This makes sure that the first fragment (ContactListFragment) the
 			 * user sees is the same as the last fragment the user sees before
 			 * exiting. This models the typical Google navigation behaviour such
 			 * as in Gmail/Inbox.
 			 */
-			startFragment(ContactListFragment.newInstance(),
-					R.id.nav_btn_contacts);
-		} else {
-			super.onBackPressed();
+				startFragment(ContactListFragment.newInstance(),
+						R.id.nav_btn_contacts);
+			} else {
+				super.onBackPressed();
+			}
 		}
 	}
 
-- 
GitLab