Closes #811 - Clear stack after switching to private browsing
parent
4bc3dae00d
commit
8b793cd43e
|
@ -16,6 +16,7 @@ import androidx.appcompat.app.AppCompatActivity
|
||||||
import androidx.coordinatorlayout.widget.CoordinatorLayout
|
import androidx.coordinatorlayout.widget.CoordinatorLayout
|
||||||
import androidx.core.content.ContextCompat
|
import androidx.core.content.ContextCompat
|
||||||
import androidx.fragment.app.Fragment
|
import androidx.fragment.app.Fragment
|
||||||
|
import androidx.navigation.NavOptions
|
||||||
import androidx.navigation.Navigation
|
import androidx.navigation.Navigation
|
||||||
import com.google.android.material.snackbar.Snackbar
|
import com.google.android.material.snackbar.Snackbar
|
||||||
import kotlinx.android.synthetic.main.component_search.*
|
import kotlinx.android.synthetic.main.component_search.*
|
||||||
|
@ -270,10 +271,13 @@ class BrowserFragment : Fragment(), BackHandler {
|
||||||
ToolbarMenu.Item.Share -> requireComponents.core.sessionManager
|
ToolbarMenu.Item.Share -> requireComponents.core.sessionManager
|
||||||
.selectedSession?.url?.apply { requireContext().share(this) }
|
.selectedSession?.url?.apply { requireContext().share(this) }
|
||||||
ToolbarMenu.Item.NewPrivateTab -> {
|
ToolbarMenu.Item.NewPrivateTab -> {
|
||||||
|
val navBuilder = NavOptions.Builder()
|
||||||
|
val navOptions = navBuilder.setPopUpTo(R.id.homeFragment, false).build()
|
||||||
val directions = BrowserFragmentDirections
|
val directions = BrowserFragmentDirections
|
||||||
.actionBrowserFragmentToSearchFragment(null)
|
.actionBrowserFragmentToSearchFragment(null)
|
||||||
Navigation.findNavController(view!!).navigate(directions)
|
Navigation.findNavController(view!!).navigate(directions, navOptions)
|
||||||
(activity as HomeActivity).browsingModeManager.mode = BrowsingModeManager.Mode.Private
|
(activity as HomeActivity).browsingModeManager.mode =
|
||||||
|
BrowsingModeManager.Mode.Private
|
||||||
}
|
}
|
||||||
ToolbarMenu.Item.FindInPage -> FindInPageIntegration.launch?.invoke()
|
ToolbarMenu.Item.FindInPage -> FindInPageIntegration.launch?.invoke()
|
||||||
ToolbarMenu.Item.ReportIssue -> requireComponents.core.sessionManager
|
ToolbarMenu.Item.ReportIssue -> requireComponents.core.sessionManager
|
||||||
|
|
|
@ -83,6 +83,7 @@ class HomeFragment : Fragment() {
|
||||||
return view
|
return view
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@SuppressWarnings("ComplexMethod")
|
||||||
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
|
||||||
super.onViewCreated(view, savedInstanceState)
|
super.onViewCreated(view, savedInstanceState)
|
||||||
|
|
||||||
|
@ -163,6 +164,9 @@ class HomeFragment : Fragment() {
|
||||||
BrowsingModeManager.Mode.Normal -> BrowsingModeManager.Mode.Private
|
BrowsingModeManager.Mode.Normal -> BrowsingModeManager.Mode.Private
|
||||||
BrowsingModeManager.Mode.Private -> BrowsingModeManager.Mode.Normal
|
BrowsingModeManager.Mode.Private -> BrowsingModeManager.Mode.Normal
|
||||||
}
|
}
|
||||||
|
Navigation.findNavController(it).apply {
|
||||||
|
popBackStack(R.id.nav_graph, false)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue