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 dcc42f6c33cdb6ca8e795b023f5644d5594ed4e6..31840b8e2a34000d0629cc7aa9cf415544758b04 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 @@ -22,6 +22,7 @@ import android.widget.ImageView; import android.widget.TextView; import org.briarproject.bramble.api.db.DbException; +import org.briarproject.bramble.api.lifecycle.LifecycleManager; import org.briarproject.bramble.api.plugin.BluetoothConstants; import org.briarproject.bramble.api.plugin.LanTcpConstants; import org.briarproject.bramble.api.plugin.TorConstants; @@ -51,6 +52,7 @@ import static android.support.v4.view.GravityCompat.START; import static android.support.v4.widget.DrawerLayout.LOCK_MODE_LOCKED_CLOSED; import static android.view.View.GONE; import static android.view.View.VISIBLE; +import static org.briarproject.bramble.api.lifecycle.LifecycleManager.LifecycleState.RUNNING; import static org.briarproject.briar.android.BriarService.EXTRA_STARTUP_FAILED; import static org.briarproject.briar.android.activity.RequestCodes.REQUEST_PASSWORD; import static org.briarproject.briar.android.navdrawer.NavDrawerController.ExpiryWarning.NO; @@ -73,6 +75,8 @@ public class NavDrawerActivity extends BriarActivity implements @Inject NavDrawerController controller; + @Inject + LifecycleManager lifecycleManager; private DrawerLayout drawerLayout; private NavigationView navigation; @@ -128,7 +132,9 @@ public class NavDrawerActivity extends BriarActivity implements initializeTransports(getLayoutInflater()); transportsView.setAdapter(transportsAdapter); - if (state == null) { + if (lifecycleManager.getLifecycleState().isAfter(RUNNING)) { + showSignOutFragment(); + } else if (state == null) { startFragment(ContactListFragment.newInstance(), R.id.nav_btn_contacts); } @@ -240,10 +246,15 @@ public class NavDrawerActivity extends BriarActivity implements drawerToggle.onConfigurationChanged(newConfig); } - private void signOut() { + private void showSignOutFragment() { drawerLayout.setDrawerLockMode(LOCK_MODE_LOCKED_CLOSED); startFragment(new SignOutFragment()); + } + + private void signOut() { + drawerLayout.setDrawerLockMode(LOCK_MODE_LOCKED_CLOSED); signOut(false); + finish(); } private void startFragment(BaseFragment fragment, int itemId) {