From fc7a92bf102afaf662b963d41591ed7070cb3d16 Mon Sep 17 00:00:00 2001 From: Grisha Kruglov Date: Thu, 19 Aug 2021 13:54:49 -0700 Subject: [PATCH] Enable recording of history metadata for all builds This allows recording part of history metadata to ride the trains. The UI features are still guarded by the secret settings flag (or, enabled on debug builds). --- app/src/main/java/org/mozilla/fenix/FeatureFlags.kt | 4 ++-- .../main/java/org/mozilla/fenix/browser/BrowserFragment.kt | 4 +--- app/src/main/java/org/mozilla/fenix/components/Core.kt | 7 ++----- app/src/main/java/org/mozilla/fenix/home/HomeFragment.kt | 2 +- .../org/mozilla/fenix/search/awesomebar/AwesomeBarView.kt | 4 ++-- .../org/mozilla/fenix/settings/SecretSettingsFragment.kt | 2 +- app/src/main/java/org/mozilla/fenix/utils/Settings.kt | 6 +++--- 7 files changed, 12 insertions(+), 17 deletions(-) diff --git a/app/src/main/java/org/mozilla/fenix/FeatureFlags.kt b/app/src/main/java/org/mozilla/fenix/FeatureFlags.kt index 7a38cefb84..1b6412354d 100644 --- a/app/src/main/java/org/mozilla/fenix/FeatureFlags.kt +++ b/app/src/main/java/org/mozilla/fenix/FeatureFlags.kt @@ -45,9 +45,9 @@ object FeatureFlags { val showRecentTabsFeature = Config.channel.isNightlyOrDebug /** - * Enables recording of history metadata. + * Enables UI features based on history metadata. */ - val historyMetadataFeature = Config.channel.isDebug + val historyMetadataUIFeature = Config.channel.isDebug /** * Enables the recently saved bookmarks feature in the home screen. 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 1ef5080a44..d88a717c77 100644 --- a/app/src/main/java/org/mozilla/fenix/browser/BrowserFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/browser/BrowserFragment.kt @@ -272,9 +272,7 @@ class BrowserFragment : BaseBrowserFragment(), UserInteractionHandler { override fun onStop() { super.onStop() updateLastBrowseActivity() - if (requireContext().settings().historyMetadataFeature) { - updateHistoryMetadata() - } + updateHistoryMetadata() pwaOnboardingObserver?.stop() } diff --git a/app/src/main/java/org/mozilla/fenix/components/Core.kt b/app/src/main/java/org/mozilla/fenix/components/Core.kt index e39c04bad0..a1a6b8623d 100644 --- a/app/src/main/java/org/mozilla/fenix/components/Core.kt +++ b/app/src/main/java/org/mozilla/fenix/components/Core.kt @@ -208,13 +208,10 @@ class Core( RecordingDevicesMiddleware(context), PromptMiddleware(), AdsTelemetryMiddleware(adsTelemetry), - LastMediaAccessMiddleware() + LastMediaAccessMiddleware(), + HistoryMetadataMiddleware(historyMetadataService) ) - if (context.settings().historyMetadataFeature) { - middlewareList += HistoryMetadataMiddleware(historyMetadataService) - } - BrowserStore( middleware = middlewareList + EngineMiddleware.create(engine) ).apply { diff --git a/app/src/main/java/org/mozilla/fenix/home/HomeFragment.kt b/app/src/main/java/org/mozilla/fenix/home/HomeFragment.kt index e2b4397079..513d5a2692 100644 --- a/app/src/main/java/org/mozilla/fenix/home/HomeFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/home/HomeFragment.kt @@ -270,7 +270,7 @@ class HomeFragment : Fragment() { ) } - if (requireContext().settings().historyMetadataFeature) { + if (requireContext().settings().historyMetadataUIFeature) { historyMetadataFeature.set( feature = HistoryMetadataFeature( homeStore = homeFragmentStore, diff --git a/app/src/main/java/org/mozilla/fenix/search/awesomebar/AwesomeBarView.kt b/app/src/main/java/org/mozilla/fenix/search/awesomebar/AwesomeBarView.kt index 212bfdeb0d..0d8c288abb 100644 --- a/app/src/main/java/org/mozilla/fenix/search/awesomebar/AwesomeBarView.kt +++ b/app/src/main/java/org/mozilla/fenix/search/awesomebar/AwesomeBarView.kt @@ -251,7 +251,7 @@ class AwesomeBarView( val providersToAdd = mutableSetOf() if (state.showHistorySuggestions) { - if (activity.settings().historyMetadataFeature) { + if (activity.settings().historyMetadataUIFeature) { providersToAdd.add(combinedHistoryProvider) } else { providersToAdd.add(historyStorageProvider) @@ -285,7 +285,7 @@ class AwesomeBarView( providersToRemove.add(shortcutsEnginePickerProvider) if (!state.showHistorySuggestions) { - if (activity.settings().historyMetadataFeature) { + if (activity.settings().historyMetadataUIFeature) { providersToRemove.add(combinedHistoryProvider) } else { providersToRemove.add(historyStorageProvider) diff --git a/app/src/main/java/org/mozilla/fenix/settings/SecretSettingsFragment.kt b/app/src/main/java/org/mozilla/fenix/settings/SecretSettingsFragment.kt index 5a989d71a9..2ace1c605b 100644 --- a/app/src/main/java/org/mozilla/fenix/settings/SecretSettingsFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/settings/SecretSettingsFragment.kt @@ -36,7 +36,7 @@ class SecretSettingsFragment : PreferenceFragmentCompat() { requirePreference(R.string.pref_key_history_metadata_feature).apply { isVisible = true - isChecked = context.settings().historyMetadataFeature + isChecked = context.settings().historyMetadataUIFeature onPreferenceChangeListener = object : SharedPreferenceUpdater() { override fun onPreferenceChange(preference: Preference, newValue: Any?): Boolean { val result = super.onPreferenceChange(preference, newValue) diff --git a/app/src/main/java/org/mozilla/fenix/utils/Settings.kt b/app/src/main/java/org/mozilla/fenix/utils/Settings.kt index 93785cbd4b..e3def6db06 100644 --- a/app/src/main/java/org/mozilla/fenix/utils/Settings.kt +++ b/app/src/main/java/org/mozilla/fenix/utils/Settings.kt @@ -1101,10 +1101,10 @@ class Settings(private val appContext: Context) : PreferencesHolder { default = false ) - var historyMetadataFeature by featureFlagPreference( + var historyMetadataUIFeature by featureFlagPreference( appContext.getPreferenceKey(R.string.pref_key_history_metadata_feature), - default = FeatureFlags.historyMetadataFeature, - featureFlag = FeatureFlags.historyMetadataFeature || isHistoryMetadataEnabled + default = FeatureFlags.historyMetadataUIFeature, + featureFlag = FeatureFlags.historyMetadataUIFeature || isHistoryMetadataEnabled ) /**