diff --git a/app/src/main/java/org/mozilla/fenix/tabstray/TabsTrayController.kt b/app/src/main/java/org/mozilla/fenix/tabstray/TabsTrayController.kt index 8c73da20bf..a48e1d622f 100644 --- a/app/src/main/java/org/mozilla/fenix/tabstray/TabsTrayController.kt +++ b/app/src/main/java/org/mozilla/fenix/tabstray/TabsTrayController.kt @@ -536,7 +536,9 @@ class DefaultTabsTrayController( selected.isEmpty() && tabsTrayStore.state.mode.isSelect().not() -> { TabsTray.openedExistingTab.record(TabsTray.OpenedExistingTabExtra(source ?: "unknown")) tabsUseCases.selectTab(tab.id) - browsingModeManager.mode = BrowsingMode.fromBoolean(tab.content.private) + val mode = BrowsingMode.fromBoolean(tab.content.private) + browsingModeManager.mode = mode + appStore.dispatch(AppAction.ModeChange(mode)) handleNavigateToBrowser() } tab.id in selected.map { it.id } -> handleTabUnselected(tab) diff --git a/app/src/test/java/org/mozilla/fenix/tabstray/DefaultTabsTrayControllerTest.kt b/app/src/test/java/org/mozilla/fenix/tabstray/DefaultTabsTrayControllerTest.kt index 82d73cd674..3f522dea41 100644 --- a/app/src/test/java/org/mozilla/fenix/tabstray/DefaultTabsTrayControllerTest.kt +++ b/app/src/test/java/org/mozilla/fenix/tabstray/DefaultTabsTrayControllerTest.kt @@ -63,6 +63,7 @@ import org.mozilla.fenix.collections.CollectionsDialog import org.mozilla.fenix.collections.show import org.mozilla.fenix.components.AppStore import org.mozilla.fenix.components.TabCollectionStorage +import org.mozilla.fenix.components.appstate.AppAction import org.mozilla.fenix.components.bookmarks.BookmarksUseCase import org.mozilla.fenix.ext.maxActiveTime import org.mozilla.fenix.ext.potentialInactiveTabs @@ -958,6 +959,7 @@ class DefaultTabsTrayControllerTest { assertEquals(privateTab.id, browserStore.state.selectedTabId) assertEquals(true, browsingModeManager.mode.isPrivate) + verify { appStore.dispatch(AppAction.ModeChange(BrowsingMode.Private)) } controller.handleTabDeletion("privateTab") browserStore.dispatch(TabListAction.SelectTabAction(normalTab.id)).joinBlocking() @@ -965,6 +967,7 @@ class DefaultTabsTrayControllerTest { assertEquals(normalTab.id, browserStore.state.selectedTabId) assertEquals(false, browsingModeManager.mode.isPrivate) + verify { appStore.dispatch(AppAction.ModeChange(BrowsingMode.Normal)) } } finally { unmockkStatic("mozilla.components.browser.state.selector.SelectorsKt") }