From 8b793cd43ea0b816fece4266c2dbc990e24ceae1 Mon Sep 17 00:00:00 2001 From: Emily Kager Date: Mon, 4 Mar 2019 16:25:34 -0800 Subject: [PATCH] Closes #811 - Clear stack after switching to private browsing --- .../java/org/mozilla/fenix/browser/BrowserFragment.kt | 8 ++++++-- app/src/main/java/org/mozilla/fenix/home/HomeFragment.kt | 4 ++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/org/mozilla/fenix/browser/BrowserFragment.kt b/app/src/main/java/org/mozilla/fenix/browser/BrowserFragment.kt index f5bfe9002..f5989e259 100644 --- a/app/src/main/java/org/mozilla/fenix/browser/BrowserFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/browser/BrowserFragment.kt @@ -16,6 +16,7 @@ import androidx.appcompat.app.AppCompatActivity import androidx.coordinatorlayout.widget.CoordinatorLayout import androidx.core.content.ContextCompat import androidx.fragment.app.Fragment +import androidx.navigation.NavOptions import androidx.navigation.Navigation import com.google.android.material.snackbar.Snackbar import kotlinx.android.synthetic.main.component_search.* @@ -270,10 +271,13 @@ class BrowserFragment : Fragment(), BackHandler { ToolbarMenu.Item.Share -> requireComponents.core.sessionManager .selectedSession?.url?.apply { requireContext().share(this) } ToolbarMenu.Item.NewPrivateTab -> { + val navBuilder = NavOptions.Builder() + val navOptions = navBuilder.setPopUpTo(R.id.homeFragment, false).build() val directions = BrowserFragmentDirections .actionBrowserFragmentToSearchFragment(null) - Navigation.findNavController(view!!).navigate(directions) - (activity as HomeActivity).browsingModeManager.mode = BrowsingModeManager.Mode.Private + Navigation.findNavController(view!!).navigate(directions, navOptions) + (activity as HomeActivity).browsingModeManager.mode = + BrowsingModeManager.Mode.Private } ToolbarMenu.Item.FindInPage -> FindInPageIntegration.launch?.invoke() ToolbarMenu.Item.ReportIssue -> requireComponents.core.sessionManager diff --git a/app/src/main/java/org/mozilla/fenix/home/HomeFragment.kt b/app/src/main/java/org/mozilla/fenix/home/HomeFragment.kt index 455920b31..171ab6de0 100644 --- a/app/src/main/java/org/mozilla/fenix/home/HomeFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/home/HomeFragment.kt @@ -83,6 +83,7 @@ class HomeFragment : Fragment() { return view } + @SuppressWarnings("ComplexMethod") override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) @@ -163,6 +164,9 @@ class HomeFragment : Fragment() { BrowsingModeManager.Mode.Normal -> BrowsingModeManager.Mode.Private BrowsingModeManager.Mode.Private -> BrowsingModeManager.Mode.Normal } + Navigation.findNavController(it).apply { + popBackStack(R.id.nav_graph, false) + } } }