Bug 1873991 - Fix customtab crash when nav bar is enabled

fenix/125.0
mike a 5 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.state.content.DownloadState
import mozilla.components.browser.state.store.BrowserStore import mozilla.components.browser.state.store.BrowserStore
import mozilla.components.browser.thumbnails.BrowserThumbnails import mozilla.components.browser.thumbnails.BrowserThumbnails
import mozilla.components.browser.toolbar.BrowserToolbar
import mozilla.components.concept.base.crash.Breadcrumb import mozilla.components.concept.base.crash.Breadcrumb
import mozilla.components.concept.engine.permission.SitePermissions import mozilla.components.concept.engine.permission.SitePermissions
import mozilla.components.concept.engine.prompt.ShareData import mozilla.components.concept.engine.prompt.ShareData
@ -207,6 +208,8 @@ abstract class BaseBrowserFragment :
internal val browserToolbarView: BrowserToolbarView internal val browserToolbarView: BrowserToolbarView
get() = _browserToolbarView!! get() = _browserToolbarView!!
internal lateinit var browserToolbar: BrowserToolbar
protected val readerViewFeature = ViewBoundFeatureWrapper<ReaderViewFeature>() protected val readerViewFeature = ViewBoundFeatureWrapper<ReaderViewFeature>()
protected val thumbnailsFeature = ViewBoundFeatureWrapper<BrowserThumbnails>() protected val thumbnailsFeature = ViewBoundFeatureWrapper<BrowserThumbnails>()
@ -453,6 +456,8 @@ abstract class BaseBrowserFragment :
lifecycleOwner = viewLifecycleOwner, lifecycleOwner = viewLifecycleOwner,
) )
browserToolbar = browserToolbarView.view
if (IncompleteRedesignToolbarFeature(context.settings()).isEnabled) { if (IncompleteRedesignToolbarFeature(context.settings()).isEnabled) {
val toolbarView = if (context.components.settings.toolbarPosition == ToolbarPosition.BOTTOM) { val toolbarView = if (context.components.settings.toolbarPosition == ToolbarPosition.BOTTOM) {
// Should refactor this so there is no added view to remove to begin with // 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.launch
import kotlinx.coroutines.withContext import kotlinx.coroutines.withContext
import mozilla.components.browser.state.state.SessionState 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.WebAppManifestParser
import mozilla.components.concept.engine.manifest.getOrNull import mozilla.components.concept.engine.manifest.getOrNull
import mozilla.components.concept.engine.permission.SitePermissions import mozilla.components.concept.engine.permission.SitePermissions
@ -56,7 +55,6 @@ class ExternalAppBrowserFragment : BaseBrowserFragment() {
val customTabSessionId = customTabSessionId ?: return val customTabSessionId = customTabSessionId ?: return
val activity = requireActivity() val activity = requireActivity()
val components = activity.components val components = activity.components
val toolbar = binding.root.findViewById<BrowserToolbar>(R.id.toolbar)
val manifest = val manifest =
args.webAppManifest?.let { json -> WebAppManifestParser().parse(json).getOrNull() } args.webAppManifest?.let { json -> WebAppManifestParser().parse(json).getOrNull() }
@ -65,7 +63,7 @@ class ExternalAppBrowserFragment : BaseBrowserFragment() {
feature = CustomTabsIntegration( feature = CustomTabsIntegration(
store = requireComponents.core.store, store = requireComponents.core.store,
useCases = requireComponents.useCases.customTabsUseCases, useCases = requireComponents.useCases.customTabsUseCases,
toolbar = toolbar, toolbar = browserToolbar,
sessionId = customTabSessionId, sessionId = customTabSessionId,
activity = activity, activity = activity,
onItemTapped = { browserToolbarInteractor.onBrowserToolbarMenuItemTapped(it) }, onItemTapped = { browserToolbarInteractor.onBrowserToolbarMenuItemTapped(it) },
@ -100,7 +98,7 @@ class ExternalAppBrowserFragment : BaseBrowserFragment() {
} }
}, },
owner = this, owner = this,
view = toolbar, view = browserToolbar,
) )
if (manifest != null) { if (manifest != null) {

Loading…
Cancel
Save