1
0
Fork 0

Closes #811 - Clear stack after switching to private browsing

master
Emily Kager 2019-03-04 16:25:34 -08:00 committed by Emily Kager
parent 4bc3dae00d
commit 8b793cd43e
2 changed files with 10 additions and 2 deletions

View File

@ -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

View File

@ -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)
}
}
}