From 272c380755ae594ab7ee70d725d9594381c99dfe Mon Sep 17 00:00:00 2001 From: Kainalu Hagiwara Date: Tue, 28 Jul 2020 09:41:51 -0700 Subject: [PATCH] For #13028 - Add feature flag for tab history. --- app/src/main/java/org/mozilla/fenix/FeatureFlags.kt | 5 +++++ .../java/org/mozilla/fenix/browser/BaseBrowserFragment.kt | 7 +++++-- .../fenix/components/toolbar/BrowserToolbarController.kt | 7 +++++-- 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/org/mozilla/fenix/FeatureFlags.kt b/app/src/main/java/org/mozilla/fenix/FeatureFlags.kt index 9fcc47586..d37025e14 100644 --- a/app/src/main/java/org/mozilla/fenix/FeatureFlags.kt +++ b/app/src/main/java/org/mozilla/fenix/FeatureFlags.kt @@ -33,4 +33,9 @@ object FeatureFlags { * Enables swipe on toolbar to switch tabs */ val swipeToSwitchTabs = Config.channel.isNightlyOrDebug + + /** + * Enables viewing tab history + */ + val tabHistory = Config.channel.isNightlyOrDebug } diff --git a/app/src/main/java/org/mozilla/fenix/browser/BaseBrowserFragment.kt b/app/src/main/java/org/mozilla/fenix/browser/BaseBrowserFragment.kt index 831acd06c..88e151f17 100644 --- a/app/src/main/java/org/mozilla/fenix/browser/BaseBrowserFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/browser/BaseBrowserFragment.kt @@ -766,8 +766,11 @@ abstract class BaseBrowserFragment : Fragment(), UserInteractionHandler, Session } override fun onBackLongPressed(): Boolean { - findNavController().navigate(R.id.action_global_tabHistoryDialogFragment) - return true + if (FeatureFlags.tabHistory) { + findNavController().navigate(R.id.action_global_tabHistoryDialogFragment) + return true + } + return false } /** diff --git a/app/src/main/java/org/mozilla/fenix/components/toolbar/BrowserToolbarController.kt b/app/src/main/java/org/mozilla/fenix/components/toolbar/BrowserToolbarController.kt index 54e342daf..7851cb05f 100644 --- a/app/src/main/java/org/mozilla/fenix/components/toolbar/BrowserToolbarController.kt +++ b/app/src/main/java/org/mozilla/fenix/components/toolbar/BrowserToolbarController.kt @@ -23,6 +23,7 @@ import mozilla.components.concept.engine.prompt.ShareData import mozilla.components.feature.session.SessionFeature import mozilla.components.support.base.feature.ViewBoundFeatureWrapper import mozilla.components.support.ktx.kotlin.isUrl +import org.mozilla.fenix.FeatureFlags import org.mozilla.fenix.HomeActivity import org.mozilla.fenix.NavGraphDirections import org.mozilla.fenix.R @@ -172,10 +173,12 @@ class DefaultBrowserToolbarController( Do exhaustive when (item) { ToolbarMenu.Item.Back -> sessionUseCases.goBack.invoke(currentSession) is ToolbarMenu.Item.Forward -> { - if (item.viewHistory) { + if (FeatureFlags.tabHistory && item.viewHistory) { navController.navigate(R.id.action_global_tabHistoryDialogFragment) - } else { + } else if (!item.viewHistory) { sessionUseCases.goForward.invoke(currentSession) + } else { + // Do nothing if tab history feature flag is off and item.viewHistory is true } } is ToolbarMenu.Item.Reload -> {