For #490 - Fixes navigation when selecting a history item
parent
06403f3b3f
commit
a4a9222a94
|
@ -74,7 +74,13 @@ class Core(private val context: Context) {
|
|||
}
|
||||
|
||||
// There's an active bundle with a snapshot: Feed it into the SessionManager.
|
||||
snapshot.await()?.let { sessionManager.restore(it) }
|
||||
snapshot.await()?.let {
|
||||
try {
|
||||
sessionManager.restore(it)
|
||||
} catch (_: IllegalArgumentException) {
|
||||
return@let
|
||||
}
|
||||
}
|
||||
|
||||
// Now that we have restored our previous state (if there's one) let's setup auto saving the state while
|
||||
// the app is used.
|
||||
|
|
|
@ -14,6 +14,7 @@ import android.view.View
|
|||
import android.view.ViewGroup
|
||||
import androidx.appcompat.app.AppCompatActivity
|
||||
import androidx.fragment.app.Fragment
|
||||
import androidx.navigation.NavOptions
|
||||
import androidx.navigation.Navigation
|
||||
import kotlinx.android.synthetic.main.fragment_history.view.*
|
||||
import kotlinx.coroutines.CoroutineScope
|
||||
|
@ -54,8 +55,12 @@ class HistoryFragment : Fragment(), CoroutineScope {
|
|||
getSafeManagedObservable<HistoryAction>()
|
||||
.subscribe {
|
||||
if (it is HistoryAction.Select) {
|
||||
Navigation.findNavController(requireActivity(), R.id.container)
|
||||
.popBackStack(R.id.browserFragment, false)
|
||||
Navigation.findNavController(requireActivity(), R.id.container).apply {
|
||||
navigate(
|
||||
HistoryFragmentDirections.actionGlobalBrowser(null),
|
||||
NavOptions.Builder().setPopUpTo(R.id.homeFragment, false).build()
|
||||
)
|
||||
}
|
||||
|
||||
requireComponents.useCases.sessionUseCases.loadUrl.invoke(it.item.url)
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue