Bug 1873991 - Fix customtab crash when nav bar is enabled

fenix/125.0
mike a 4 months ago committed by mergify[bot]
parent 68ad8c148e
commit f04a3fd90d

@ -59,6 +59,7 @@ import mozilla.components.browser.state.state.TabSessionState
import mozilla.components.browser.state.state.content.DownloadState
import mozilla.components.browser.state.store.BrowserStore
import mozilla.components.browser.thumbnails.BrowserThumbnails
import mozilla.components.browser.toolbar.BrowserToolbar
import mozilla.components.concept.base.crash.Breadcrumb
import mozilla.components.concept.engine.permission.SitePermissions
import mozilla.components.concept.engine.prompt.ShareData
@ -207,6 +208,8 @@ abstract class BaseBrowserFragment :
internal val browserToolbarView: BrowserToolbarView
get() = _browserToolbarView!!
internal lateinit var browserToolbar: BrowserToolbar
protected val readerViewFeature = ViewBoundFeatureWrapper<ReaderViewFeature>()
protected val thumbnailsFeature = ViewBoundFeatureWrapper<BrowserThumbnails>()
@ -453,6 +456,8 @@ abstract class BaseBrowserFragment :
lifecycleOwner = viewLifecycleOwner,
)
browserToolbar = browserToolbarView.view
if (IncompleteRedesignToolbarFeature(context.settings()).isEnabled) {
val toolbarView = if (context.components.settings.toolbarPosition == ToolbarPosition.BOTTOM) {
// Should refactor this so there is no added view to remove to begin with

@ -14,7 +14,6 @@ import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext
import mozilla.components.browser.state.state.SessionState
import mozilla.components.browser.toolbar.BrowserToolbar
import mozilla.components.concept.engine.manifest.WebAppManifestParser
import mozilla.components.concept.engine.manifest.getOrNull
import mozilla.components.concept.engine.permission.SitePermissions
@ -56,7 +55,6 @@ class ExternalAppBrowserFragment : BaseBrowserFragment() {
val customTabSessionId = customTabSessionId ?: return
val activity = requireActivity()
val components = activity.components
val toolbar = binding.root.findViewById<BrowserToolbar>(R.id.toolbar)
val manifest =
args.webAppManifest?.let { json -> WebAppManifestParser().parse(json).getOrNull() }
@ -65,7 +63,7 @@ class ExternalAppBrowserFragment : BaseBrowserFragment() {
feature = CustomTabsIntegration(
store = requireComponents.core.store,
useCases = requireComponents.useCases.customTabsUseCases,
toolbar = toolbar,
toolbar = browserToolbar,
sessionId = customTabSessionId,
activity = activity,
onItemTapped = { browserToolbarInteractor.onBrowserToolbarMenuItemTapped(it) },
@ -100,7 +98,7 @@ class ExternalAppBrowserFragment : BaseBrowserFragment() {
}
},
owner = this,
view = toolbar,
view = browserToolbar,
)
if (manifest != null) {

Loading…
Cancel
Save