commit 98a7f035de8ad358602f0071d9ca800648493c8b parent 1cc7709878f1492d7d9fbdc81fcd68ff8822dac7 Author: Moyin <madeyemi@mozilla.com> Date: Thu, 27 Nov 2025 15:17:11 +0000 Bug 2001148 - Remove share in simple toolbar when tabstrip is enabled r=android-reviewers,RJ Differential Revision: https://phabricator.services.mozilla.com/D274116 Diffstat:
3 files changed, 6 insertions(+), 46 deletions(-)
diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/browser/TabPreview.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/browser/TabPreview.kt @@ -518,7 +518,6 @@ class TabPreview @JvmOverloads constructor( val settings = context.settings() val isWideWindow = context.isWideWindow() val isTallWindow = context.isTallWindow() - val tabStripEnabled = settings.isTabStripEnabled val shouldUseExpandedToolbar = settings.shouldUseExpandedToolbar val useCustomPrimary = settings.shouldShowToolbarCustomization @@ -526,10 +525,6 @@ class TabPreview @JvmOverloads constructor( ?.toToolbarAction(tab).takeIf { useCustomPrimary } ?: ToolbarAction.NewTab return listOf( - ToolbarActionConfig(ToolbarAction.Share) { - tabStripEnabled && isWideWindow && (!shouldUseExpandedToolbar || !isTallWindow) && - primarySlotAction == ToolbarAction.Share - }, ToolbarActionConfig(primarySlotAction) { (!shouldUseExpandedToolbar || !isTallWindow || isWideWindow) && tab?.content?.url != ABOUT_HOME_URL diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/toolbar/BrowserToolbarMiddleware.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/toolbar/BrowserToolbarMiddleware.kt @@ -750,17 +750,12 @@ class BrowserToolbarMiddleware( private suspend fun buildEndBrowserActions(): List<Action> { val isWideWindow = isWideScreen() val isTallWindow = isTallScreen() - val tabStripEnabled = settings.isTabStripEnabled val shouldUseExpandedToolbar = settings.shouldUseExpandedToolbar val useCustomPrimary = settings.shouldShowToolbarCustomization val primarySlotAction = ShortcutType.fromValue(settings.toolbarSimpleShortcutKey) ?.toToolbarAction().takeIf { useCustomPrimary } ?: ToolbarAction.NewTab val configs = listOf( - ToolbarActionConfig(ToolbarAction.Share) { - tabStripEnabled && isWideWindow && (!shouldUseExpandedToolbar || !isTallWindow) && - primarySlotAction != ToolbarAction.Share - }, ToolbarActionConfig(primarySlotAction) { !shouldUseExpandedToolbar || !isTallWindow || isWideWindow }, diff --git a/mobile/android/fenix/app/src/test/java/org/mozilla/fenix/components/toolbar/BrowserToolbarMiddlewareTest.kt b/mobile/android/fenix/app/src/test/java/org/mozilla/fenix/components/toolbar/BrowserToolbarMiddlewareTest.kt @@ -4,9 +4,6 @@ package org.mozilla.fenix.components.toolbar -import androidx.lifecycle.Lifecycle -import androidx.lifecycle.LifecycleOwner -import androidx.lifecycle.LifecycleRegistry import androidx.navigation.NavController import androidx.navigation.NavDestination import androidx.navigation.NavDirections @@ -1311,9 +1308,11 @@ class BrowserToolbarMiddlewareTest { } @Test - fun `GIVEN the current tab shows a content page WHEN the share button is clicked THEN record telemetry and start sharing the local resource`() = runTest { + fun `GIVEN the current tab shows a content page WHEN the share shortcut is clicked THEN record telemetry and start sharing the local resource`() = runTest { every { settings.isTabStripEnabled } returns true every { settings.shouldUseExpandedToolbar } returns false + every { settings.shouldShowToolbarCustomization } returns true + every { settings.toolbarSimpleShortcutKey } returns ShortcutType.SHARE.value val browserScreenStore = buildBrowserScreenStore() val captureMiddleware = CaptureActionsMiddleware<BrowserState, BrowserAction>() val currentTab = createTab("content://test", private = false) @@ -1344,9 +1343,11 @@ class BrowserToolbarMiddlewareTest { } @Test - fun `GIVEN the current tab shows a normal webpage WHEN the share button is clicked THEN record telemetry and open the share dialog`() { + fun `GIVEN the current tab shows a normal webpage WHEN the share shortcut is clicked THEN record telemetry and open the share dialog`() { every { settings.isTabStripEnabled } returns true every { settings.shouldUseExpandedToolbar } returns false + every { settings.shouldShowToolbarCustomization } returns true + every { settings.toolbarSimpleShortcutKey } returns ShortcutType.SHARE.value every { navController.currentDestination?.id } returns R.id.browserFragment every { navController.navigate(any<NavDirections>(), null) } just Runs val browserScreenStore = buildBrowserScreenStore() @@ -1445,37 +1446,6 @@ class BrowserToolbarMiddlewareTest { } @Test - fun `GIVEN on a wide screen with tabstrip is enabled and not using the extended layout THEN show a share button as browser end action`() { - every { settings.isTabStripEnabled } returns true - every { settings.shouldUseExpandedToolbar } returns false - val browserScreenStore = buildBrowserScreenStore() - val middleware = buildMiddleware( - browserScreenStore = browserScreenStore, - isWideScreen = { true }, - isTallScreen = { false }, - ) - val toolbarStore = buildStore(middleware) - - val shareButton = toolbarStore.state.displayState.browserActionsEnd[0] - assertEquals(expectedShareButton(), shareButton) - } - - @Test - fun `GIVEN short window with tabstrip is enabled and not using the extended layout THEN show a share button as browser end action`() { - every { settings.isTabStripEnabled } returns true - every { settings.shouldUseExpandedToolbar } returns false - val browserScreenStore = buildBrowserScreenStore() - val middleware = buildMiddleware( - browserScreenStore = browserScreenStore, - isWideScreen = { true }, - ) - val toolbarStore = buildStore(middleware) - - val shareButton = toolbarStore.state.displayState.browserActionsEnd[0] - assertEquals(expectedShareButton(), shareButton) - } - - @Test fun `GIVEN on a wide window with tabstrip and extended layout enabled THEN don't show a share button as browser end action`() { every { settings.isTabStripEnabled } returns true every { settings.shouldUseExpandedToolbar } returns true