For #26549 - Add Nimbus feature flag for first run onboarding page updates and Jump back in CFR

This commit is contained in:
Gabriel Luong 2022-08-19 11:26:13 -04:00 committed by mergify[bot]
parent 8c0945db3b
commit 6a7f9075ad
4 changed files with 35 additions and 3 deletions

View File

@ -24,10 +24,20 @@ object FeatureFlags {
const val syncAddressesFeature = false const val syncAddressesFeature = false
/** /**
* Enables the on-boarding sync cfr on the home screen. * Enables the onboarding sync CFR on the home screen.
*/ */
val showSynCFR = Config.channel.isDebug val showSynCFR = Config.channel.isDebug
/**
* Enables the onboarding jump back in CFR on the home screen.
*/
const val showJumpBackInCFR = true
/**
* Enables the first run onboarding updates.
*/
const val showFirstRunOnboardingUpdates = false
/** /**
* Enables the "recent" tabs feature in the home screen. * Enables the "recent" tabs feature in the home screen.
*/ */

View File

@ -859,9 +859,10 @@ class Settings(private val appContext: Context) : PreferencesHolder {
/** /**
* Indicates if the jump back in CRF should be shown. * Indicates if the jump back in CRF should be shown.
*/ */
var shouldShowJumpBackInCFR by booleanPreference( var shouldShowJumpBackInCFR by lazyFeatureFlagPreference(
appContext.getPreferenceKey(R.string.pref_key_should_show_jump_back_in_tabs_popup), appContext.getPreferenceKey(R.string.pref_key_should_show_jump_back_in_tabs_popup),
default = true featureFlag = FeatureFlags.showJumpBackInCFR,
default = { onboardScreenSection[OnboardingSection.JUMP_BACK_IN_CFR] == true },
) )
fun getSitePermissionsPhoneFeatureAction( fun getSitePermissionsPhoneFeatureAction(
@ -1226,6 +1227,15 @@ class Settings(private val appContext: Context) : PreferencesHolder {
default = { onboardScreenSection[OnboardingSection.HOME_ONBOARDING_DIALOG] == true }, default = { onboardScreenSection[OnboardingSection.HOME_ONBOARDING_DIALOG] == true },
) )
/**
* Indicates if home onboarding dialog should be shown.
*/
var showFirstRunOnboardingUpdate by lazyFeatureFlagPreference(
appContext.getPreferenceKey(R.string.pref_key_show_first_run_onboarding_update),
featureFlag = FeatureFlags.showFirstRunOnboardingUpdates,
default = { onboardScreenSection[OnboardingSection.FIRST_RUN_ONBOARDING] == true },
)
/** /**
* Indicates if the recent tabs functionality should be visible. * Indicates if the recent tabs functionality should be visible.
* Returns true if the [FeatureFlags.showRecentTabsFeature] and [R.string.pref_key_recent_tabs] are true. * Returns true if the [FeatureFlags.showRecentTabsFeature] and [R.string.pref_key_recent_tabs] are true.

View File

@ -239,6 +239,8 @@
<string name="pref_key_should_show_sync_cfr" translatable="false">pref_key_should_show_sync_cfr</string> <string name="pref_key_should_show_sync_cfr" translatable="false">pref_key_should_show_sync_cfr</string>
<!-- A value of `true` means the home onboarding dialog have not been shown yet --> <!-- A value of `true` means the home onboarding dialog have not been shown yet -->
<string name="pref_key_should_show_home_onboarding_dialog" translatable="false">pref_key_should_show_home_onboarding_dialog</string> <string name="pref_key_should_show_home_onboarding_dialog" translatable="false">pref_key_should_show_home_onboarding_dialog</string>
<!-- A value of `true` means the first run onboarding updates should be shown -->
<string name="pref_key_show_first_run_onboarding_update" translatable="false">pref_key_show_first_run_onboarding_update</string>
<string name="pref_key_debug_settings" translatable="false">pref_key_debug_settings</string> <string name="pref_key_debug_settings" translatable="false">pref_key_debug_settings</string>

View File

@ -49,6 +49,8 @@ features:
"sync-cfr": false, "sync-cfr": false,
"wallpapers": false, "wallpapers": false,
"home-onboarding-dialog": false, "home-onboarding-dialog": false,
"jump-back-in-cfr": false,
"first-run-onboarding": false,
} }
defaults: defaults:
- channel: nightly - channel: nightly
@ -57,6 +59,8 @@ features:
"sync-cfr": false, "sync-cfr": false,
"wallpapers": false, "wallpapers": false,
"home-onboarding-dialog": false, "home-onboarding-dialog": false,
"jump-back-in-cfr": false,
"first-run-onboarding": false,
} }
} }
- channel: developer - channel: developer
@ -65,6 +69,8 @@ features:
"sync-cfr": false, "sync-cfr": false,
"wallpapers": true, "wallpapers": true,
"home-onboarding-dialog": false, "home-onboarding-dialog": false,
"jump-back-in-cfr": false,
"first-run-onboarding": false,
} }
} }
nimbus-validation: nimbus-validation:
@ -336,3 +342,7 @@ types:
description: Wallpapers onboarding dialog. description: Wallpapers onboarding dialog.
home-onboarding-dialog: home-onboarding-dialog:
description: Home onboarding dialog for upgraded users. description: Home onboarding dialog for upgraded users.
jump-back-in-cfr:
description: Jump back in onboarding CFR.
first-run-onboarding:
description: First run onboarding page updates.