diff --git a/app/src/main/java/org/mozilla/fenix/FeatureFlags.kt b/app/src/main/java/org/mozilla/fenix/FeatureFlags.kt index 7a86a524e8..fb55904409 100644 --- a/app/src/main/java/org/mozilla/fenix/FeatureFlags.kt +++ b/app/src/main/java/org/mozilla/fenix/FeatureFlags.kt @@ -102,4 +102,9 @@ object FeatureFlags { * Enables compose on the tabs tray items. */ val composeTabsTray = Config.channel.isDebug + + /** + * Enables the wallpaper onboarding. + */ + val wallpaperOnboardingEnabled = Config.channel.isDebug } 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 fe46a5b9f6..9133025797 100644 --- a/app/src/main/java/org/mozilla/fenix/utils/Settings.kt +++ b/app/src/main/java/org/mozilla/fenix/utils/Settings.kt @@ -195,6 +195,15 @@ class Settings(private val appContext: Context) : PreferencesHolder { default = true ) + /** + * Indicates if the wallpaper onboarding dialog should be shown. + */ + val showWallpaperOnboarding by lazyFeatureFlagPreference( + key = appContext.getPreferenceKey(R.string.pref_key_wallpapers_onboarding), + featureFlag = FeatureFlags.wallpaperOnboardingEnabled, + default = { onboardScreenSection[OnboardingSection.WALLPAPERS] == true }, + ) + var openLinksInAPrivateTab by booleanPreference( appContext.getPreferenceKey(R.string.pref_key_open_links_in_a_private_tab), default = false diff --git a/app/src/main/res/values/preference_keys.xml b/app/src/main/res/values/preference_keys.xml index 5f92548e12..5607f1119f 100644 --- a/app/src/main/res/values/preference_keys.xml +++ b/app/src/main/res/values/preference_keys.xml @@ -204,6 +204,7 @@ pref_key_current_wallpaper pref_key_wallpapers_switched_by_logo_tap pref_key_show_logo_animation + pref_key_wallpapers_onboarding pref_key_encryption_key_generated diff --git a/nimbus.fml.yaml b/nimbus.fml.yaml index e2ffb57db7..241adf9b7c 100644 --- a/nimbus.fml.yaml +++ b/nimbus.fml.yaml @@ -41,13 +41,22 @@ features: type: Map default: { - "sync-cfr": false + "sync-cfr": false, + "wallpapers": false } defaults: - channel: nightly value: { "sections-enabled": { - "sync-cfr": false + "sync-cfr": false, + "wallpapers": false + } + } + - channel: developer + value: { + "sections-enabled": { + "sync-cfr": false, + "wallpapers": true } } nimbus-validation: @@ -327,3 +336,5 @@ types: variants: sync-cfr: description: Sync onboarding CFR. + wallpapers: + description: Wallpapers onboarding dialog.