diff --git a/app/src/main/java/org/mozilla/fenix/browser/BrowserFragment.kt b/app/src/main/java/org/mozilla/fenix/browser/BrowserFragment.kt index 89a5ebedc2..d0e985cfc4 100644 --- a/app/src/main/java/org/mozilla/fenix/browser/BrowserFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/browser/BrowserFragment.kt @@ -39,6 +39,7 @@ import org.mozilla.fenix.ext.nav import org.mozilla.fenix.ext.navigateSafe import org.mozilla.fenix.ext.requireComponents import org.mozilla.fenix.ext.settings +import org.mozilla.fenix.ext.runIfFragmentIsAttached import org.mozilla.fenix.shortcut.PwaOnboardingObserver import org.mozilla.fenix.theme.ThemeManager import org.mozilla.fenix.trackingprotection.TrackingProtectionOverlay @@ -256,17 +257,18 @@ class BrowserFragment : BaseBrowserFragment(), UserInteractionHandler { override fun navToTrackingProtectionPanel(tab: SessionState) { val navController = findNavController() - requireComponents.useCases.trackingProtectionUseCases.containsException(tab.id) { contains -> - val isEnabled = tab.trackingProtection.enabled && !contains - val directions = - BrowserFragmentDirections.actionBrowserFragmentToTrackingProtectionPanelDialogFragment( - sessionId = tab.id, - url = tab.content.url, - trackingProtectionEnabled = isEnabled, - gravity = getAppropriateLayoutGravity() - ) - navController.navigateSafe(R.id.browserFragment, directions) + runIfFragmentIsAttached { + val isEnabled = tab.trackingProtection.enabled && !contains + val directions = + BrowserFragmentDirections.actionBrowserFragmentToTrackingProtectionPanelDialogFragment( + sessionId = tab.id, + url = tab.content.url, + trackingProtectionEnabled = isEnabled, + gravity = getAppropriateLayoutGravity() + ) + navController.navigateSafe(R.id.browserFragment, directions) + } } } diff --git a/app/src/main/java/org/mozilla/fenix/components/toolbar/BrowserToolbarView.kt b/app/src/main/java/org/mozilla/fenix/components/toolbar/BrowserToolbarView.kt index 330a58deef..e3f38d0746 100644 --- a/app/src/main/java/org/mozilla/fenix/components/toolbar/BrowserToolbarView.kt +++ b/app/src/main/java/org/mozilla/fenix/components/toolbar/BrowserToolbarView.kt @@ -90,7 +90,6 @@ class BrowserToolbarView( setToolbarBehavior() elevation = resources.getDimension(R.dimen.browser_fragment_toolbar_elevation) - if (!isCustomTabSession) { display.setUrlBackground(getDrawable(R.drawable.search_url_background)) } diff --git a/app/src/main/java/org/mozilla/fenix/customtabs/ExternalAppBrowserFragment.kt b/app/src/main/java/org/mozilla/fenix/customtabs/ExternalAppBrowserFragment.kt index 85f01d40a0..a1d88d9c66 100644 --- a/app/src/main/java/org/mozilla/fenix/customtabs/ExternalAppBrowserFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/customtabs/ExternalAppBrowserFragment.kt @@ -37,6 +37,7 @@ import org.mozilla.fenix.ext.components import org.mozilla.fenix.ext.nav import org.mozilla.fenix.ext.requireComponents import org.mozilla.fenix.ext.settings +import org.mozilla.fenix.ext.runIfFragmentIsAttached /** * Fragment used for browsing the web within external apps. @@ -193,16 +194,18 @@ class ExternalAppBrowserFragment : BaseBrowserFragment(), UserInteractionHandler override fun navToTrackingProtectionPanel(tab: SessionState) { requireComponents.useCases.trackingProtectionUseCases.containsException(tab.id) { contains -> - val isEnabled = tab.trackingProtection.enabled && !contains - val directions = - ExternalAppBrowserFragmentDirections - .actionGlobalTrackingProtectionPanelDialogFragment( - sessionId = tab.id, - url = tab.content.url, - trackingProtectionEnabled = isEnabled, - gravity = getAppropriateLayoutGravity() - ) - nav(R.id.externalAppBrowserFragment, directions) + runIfFragmentIsAttached { + val isEnabled = tab.trackingProtection.enabled && !contains + val directions = + ExternalAppBrowserFragmentDirections + .actionGlobalTrackingProtectionPanelDialogFragment( + sessionId = tab.id, + url = tab.content.url, + trackingProtectionEnabled = isEnabled, + gravity = getAppropriateLayoutGravity() + ) + nav(R.id.externalAppBrowserFragment, directions) + } } }