commit e675f8d742f65eeb8eb8298dad42ecd88ef033e4
parent f999af191f8410aa5c141e9a66d243d100373ef4
Author: rmalicdem <rmalicdem@mozilla.com>
Date: Fri, 28 Nov 2025 00:47:29 +0000
Bug 2002828 - Respect toolbar customization when resolving simple/expanded shortcuts r=android-reviewers,Roger
Differential Revision: https://phabricator.services.mozilla.com/D274327
Diffstat:
7 files changed, 89 insertions(+), 47 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
@@ -487,7 +487,7 @@ class TabPreview @JvmOverloads constructor(
val settings = context.settings()
val isWideScreen = context.isWideWindow()
val tabStripEnabled = settings.isTabStripEnabled
- val shareShortcutEnabled = ShortcutType.fromValue(settings.toolbarSimpleShortcutKey) == ShortcutType.SHARE
+ val shareShortcutEnabled = ShortcutType.fromValue(settings.toolbarSimpleShortcut) == ShortcutType.SHARE
return listOf(
ToolbarActionConfig(ToolbarAction.Share) {
@@ -520,9 +520,8 @@ class TabPreview @JvmOverloads constructor(
val isTallWindow = context.isTallWindow()
val shouldUseExpandedToolbar = settings.shouldUseExpandedToolbar
- val useCustomPrimary = settings.shouldShowToolbarCustomization
- val primarySlotAction = ShortcutType.fromValue(settings.toolbarSimpleShortcutKey)
- ?.toToolbarAction(tab).takeIf { useCustomPrimary } ?: ToolbarAction.NewTab
+ val primarySlotAction = ShortcutType.fromValue(settings.toolbarSimpleShortcut)
+ ?.toToolbarAction(tab) ?: ToolbarAction.NewTab
return listOf(
ToolbarActionConfig(primarySlotAction) {
@@ -548,9 +547,8 @@ class TabPreview @JvmOverloads constructor(
val isTallWindow = context.isTallWindow()
val shouldUseExpandedToolbar = settings.shouldUseExpandedToolbar
- val useCustomPrimary = settings.shouldShowToolbarCustomization
- val primarySlotAction = ShortcutType.fromValue(settings.toolbarExpandedShortcutKey)
- ?.toToolbarAction(tab).takeIf { useCustomPrimary } ?: getBookmarkAction(tab)
+ val primarySlotAction = ShortcutType.fromValue(settings.toolbarExpandedShortcut)
+ ?.toToolbarAction(tab) ?: getBookmarkAction(tab)
return listOf(
ToolbarActionConfig(primarySlotAction) { shouldUseExpandedToolbar && isTallWindow && !isWideWindow },
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
@@ -724,7 +724,7 @@ class BrowserToolbarMiddleware(
private fun buildEndPageActions(): List<Action> {
val isWideScreen = isWideScreen()
val tabStripEnabled = settings.isTabStripEnabled
- val simpleShortcut = ShortcutType.fromValue(settings.toolbarSimpleShortcutKey)
+ val simpleShortcut = ShortcutType.fromValue(settings.toolbarSimpleShortcut)
val translateShortcutEnabled = simpleShortcut == ShortcutType.TRANSLATE
val shareShortcutEnabled = simpleShortcut == ShortcutType.SHARE
@@ -751,9 +751,8 @@ class BrowserToolbarMiddleware(
val isWideWindow = isWideScreen()
val isTallWindow = isTallScreen()
val shouldUseExpandedToolbar = settings.shouldUseExpandedToolbar
- val useCustomPrimary = settings.shouldShowToolbarCustomization
- val primarySlotAction = ShortcutType.fromValue(settings.toolbarSimpleShortcutKey)
- ?.toToolbarAction().takeIf { useCustomPrimary } ?: ToolbarAction.NewTab
+ val primarySlotAction = ShortcutType.fromValue(settings.toolbarSimpleShortcut)
+ ?.toToolbarAction() ?: ToolbarAction.NewTab
val configs = listOf(
ToolbarActionConfig(primarySlotAction) {
@@ -788,9 +787,8 @@ class BrowserToolbarMiddleware(
val isWideWindow = isWideScreen()
val isTallWindow = isTallScreen()
val shouldUseExpandedToolbar = settings.shouldUseExpandedToolbar
- val useCustomPrimary = settings.shouldShowToolbarCustomization
- val primarySlotAction = ShortcutType.fromValue(settings.toolbarExpandedShortcutKey)
- ?.toToolbarAction().takeIf { useCustomPrimary } ?: getBookmarkAction()
+ val primarySlotAction = ShortcutType.fromValue(settings.toolbarExpandedShortcut)
+ ?.toToolbarAction() ?: getBookmarkAction()
return listOf(
ToolbarActionConfig(primarySlotAction) { shouldUseExpandedToolbar && isTallWindow && !isWideWindow },
@@ -994,10 +992,10 @@ class BrowserToolbarMiddleware(
distinctUntilChangedBy { it.pageTranslationStatus }
.collect {
updateEndPageActions(context)
- if (ShortcutType.fromValue(settings.toolbarSimpleShortcutKey) == ShortcutType.TRANSLATE) {
+ if (ShortcutType.fromValue(settings.toolbarSimpleShortcut) == ShortcutType.TRANSLATE) {
updateEndBrowserActions(context)
}
- if (ShortcutType.fromValue(settings.toolbarExpandedShortcutKey) == ShortcutType.TRANSLATE) {
+ if (ShortcutType.fromValue(settings.toolbarExpandedShortcut) == ShortcutType.TRANSLATE) {
updateNavigationActions(context)
}
}
@@ -1013,10 +1011,10 @@ class BrowserToolbarMiddleware(
)
}.collect {
updateStartBrowserActions(context)
- if (ShortcutType.fromValue(settings.toolbarSimpleShortcutKey) == ShortcutType.BACK) {
+ if (ShortcutType.fromValue(settings.toolbarSimpleShortcut) == ShortcutType.BACK) {
updateEndBrowserActions(context)
}
- if (ShortcutType.fromValue(settings.toolbarExpandedShortcutKey) == ShortcutType.BACK) {
+ if (ShortcutType.fromValue(settings.toolbarExpandedShortcut) == ShortcutType.BACK) {
updateNavigationActions(context)
}
}
@@ -1047,10 +1045,10 @@ class BrowserToolbarMiddleware(
it.snackbarState is SnackbarState.BookmarkAdded ||
it.snackbarState is SnackbarState.BookmarkDeleted
}.collect { isBookmarked ->
- if (ShortcutType.fromValue(settings.toolbarSimpleShortcutKey) == ShortcutType.BOOKMARK) {
+ if (ShortcutType.fromValue(settings.toolbarSimpleShortcut) == ShortcutType.BOOKMARK) {
updateEndBrowserActions(context)
}
- if (ShortcutType.fromValue(settings.toolbarExpandedShortcutKey) == ShortcutType.BOOKMARK) {
+ if (ShortcutType.fromValue(settings.toolbarExpandedShortcut) == ShortcutType.BOOKMARK) {
updateNavigationActions(context)
}
}
diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/toolbar/BrowserToolbarMiddleware.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/toolbar/BrowserToolbarMiddleware.kt
@@ -353,9 +353,8 @@ class BrowserToolbarMiddleware(
val isWideWindow = isWideScreen()
val isTallWindow = isTallScreen()
val shouldUseExpandedToolbar = settings.shouldUseExpandedToolbar
- val useCustomPrimary = settings.shouldShowToolbarCustomization && shouldUseExpandedToolbar
- val primarySlotAction = ShortcutType.fromValue(settings.toolbarExpandedShortcutKey)
- ?.toHomeToolbarAction().takeIf { useCustomPrimary } ?: HomeToolbarAction.FakeBookmark
+ val primarySlotAction = ShortcutType.fromValue(settings.toolbarExpandedShortcut)
+ ?.toHomeToolbarAction() ?: HomeToolbarAction.FakeBookmark
return listOf(
HomeToolbarActionConfig(primarySlotAction) {
diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt
@@ -219,6 +219,12 @@ class Settings(
persistDefaultIfNotExists = true,
)
+ val toolbarSimpleShortcut: String
+ get() = when (shouldShowToolbarCustomization) {
+ true -> toolbarSimpleShortcutKey
+ false -> ShortcutType.NEW_TAB.value
+ }
+
/**
* Indicates what expanded toolbar shortcut key is currently selected.
*/
@@ -228,6 +234,12 @@ class Settings(
persistDefaultIfNotExists = true,
)
+ val toolbarExpandedShortcut: String
+ get() = when (shouldShowToolbarCustomization) {
+ true -> toolbarExpandedShortcutKey
+ false -> ShortcutType.BOOKMARK.value
+ }
+
/**
* Indicates if the Pocket recommendations homescreen section should also show sponsored stories.
*/
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
@@ -1312,7 +1312,7 @@ class BrowserToolbarMiddlewareTest {
every { settings.isTabStripEnabled } returns true
every { settings.shouldUseExpandedToolbar } returns false
every { settings.shouldShowToolbarCustomization } returns true
- every { settings.toolbarSimpleShortcutKey } returns ShortcutType.SHARE.value
+ every { settings.toolbarSimpleShortcut } returns ShortcutType.SHARE.value
val browserScreenStore = buildBrowserScreenStore()
val captureMiddleware = CaptureActionsMiddleware<BrowserState, BrowserAction>()
val currentTab = createTab("content://test", private = false)
@@ -1347,7 +1347,7 @@ class BrowserToolbarMiddlewareTest {
every { settings.isTabStripEnabled } returns true
every { settings.shouldUseExpandedToolbar } returns false
every { settings.shouldShowToolbarCustomization } returns true
- every { settings.toolbarSimpleShortcutKey } returns ShortcutType.SHARE.value
+ every { settings.toolbarSimpleShortcut } returns ShortcutType.SHARE.value
every { navController.currentDestination?.id } returns R.id.browserFragment
every { navController.navigate(any<NavDirections>(), null) } just Runs
val browserScreenStore = buildBrowserScreenStore()
@@ -2671,7 +2671,7 @@ class BrowserToolbarMiddlewareTest {
@Test
fun `GIVEN share shortcut is selected THEN update end page actions without share action`() = runTest {
every { settings.isTabStripEnabled } returns false
- every { settings.toolbarSimpleShortcutKey } returns ShortcutType.SHARE.value
+ every { settings.toolbarSimpleShortcut } returns ShortcutType.SHARE.value
val browserScreenStore = buildBrowserScreenStore()
val middleware = buildMiddleware(
browserScreenStore = browserScreenStore,
@@ -2685,7 +2685,7 @@ class BrowserToolbarMiddlewareTest {
@Test
fun `GIVEN translate shortcut is selected THEN update end page actions without translate action`() = runTest {
- every { settings.toolbarSimpleShortcutKey } returns ShortcutType.TRANSLATE.value
+ every { settings.toolbarSimpleShortcut } returns ShortcutType.TRANSLATE.value
val browserScreenStore = buildBrowserScreenStore()
val middleware = buildMiddleware(
browserScreenStore = browserScreenStore,
@@ -2718,7 +2718,7 @@ class BrowserToolbarMiddlewareTest {
)
} answers { browserAnimatorActionCaptor.captured.invoke(true) }
every { settings.shouldShowToolbarCustomization } returns true
- every { settings.toolbarSimpleShortcutKey } returns ShortcutType.HOMEPAGE.value
+ every { settings.toolbarSimpleShortcut } returns ShortcutType.HOMEPAGE.value
val middleware = buildMiddleware()
val toolbarStore = buildStore(middleware)
@@ -2732,7 +2732,7 @@ class BrowserToolbarMiddlewareTest {
fun `GIVEN homepage as new tab is enabled WHEN clicking the homepage button THEN navigate to homepage`() = runTest {
every { settings.enableHomepageAsNewTab } returns true
every { settings.shouldShowToolbarCustomization } returns true
- every { settings.toolbarSimpleShortcutKey } returns ShortcutType.HOMEPAGE.value
+ every { settings.toolbarSimpleShortcut } returns ShortcutType.HOMEPAGE.value
val middleware = buildMiddleware()
val toolbarStore = buildStore(middleware)
@@ -2746,7 +2746,7 @@ class BrowserToolbarMiddlewareTest {
fun `GIVEN expanded toolbar is used and navbar is hidden WHEN building end browser actions THEN use simple toolbar shortcuts`() = runTest {
every { settings.shouldShowToolbarCustomization } returns true
every { settings.shouldUseExpandedToolbar } returns true
- every { settings.toolbarSimpleShortcutKey } returns ShortcutType.HOMEPAGE.value
+ every { settings.toolbarSimpleShortcut } returns ShortcutType.HOMEPAGE.value
val middleware = buildMiddleware(
browserScreenStore = browserScreenStore,
@@ -2762,7 +2762,7 @@ class BrowserToolbarMiddlewareTest {
@Test
fun `GIVEN simple toolbar use add bookmark shortcut AND the current page is not bookmarked WHEN initializing toolbar THEN show Bookmark in end browser actions`() = runTest {
every { settings.shouldShowToolbarCustomization } returns true
- every { settings.toolbarSimpleShortcutKey } returns ShortcutType.BOOKMARK.value
+ every { settings.toolbarSimpleShortcut } returns ShortcutType.BOOKMARK.value
val toolbarStore = buildStore()
val bookmarkButton = toolbarStore.state.displayState.browserActionsEnd[0] as ActionButtonRes
@@ -2772,7 +2772,7 @@ class BrowserToolbarMiddlewareTest {
@Test
fun `GIVEN simple toolbar use add bookmark shortcut AND the current page is bookmarked WHEN initializing toolbar THEN show ACTIVE EditBookmark in end browser actions`() = runTest {
every { settings.shouldShowToolbarCustomization } returns true
- every { settings.toolbarSimpleShortcutKey } returns ShortcutType.BOOKMARK.value
+ every { settings.toolbarSimpleShortcut } returns ShortcutType.BOOKMARK.value
val tab = createTab("https://example.com")
val browserStore = BrowserStore(
@@ -2801,7 +2801,7 @@ class BrowserToolbarMiddlewareTest {
@Test
fun `GIVEN simple toolbar use translate shortcut AND current page is not translated WHEN initializing toolbar THEN show Translate in end browser actions`() = runTest {
every { settings.shouldShowToolbarCustomization } returns true
- every { settings.toolbarSimpleShortcutKey } returns ShortcutType.TRANSLATE.value
+ every { settings.toolbarSimpleShortcut } returns ShortcutType.TRANSLATE.value
val pageTranslationStatus: PageTranslationStatus = mockk(relaxed = true) {
every { isTranslationPossible } returns true
@@ -2820,7 +2820,7 @@ class BrowserToolbarMiddlewareTest {
@Test
fun `GIVEN simple toolbar use translate shortcut AND current page is translated WHEN initializing toolbar THEN show ACTIVE Translate in end browser actions`() = runTest {
every { settings.shouldShowToolbarCustomization } returns true
- every { settings.toolbarSimpleShortcutKey } returns ShortcutType.TRANSLATE.value
+ every { settings.toolbarSimpleShortcut } returns ShortcutType.TRANSLATE.value
val pageTranslationStatus: PageTranslationStatus = mockk(relaxed = true) {
every { isTranslationPossible } returns true
@@ -2839,7 +2839,7 @@ class BrowserToolbarMiddlewareTest {
@Test
fun `GIVEN simple toolbar use homepage shortcut WHEN initializing toolbar THEN show Homepage in end browser actions`() = runTest {
every { settings.shouldShowToolbarCustomization } returns true
- every { settings.toolbarSimpleShortcutKey } returns ShortcutType.HOMEPAGE.value
+ every { settings.toolbarSimpleShortcut } returns ShortcutType.HOMEPAGE.value
val toolbarStore = buildStore()
@@ -2850,7 +2850,7 @@ class BrowserToolbarMiddlewareTest {
@Test
fun `GIVEN simple toolbar use back shortcut AND current page has no history WHEN initializing toolbar THEN show DISABLED Back in end browser actions`() = runTest {
every { settings.shouldShowToolbarCustomization } returns true
- every { settings.toolbarSimpleShortcutKey } returns ShortcutType.BACK.value
+ every { settings.toolbarSimpleShortcut } returns ShortcutType.BACK.value
val toolbarStore = buildStore()
@@ -2861,7 +2861,7 @@ class BrowserToolbarMiddlewareTest {
@Test
fun `GIVEN simple toolbar use back shortcut AND current page has history WHEN initializing toolbar THEN show ACTIVE Back in end browser actions`() = runTest {
every { settings.shouldShowToolbarCustomization } returns true
- every { settings.toolbarSimpleShortcutKey } returns ShortcutType.BACK.value
+ every { settings.toolbarSimpleShortcut } returns ShortcutType.BACK.value
val tab = createTab(url = "https://example.com").let {
it.copy(content = it.content.copy(canGoBack = true))
@@ -2886,7 +2886,7 @@ class BrowserToolbarMiddlewareTest {
fun `GIVEN simple toolbar use share shortcut AND wide window with tabstrip enabled WHEN initializing toolbar THEN only show one Share in end browser actions`() {
every { settings.shouldShowToolbarCustomization } returns true
every { settings.isTabStripEnabled } returns true
- every { settings.toolbarSimpleShortcutKey } returns ShortcutType.SHARE.value
+ every { settings.toolbarSimpleShortcut } returns ShortcutType.SHARE.value
val middleware = buildMiddleware(
appStore = appStore,
@@ -2908,7 +2908,7 @@ class BrowserToolbarMiddlewareTest {
fun `GIVEN expanded toolbar use translate shortcut AND current page is not translated WHEN initializing toolbar THEN show Translate in navigation actions`() = runTest {
every { settings.shouldShowToolbarCustomization } returns true
every { settings.shouldUseExpandedToolbar } returns true
- every { settings.toolbarExpandedShortcutKey } returns ShortcutType.TRANSLATE.value
+ every { settings.toolbarExpandedShortcut } returns ShortcutType.TRANSLATE.value
val pageTranslationStatus: PageTranslationStatus = mockk(relaxed = true) {
every { isTranslationPossible } returns true
@@ -2928,7 +2928,7 @@ class BrowserToolbarMiddlewareTest {
fun `GIVEN expanded toolbar use translate shortcut AND current page is translated WHEN initializing toolbar THEN show ACTIVE Translate in navigation actions`() = runTest {
every { settings.shouldShowToolbarCustomization } returns true
every { settings.shouldUseExpandedToolbar } returns true
- every { settings.toolbarExpandedShortcutKey } returns ShortcutType.TRANSLATE.value
+ every { settings.toolbarExpandedShortcut } returns ShortcutType.TRANSLATE.value
val pageTranslationStatus: PageTranslationStatus = mockk(relaxed = true) {
every { isTranslationPossible } returns true
@@ -2948,7 +2948,7 @@ class BrowserToolbarMiddlewareTest {
fun `GIVEN expanded toolbar use homepage shortcut WHEN initializing toolbar THEN show Homepage in navigation actions`() = runTest {
every { settings.shouldUseExpandedToolbar } returns true
every { settings.shouldShowToolbarCustomization } returns true
- every { settings.toolbarExpandedShortcutKey } returns ShortcutType.HOMEPAGE.value
+ every { settings.toolbarExpandedShortcut } returns ShortcutType.HOMEPAGE.value
val toolbarStore = buildStore()
@@ -2960,7 +2960,7 @@ class BrowserToolbarMiddlewareTest {
fun `GIVEN expanded toolbar use back shortcut AND current page has no history WHEN initializing toolbar THEN show DISABLED Back in navigation actions`() = runTest {
every { settings.shouldUseExpandedToolbar } returns true
every { settings.shouldShowToolbarCustomization } returns true
- every { settings.toolbarExpandedShortcutKey } returns ShortcutType.BACK.value
+ every { settings.toolbarExpandedShortcut } returns ShortcutType.BACK.value
val toolbarStore = buildStore()
@@ -2972,7 +2972,7 @@ class BrowserToolbarMiddlewareTest {
fun `GIVEN expanded toolbar use back shortcut AND current page has history WHEN initializing toolbar THEN show ACTIVE Back in navigation actions`() = runTest {
every { settings.shouldUseExpandedToolbar } returns true
every { settings.shouldShowToolbarCustomization } returns true
- every { settings.toolbarExpandedShortcutKey } returns ShortcutType.BACK.value
+ every { settings.toolbarExpandedShortcut } returns ShortcutType.BACK.value
val tab = createTab(url = "https://example.com").let {
it.copy(content = it.content.copy(canGoBack = true))
diff --git a/mobile/android/fenix/app/src/test/java/org/mozilla/fenix/home/toolbar/BrowserToolbarMiddlewareTest.kt b/mobile/android/fenix/app/src/test/java/org/mozilla/fenix/home/toolbar/BrowserToolbarMiddlewareTest.kt
@@ -117,7 +117,7 @@ class BrowserToolbarMiddlewareTest {
every { testContext.settings().isTabStripEnabled } returns false
every { testContext.settings().tabManagerEnhancementsEnabled } returns false
every { testContext.settings().shouldShowToolbarCustomization } returns false
- every { testContext.settings().toolbarExpandedShortcutKey } returns ShortcutType.BOOKMARK.value
+ every { testContext.settings().toolbarExpandedShortcut } returns ShortcutType.BOOKMARK.value
}
@Test
@@ -755,7 +755,7 @@ class BrowserToolbarMiddlewareTest {
fun `GIVEN expanded toolbar use translate shortcut WHEN initializing toolbar THEN show DISABLED Translate in navigation actions`() = runTest {
every { testContext.settings().shouldShowToolbarCustomization } returns true
every { testContext.settings().shouldUseExpandedToolbar } returns true
- every { testContext.settings().toolbarExpandedShortcutKey } returns ShortcutType.TRANSLATE.value
+ every { testContext.settings().toolbarExpandedShortcut } returns ShortcutType.TRANSLATE.value
val (_, toolbarStore) = buildMiddlewareAndAddToStore()
@@ -767,7 +767,7 @@ class BrowserToolbarMiddlewareTest {
fun `GIVEN expanded toolbar use homepage shortcut WHEN initializing toolbar THEN show DISABLED Homepage in navigation actions`() = runTest {
every { testContext.settings().shouldShowToolbarCustomization } returns true
every { testContext.settings().shouldUseExpandedToolbar } returns true
- every { testContext.settings().toolbarExpandedShortcutKey } returns ShortcutType.HOMEPAGE.value
+ every { testContext.settings().toolbarExpandedShortcut } returns ShortcutType.HOMEPAGE.value
val (_, toolbarStore) = buildMiddlewareAndAddToStore()
@@ -779,7 +779,7 @@ class BrowserToolbarMiddlewareTest {
fun `GIVEN expanded toolbar use back shortcut WHEN initializing toolbar THEN show DISABLED Back in navigation actions`() = runTest {
every { testContext.settings().shouldShowToolbarCustomization } returns true
every { testContext.settings().shouldUseExpandedToolbar } returns true
- every { testContext.settings().toolbarExpandedShortcutKey } returns ShortcutType.BACK.value
+ every { testContext.settings().toolbarExpandedShortcut } returns ShortcutType.BACK.value
val (_, toolbarStore) = buildMiddlewareAndAddToStore()
diff --git a/mobile/android/fenix/app/src/test/java/org/mozilla/fenix/utils/SettingsTest.kt b/mobile/android/fenix/app/src/test/java/org/mozilla/fenix/utils/SettingsTest.kt
@@ -29,6 +29,7 @@ import org.mozilla.fenix.components.toolbar.ToolbarPosition
import org.mozilla.fenix.nimbus.DefaultBrowserPrompt
import org.mozilla.fenix.nimbus.FakeNimbusEventStore
import org.mozilla.fenix.settings.PhoneFeature
+import org.mozilla.fenix.settings.ShortcutType
import org.mozilla.fenix.settings.deletebrowsingdata.DeleteBrowsingDataOnQuitType
import org.robolectric.RobolectricTestRunner
import java.util.Calendar
@@ -1320,4 +1321,38 @@ class SettingsTest {
val result = settings.termsOfUseAcceptedVersion
assertEquals(0, result)
}
+
+ @Test
+ fun `GIVEN toolbar customization is disabled WHEN reading toolbarSimpleShortcut THEN NEW_TAB is returned regardless of stored key`() {
+ settings.toolbarSimpleShortcutKey = ShortcutType.SHARE.value
+
+ val result = settings.toolbarSimpleShortcut
+ assertEquals(ShortcutType.NEW_TAB.value, result)
+ }
+
+ @Test
+ fun `GIVEN toolbar customization is enabled WHEN reading toolbarSimpleShortcut THEN stored key is returned`() {
+ settings.shouldShowToolbarCustomization = true
+ settings.toolbarSimpleShortcutKey = ShortcutType.SHARE.value
+
+ val result = settings.toolbarSimpleShortcut
+ assertEquals(ShortcutType.SHARE.value, result)
+ }
+
+ @Test
+ fun `GIVEN toolbar customization is disabled WHEN reading toolbarExpandedShortcut THEN BOOKMARK is returned regardless of stored key`() {
+ settings.toolbarExpandedShortcutKey = ShortcutType.NEW_TAB.value
+
+ val result = settings.toolbarExpandedShortcut
+ assertEquals(ShortcutType.BOOKMARK.value, result)
+ }
+
+ @Test
+ fun `GIVEN toolbar customization is enabled WHEN reading toolbarExpandedShortcut THEN stored key is returned`() {
+ settings.shouldShowToolbarCustomization = true
+ settings.toolbarExpandedShortcutKey = ShortcutType.TRANSLATE.value
+
+ val result = settings.toolbarExpandedShortcut
+ assertEquals(ShortcutType.TRANSLATE.value, result)
+ }
}