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