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.