diff --git a/patches/block-cookie-banners.patch b/patches/block-cookie-banners.patch
index 4a7e8a4f..097735af 100644
--- a/patches/block-cookie-banners.patch
+++ b/patches/block-cookie-banners.patch
@@ -1,18 +1,8 @@
diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt
-index 9197b274db..f82430aae7 100644
+index 9197b274db..dd608587a0 100644
--- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt
+++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt
-@@ -745,20 +745,20 @@ class Settings(private val appContext: Context) : PreferencesHolder {
- false,
- )
-
-- var shouldUseCookieBannerPrivateMode by lazyFeatureFlagPreference(
-+ var shouldUseCookieBannerPrivateMode by booleanPreference(
- appContext.getPreferenceKey(R.string.pref_key_cookie_banner_private_mode),
-- featureFlag = true,
-- default = { shouldUseCookieBannerPrivateModeDefaultValue },
-+// featureFlag = true,
-+ default = true,
+@@ -752,13 +752,13 @@ class Settings(private val appContext: Context) : PreferencesHolder {
)
val shouldUseCookieBannerPrivateModeDefaultValue: Boolean
@@ -28,16 +18,3 @@ index 9197b274db..f82430aae7 100644
val shouldEnableCookieBannerDetectOnly: Boolean
get() = cookieBannersSection[CookieBannersSection.FEATURE_SETTING_DETECT_ONLY] == 1
-diff --git a/mobile/android/fenix/app/src/main/res/xml/preferences.xml b/mobile/android/fenix/app/src/main/res/xml/preferences.xml
-index 4c6b14bf87..2e4227a392 100644
---- a/mobile/android/fenix/app/src/main/res/xml/preferences.xml
-+++ b/mobile/android/fenix/app/src/main/res/xml/preferences.xml
-@@ -113,7 +113,7 @@
-
-
- .toPageUiData(
@@ -105,16 +68,8 @@ index 795fcd7b7e..5c0cb8796e 100644
}
}
-@@ -112,7 +112,6 @@ private fun OnboardingCardData.toPageUiData(privacyCaption: Caption?) = Onboardi
- themeOptions = extraData?.customizationThemeData
- ?.takeIf { it.isNotEmpty() }
- ?.toOnboardingThemeOptions(),
-- termsOfService = extraData?.termOfServiceData?.toOnboardingTermsOfService(),
- marketingData = extraData?.marketingData?.toOnboardingMarketingData(),
- )
-
diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/onboarding/view/TermsOfServiceOnboardingPage.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/onboarding/view/TermsOfServiceOnboardingPage.kt
-index 10488889d7..02572c03a1 100644
+index 10488889d7..f916d94cc9 100644
--- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/onboarding/view/TermsOfServiceOnboardingPage.kt
+++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/onboarding/view/TermsOfServiceOnboardingPage.kt
@@ -135,22 +135,22 @@ private fun BodyText(
@@ -122,18 +77,16 @@ index 10488889d7..02572c03a1 100644
) {
val lineOneState = LinkTextState(
- text = it.lineOneLinkText,
-- url = it.lineOneLinkUrl,
-- onClick = eventHandler::onTermsOfServiceLinkClicked,
+ text = "",
-+ url = "",
+ url = it.lineOneLinkUrl,
+- onClick = eventHandler::onTermsOfServiceLinkClicked,
+ onClick = {},
)
val lineTwoState = LinkTextState(
- text = it.lineTwoLinkText,
-- url = it.lineTwoLinkUrl,
-- onClick = eventHandler::onPrivacyNoticeLinkClicked,
+ text = "",
-+ url = "",
+ url = it.lineTwoLinkUrl,
+- onClick = eventHandler::onPrivacyNoticeLinkClicked,
+ onClick = {},
)
val lineThreeState = LinkTextState(
@@ -167,29 +120,6 @@ index 10488889d7..02572c03a1 100644
linkTextStates = listOf(
lineThreeState,
),
-@@ -201,14 +201,14 @@ private fun OnboardingPagePreview() {
- title = stringResource(id = R.string.onboarding_welcome_to_firefox),
- description = stringResource(id = R.string.onboarding_terms_of_service_sub_header_2),
- termsOfService = OnboardingTermsOfService(
-- lineOneText = stringResource(id = R.string.onboarding_term_of_service_line_one_2),
-- lineOneLinkText = stringResource(id = R.string.onboarding_term_of_service_line_one_link_text_2),
-- lineOneLinkUrl = "URL",
-- lineTwoText = stringResource(id = R.string.onboarding_term_of_service_line_two_2),
-- lineTwoLinkText = stringResource(id = R.string.onboarding_term_of_service_line_two_link_text),
-- lineTwoLinkUrl = "URL",
-- lineThreeText = stringResource(id = R.string.onboarding_term_of_service_line_three),
-- lineThreeLinkText = stringResource(id = R.string.onboarding_term_of_service_line_three_link_text),
-+ lineOneText = "",
-+ lineOneLinkText = "",
-+ lineOneLinkUrl = "",
-+ lineTwoText = "",
-+ lineTwoLinkText = "",
-+ lineTwoLinkUrl = "",
-+ lineThreeText = "",
-+ lineThreeLinkText = "",
- ),
- imageRes = R.drawable.ic_firefox,
- primaryButton = Action(
diff --git a/mobile/android/moz.configure b/mobile/android/moz.configure
index 0e2a6efdc9..3d7ff4a88f 100644
--- a/mobile/android/moz.configure
@@ -210,36 +140,15 @@ index 0e2a6efdc9..3d7ff4a88f 100644
+
+include("ironfox.configure")
diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt
-index 9197b274db..2d791fa7b7 100644
+index 9197b274db..652a7a4486 100644
--- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt
+++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt
-@@ -395,10 +395,10 @@ class Settings(private val appContext: Context) : PreferencesHolder {
- default = false,
+@@ -438,7 +438,7 @@ class Settings(private val appContext: Context) : PreferencesHolder {
+
+ var shouldShowPrivacyPopWindow by booleanPreference(
+ appContext.getPreferenceKey(R.string.pref_key_privacy_pop_window),
+- default = true,
++ default = false,
)
-- var hasAcceptedTermsOfService by booleanPreference(
-- appContext.getPreferenceKey(R.string.pref_key_terms_accepted),
-- default = false,
-- )
-+ var hasAcceptedTermsOfService = true
-+// appContext.getPreferenceKey(R.string.pref_key_terms_accepted),
-+// default = false,
-+// )
-
- /**
- * The daily usage ping is not normally tied to normal telemetry. We set the default value to
-@@ -436,10 +436,10 @@ class Settings(private val appContext: Context) : PreferencesHolder {
- val shouldShowSecurityPinWarning: Boolean
- get() = secureWarningCount.underMaxCount()
-
-- var shouldShowPrivacyPopWindow by booleanPreference(
-- appContext.getPreferenceKey(R.string.pref_key_privacy_pop_window),
-- default = true,
-- )
-+ var shouldShowPrivacyPopWindow = false
-+// appContext.getPreferenceKey(R.string.pref_key_privacy_pop_window),
-+// default = true,
-+// )
-
var shouldUseLightTheme by booleanPreference(
- appContext.getPreferenceKey(R.string.pref_key_light_theme),
diff --git a/patches/configure-doh.patch b/patches/configure-doh.patch
index 6e575f07..617f9c3a 100644
--- a/patches/configure-doh.patch
+++ b/patches/configure-doh.patch
@@ -197,39 +197,19 @@ index 028be832d6..50bf4971ff 100644
+ val cloudflareFamilyUri = "https://family.cloudflare-dns.com/dns-query"
}
}
-diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/doh/root/DohSettingsScreen.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/doh/root/DohSettingsScreen.kt
-index f290b21561..506412b351 100644
---- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/doh/root/DohSettingsScreen.kt
-+++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/doh/root/DohSettingsScreen.kt
-@@ -556,8 +556,8 @@ private fun ExceptionsRow(onExceptionsClicked: () -> Unit) {
- private fun DohScreenDefaultProviderPreview() {
- FirefoxTheme {
- val provider = Provider.BuiltIn(
-- url = "https://mozilla.cloudflare-dns.com/dns-query",
-- name = "Cloudflare",
-+ url = "https://dns.quad9.net/dns-query",
-+ name = "Quad9",
- default = true,
- )
- DohSettingsScreen(
diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt
-index 9197b274db..68bba5f520 100644
+index 9197b274db..f89b2f7ea6 100644
--- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt
+++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt
-@@ -2362,10 +2362,10 @@ class Settings(private val appContext: Context) : PreferencesHolder {
- /**
- * Indicates whether or not to show the entry point for the DNS over HTTPS settings
+@@ -2364,7 +2364,7 @@ class Settings(private val appContext: Context) : PreferencesHolder {
*/
-- val showDohEntryPoint by lazyFeatureFlagPreference(
-+ val showDohEntryPoint by booleanPreference(
+ val showDohEntryPoint by lazyFeatureFlagPreference(
key = appContext.getPreferenceKey(R.string.pref_key_doh_settings_enabled),
- default = { FxNimbus.features.doh.value().showUi },
-- featureFlag = true,
-+ default = true,
-+// featureFlag = true,
++ default = { true },
+ featureFlag = true,
)
- /**
@@ -2377,7 +2377,7 @@ class Settings(private val appContext: Context) : PreferencesHolder {
*/
private var trrMode by intPreference(
@@ -248,16 +228,3 @@ index 9197b274db..68bba5f520 100644
)
/**
-diff --git a/mobile/android/fenix/app/src/main/res/xml/preferences.xml b/mobile/android/fenix/app/src/main/res/xml/preferences.xml
-index 4c6b14bf87..98eacf1f23 100644
---- a/mobile/android/fenix/app/src/main/res/xml/preferences.xml
-+++ b/mobile/android/fenix/app/src/main/res/xml/preferences.xml
-@@ -107,7 +107,7 @@
-
-
- ()
-+ /*
- try {
+- try {
++/* try {
val userLanguage = Locale.getDefault().language
val locales = listOf(userLanguage)
-@@ -124,6 +125,7 @@ class AddonManager(
+ featuredAddons =
+@@ -123,7 +123,7 @@ class AddonManager(
+ } catch (throwable: Throwable) {
// Do not throw when we fail to fetch the featured add-ons since there can be installed add-ons.
logger.warn("Failed to get the featured add-ons", throwable)
- }
-+ */
+- }
++ }*/
// Build a list of installed extensions that are not built-in extensions.
val installedAddons = installedExtensions
-@@ -134,7 +136,7 @@ class AddonManager(
- Addon.newFromWebExtension(extension, installedState)
- }
-
-- return@withContext featuredAddons + installedAddons
-+ return@withContext installedAddons
- } catch (throwable: Throwable) {
- throw AddonManagerException(throwable)
- }
-diff --git a/mobile/android/android-components/components/feature/addons/src/main/java/mozilla/components/feature/addons/amo/AMOAddonsProvider.kt b/mobile/android/android-components/components/feature/addons/src/main/java/mozilla/components/feature/addons/amo/AMOAddonsProvider.kt
-index bd3ea6e569..1d29839792 100644
---- a/mobile/android/android-components/components/feature/addons/src/main/java/mozilla/components/feature/addons/amo/AMOAddonsProvider.kt
-+++ b/mobile/android/android-components/components/feature/addons/src/main/java/mozilla/components/feature/addons/amo/AMOAddonsProvider.kt
-@@ -38,9 +38,9 @@ import java.util.concurrent.ConcurrentHashMap
- import java.util.concurrent.TimeUnit
-
- internal const val API_VERSION = "api/v4"
--internal const val DEFAULT_SERVER_URL = "https://services.addons.mozilla.org"
--internal const val DEFAULT_COLLECTION_USER = "mozilla"
--internal const val DEFAULT_COLLECTION_NAME = "7e8d6dc651b54ab385fb8791bf9dac"
-+internal const val DEFAULT_SERVER_URL = ""
-+internal const val DEFAULT_COLLECTION_USER = ""
-+internal const val DEFAULT_COLLECTION_NAME = ""
- internal const val COLLECTION_FILE_NAME_PREFIX = "mozilla_components_addon_collection"
- internal const val COLLECTION_FILE_NAME = "${COLLECTION_FILE_NAME_PREFIX}_%s.json"
- internal const val COLLECTION_FILE_NAME_WITH_LANGUAGE = "${COLLECTION_FILE_NAME_PREFIX}_%s_%s.json"
diff --git a/mobile/android/fenix/app/build.gradle b/mobile/android/fenix/app/build.gradle
index d9a6045423..bf9c9237c6 100644
--- a/mobile/android/fenix/app/build.gradle
@@ -71,16 +47,3 @@ index d9a6045423..bf9c9237c6 100644
def deepLinkSchemeValue = "fenix-dev"
buildConfigField "String", "DEEP_LINK_SCHEME", "\"$deepLinkSchemeValue\""
-diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/FeatureFlags.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/FeatureFlags.kt
-index 5ba4561291..cc93a7bf9c 100644
---- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/FeatureFlags.kt
-+++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/FeatureFlags.kt
-@@ -14,7 +14,7 @@ object FeatureFlags {
- * This feature does not only depend on this flag. It requires the AMO collection override to
- * be enabled which is behind the Secret Settings.
- * */
-- val customExtensionCollectionFeature = Config.channel.isNightlyOrDebug || Config.channel.isBeta
-+ val customExtensionCollectionFeature = false
-
- /**
- * Pull-to-refresh allows you to pull the web content down far enough to have the page to
diff --git a/patches/disable-firefox-suggest.patch b/patches/disable-firefox-suggest.patch
index 26cfc54c..5acfe78f 100644
--- a/patches/disable-firefox-suggest.patch
+++ b/patches/disable-firefox-suggest.patch
@@ -11,86 +11,43 @@ index e6c63d7834..6652461ef2 100644
}
requirePreference(R.string.pref_key_show_nonsponsored_suggestions).apply {
isVisible = context.settings().enableFxSuggest
-diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/SecretSettingsFragment.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/SecretSettingsFragment.kt
-index 43bea16286..499ee28bce 100644
---- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/SecretSettingsFragment.kt
-+++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/SecretSettingsFragment.kt
-@@ -148,7 +148,7 @@ class SecretSettingsFragment : PreferenceFragmentCompat() {
- }
-
- requirePreference(R.string.pref_key_enable_fxsuggest).apply {
-- isVisible = FeatureFlags.FX_SUGGEST
-+ isVisible = true
- isChecked = context.settings().enableFxSuggest
- onPreferenceChangeListener = object : Preference.OnPreferenceChangeListener {
- override fun onPreferenceChange(preference: Preference, newValue: Any?): Boolean {
diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt
-index 9197b274db..c704357d27 100644
+index 9197b274db..e3b7082380 100644
--- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt
+++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt
-@@ -2103,17 +2103,17 @@ class Settings(private val appContext: Context) : PreferencesHolder {
- /**
- * Indicates if Firefox Suggest is enabled.
+@@ -2105,7 +2105,7 @@ class Settings(private val appContext: Context) : PreferencesHolder {
*/
-- var enableFxSuggest by lazyFeatureFlagPreference(
-+ var enableFxSuggest by booleanPreference(
+ var enableFxSuggest by lazyFeatureFlagPreference(
key = appContext.getPreferenceKey(R.string.pref_key_enable_fxsuggest),
- default = { FxNimbus.features.fxSuggest.value().enabled },
-- featureFlag = FeatureFlags.FX_SUGGEST,
-+ default = false,
-+// featureFlag = FeatureFlags.FX_SUGGEST,
++ default = { false },
+ featureFlag = FeatureFlags.FX_SUGGEST,
)
- /**
+@@ -2113,7 +2113,7 @@ class Settings(private val appContext: Context) : PreferencesHolder {
* Indicates if boosting AMP/wiki suggestions is enabled.
*/
val boostAmpWikiSuggestions: Boolean
- get() = FxNimbus.features.fxSuggest.value().boostAmpWiki
-+ get() = false
++ get() = true
/**
* Indicates first time engaging with signup
-@@ -2127,21 +2127,21 @@ class Settings(private val appContext: Context) : PreferencesHolder {
- * Indicates if the user has chosen to show sponsored search suggestions in the awesomebar.
- * The default value is computed lazily, and based on whether Firefox Suggest is enabled.
- */
-- var showSponsoredSuggestions by lazyFeatureFlagPreference(
-- key = appContext.getPreferenceKey(R.string.pref_key_show_sponsored_suggestions),
-- default = { enableFxSuggest },
+@@ -2130,7 +2130,7 @@ class Settings(private val appContext: Context) : PreferencesHolder {
+ var showSponsoredSuggestions by lazyFeatureFlagPreference(
+ key = appContext.getPreferenceKey(R.string.pref_key_show_sponsored_suggestions),
+ default = { enableFxSuggest },
- featureFlag = FeatureFlags.FX_SUGGEST,
-- )
-+ var showSponsoredSuggestions = false
-+// key = appContext.getPreferenceKey(R.string.pref_key_show_sponsored_suggestions),
-+// default = { enableFxSuggest },
-+// featureFlag = FeatureFlags.FX_SUGGEST,
-+// )
-
- /**
- * Indicates if the user has chosen to show search suggestions for web content in the
- * awesomebar. The default value is computed lazily, and based on whether Firefox Suggest
- * is enabled.
- */
-- var showNonSponsoredSuggestions by lazyFeatureFlagPreference(
-+ var showNonSponsoredSuggestions by booleanPreference(
- key = appContext.getPreferenceKey(R.string.pref_key_show_nonsponsored_suggestions),
-- default = { enableFxSuggest },
-- featureFlag = FeatureFlags.FX_SUGGEST,
-+ default = false,
-+// featureFlag = FeatureFlags.FX_SUGGEST,
++ featureFlag = false,
)
/**
-diff --git a/mobile/android/fenix/app/src/main/res/xml/search_settings_preferences.xml b/mobile/android/fenix/app/src/main/res/xml/search_settings_preferences.xml
-index f7ca109331..1bcf31ac06 100644
---- a/mobile/android/fenix/app/src/main/res/xml/search_settings_preferences.xml
-+++ b/mobile/android/fenix/app/src/main/res/xml/search_settings_preferences.xml
-@@ -85,7 +85,8 @@
- app:iconSpaceReserved="false"
- android:key="@string/pref_key_show_sponsored_suggestions"
- android:title="@string/preferences_show_sponsored_suggestions"
-- android:summary="@string/preferences_show_sponsored_suggestions_summary" />
-+ android:summary="@string/preferences_show_sponsored_suggestions_summary"
-+ app:isPreferenceVisible="false" />
- = INACTIVE_TAB_MINIMUM_TO_SHOW_AUTO_CLOSE_DIALOG &&
- !closeTabsAfterOneMonth
- }
-@@ -1669,11 +1669,11 @@ class Settings(private val appContext: Context) : PreferencesHolder {
- /**
- * Indicates if sync onboarding CFR should be shown.
- */
-- var showSyncCFR by lazyFeatureFlagPreference(
-- appContext.getPreferenceKey(R.string.pref_key_should_show_sync_cfr),
+ var showSyncCFR by lazyFeatureFlagPreference(
+ appContext.getPreferenceKey(R.string.pref_key_should_show_sync_cfr),
- featureFlag = true,
-- default = { mr2022Sections[Mr2022Section.SYNC_CFR] == true },
-- )
-+ var showSyncCFR = false
-+// appContext.getPreferenceKey(R.string.pref_key_should_show_sync_cfr),
-+// featureFlag = true,
-+// default = { mr2022Sections[Mr2022Section.SYNC_CFR] == true },
-+// )
++ featureFlag = false,
+ default = { mr2022Sections[Mr2022Section.SYNC_CFR] == true },
+ )
- /**
- * Indicates if home onboarding dialog should be shown.
-@@ -1887,10 +1887,10 @@ class Settings(private val appContext: Context) : PreferencesHolder {
- /**
- * Indicates if the search bar CFR should be displayed to the user.
+@@ -1906,7 +1906,7 @@ class Settings(private val appContext: Context) : PreferencesHolder {
*/
-- var shouldShowSearchBarCFR by booleanPreference(
-- key = appContext.getPreferenceKey(R.string.pref_key_should_searchbar_cfr),
-- default = false,
-- )
-+ var shouldShowSearchBarCFR = false
-+// key = appContext.getPreferenceKey(R.string.pref_key_should_searchbar_cfr),
-+// default = false,
-+// )
-
- /**
- * Indicates whether or not to use remote server search configuration.
-@@ -1904,10 +1904,10 @@ class Settings(private val appContext: Context) : PreferencesHolder {
- /**
- * Indicates if the menu CFR should be displayed to the user.
- */
-- var shouldShowMenuCFR by booleanPreference(
-- key = appContext.getPreferenceKey(R.string.pref_key_menu_cfr),
+ var shouldShowMenuCFR by booleanPreference(
+ key = appContext.getPreferenceKey(R.string.pref_key_menu_cfr),
- default = true,
-- )
-+ var shouldShowMenuCFR = false
-+// key = appContext.getPreferenceKey(R.string.pref_key_menu_cfr),
-+// default = true,
-+// )
++ default = false,
+ )
/**
- * Get the current mode for how https-only is enabled.
-@@ -2118,10 +2118,10 @@ class Settings(private val appContext: Context) : PreferencesHolder {
- /**
- * Indicates first time engaging with signup
+@@ -2120,7 +2120,7 @@ class Settings(private val appContext: Context) : PreferencesHolder {
*/
-- var isFirstTimeEngagingWithSignup: Boolean by booleanPreference(
-- appContext.getPreferenceKey(R.string.pref_key_first_time_engage_with_signup),
+ var isFirstTimeEngagingWithSignup: Boolean by booleanPreference(
+ appContext.getPreferenceKey(R.string.pref_key_first_time_engage_with_signup),
- default = true,
-- )
-+ var isFirstTimeEngagingWithSignup: Boolean = false
-+// appContext.getPreferenceKey(R.string.pref_key_first_time_engage_with_signup),
-+// default = true,
-+// )
++ default = false,
+ )
/**
- * Indicates if the user has chosen to show sponsored search suggestions in the awesomebar.
@@ -2273,7 +2273,7 @@ class Settings(private val appContext: Context) : PreferencesHolder {
*/
val shouldShowSetAsDefaultPrompt: Boolean
@@ -321,42 +193,31 @@ index 9197b274db..2b38b6598d 100644
DAYS_BETWEEN_DEFAULT_BROWSER_PROMPTS * ONE_DAY_MS &&
numberOfSetAsDefaultPromptShownTimes < MAX_NUMBER_OF_DEFAULT_BROWSER_PROMPTS &&
coldStartsBetweenSetAsDefaultPrompts >= APP_COLD_STARTS_TO_SHOW_DEFAULT_PROMPT
-@@ -2434,44 +2434,44 @@ class Settings(private val appContext: Context) : PreferencesHolder {
- /**
- * Indicates if the user has completed the setup step for choosing the toolbar location
+@@ -2436,7 +2436,7 @@ class Settings(private val appContext: Context) : PreferencesHolder {
*/
-- var hasCompletedSetupStepToolbar by booleanPreference(
-- key = appContext.getPreferenceKey(R.string.pref_key_setup_step_toolbar),
+ var hasCompletedSetupStepToolbar by booleanPreference(
+ key = appContext.getPreferenceKey(R.string.pref_key_setup_step_toolbar),
- default = false,
-- )
-+ var hasCompletedSetupStepToolbar = true
-+// key = appContext.getPreferenceKey(R.string.pref_key_setup_step_toolbar),
-+// default = false,
-+// )
++ default = true,
+ )
/**
- * Indicates if the user has completed the setup step for choosing the theme
+@@ -2444,7 +2444,7 @@ class Settings(private val appContext: Context) : PreferencesHolder {
*/
-- var hasCompletedSetupStepTheme by booleanPreference(
-- key = appContext.getPreferenceKey(R.string.pref_key_setup_step_theme),
+ var hasCompletedSetupStepTheme by booleanPreference(
+ key = appContext.getPreferenceKey(R.string.pref_key_setup_step_theme),
- default = false,
-- )
-+ var hasCompletedSetupStepTheme = true
-+// key = appContext.getPreferenceKey(R.string.pref_key_setup_step_theme),
-+// default = false,
-+// )
++ default = true,
+ )
/**
- * Indicates if the user has completed the setup step for exploring extensions
+@@ -2452,16 +2452,16 @@ class Settings(private val appContext: Context) : PreferencesHolder {
*/
-- var hasCompletedSetupStepExtensions by booleanPreference(
-- key = appContext.getPreferenceKey(R.string.pref_key_setup_step_extensions),
+ var hasCompletedSetupStepExtensions by booleanPreference(
+ key = appContext.getPreferenceKey(R.string.pref_key_setup_step_extensions),
- default = false,
-- )
-+ var hasCompletedSetupStepExtensions = true
-+// key = appContext.getPreferenceKey(R.string.pref_key_setup_step_extensions),
-+// default = false,
-+// )
++ default = true,
+ )
/**
* Indicates if this is the default browser.
@@ -372,21 +233,11 @@ index 9197b274db..2b38b6598d 100644
/**
* Indicates whether or not to show the checklist feature.
- */
-- var showSetupChecklist by lazyFeatureFlagPreference(
-- key = appContext.getPreferenceKey(R.string.pref_key_setup_checklist_complete),
-- default = {
-- FxNimbus.features.setupChecklist.value().enabled &&
-- canShowAddSearchWidgetPrompt(AppWidgetManager.getInstance(appContext))
-- },
+@@ -2472,6 +2472,6 @@ class Settings(private val appContext: Context) : PreferencesHolder {
+ FxNimbus.features.setupChecklist.value().enabled &&
+ canShowAddSearchWidgetPrompt(AppWidgetManager.getInstance(appContext))
+ },
- featureFlag = true,
-- )
-+ var showSetupChecklist = false
-+// key = appContext.getPreferenceKey(R.string.pref_key_setup_checklist_complete),
-+// default = {
-+// FxNimbus.features.setupChecklist.value().enabled &&
-+// canShowAddSearchWidgetPrompt(AppWidgetManager.getInstance(appContext))
-+// },
-+// featureFlag = true,
-+// )
++ featureFlag = false,
+ )
}
diff --git a/patches/disable-pocket.patch b/patches/disable-pocket.patch
index a884b597..b4c34b78 100644
--- a/patches/disable-pocket.patch
+++ b/patches/disable-pocket.patch
@@ -14,10 +14,10 @@ index 81bf2dd7e2..7a43fac926 100644
private const val SPOCS_ENDPOINT_DELETE_PROFILE_PATH = "user"
private const val SPOCS_PROXY_VERSION_KEY = "version"
diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/pocket/ContentRecommendationsFeatureHelper.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/pocket/ContentRecommendationsFeatureHelper.kt
-index 9e4f378574..ccc52008f5 100644
+index 9e4f378574..f09791f066 100644
--- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/pocket/ContentRecommendationsFeatureHelper.kt
+++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/home/pocket/ContentRecommendationsFeatureHelper.kt
-@@ -44,14 +44,14 @@ object ContentRecommendationsFeatureHelper {
+@@ -44,7 +44,7 @@ object ContentRecommendationsFeatureHelper {
fun isPocketRecommendationsFeatureEnabled(context: Context): Boolean {
val langTag = LocaleManager.getCurrentLocale(context)
?.toLanguageTag() ?: getSystemDefault().toLanguageTag()
@@ -25,14 +25,6 @@ index 9e4f378574..ccc52008f5 100644
+ return false && POCKET_SUPPORTED_LOCALES.contains(langTag)
}
- /**
- * Show Pocket sponsored stories in between Pocket recommended stories on home.
- */
- fun isPocketSponsoredStoriesFeatureEnabled(context: Context): Boolean {
-- return isPocketRecommendationsFeatureEnabled(context)
-+ return false && isPocketRecommendationsFeatureEnabled(context)
- }
-
/**
@@ -61,6 +61,6 @@ object ContentRecommendationsFeatureHelper {
fun isContentRecommendationsFeatureEnabled(context: Context): Boolean {
@@ -43,7 +35,7 @@ index 9e4f378574..ccc52008f5 100644
}
}
diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/SecretSettingsFragment.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/SecretSettingsFragment.kt
-index 43bea16286..84ac3c7d2b 100644
+index 43bea16286..78b04620cc 100644
--- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/SecretSettingsFragment.kt
+++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/SecretSettingsFragment.kt
@@ -114,6 +114,7 @@ class SecretSettingsFragment : PreferenceFragmentCompat() {
@@ -54,86 +46,3 @@ index 43bea16286..84ac3c7d2b 100644
isChecked = context.settings().showContentRecommendations
onPreferenceChangeListener = object : SharedPreferenceUpdater() {
override fun onPreferenceChange(preference: Preference, newValue: Any?): Boolean {
-@@ -199,7 +200,7 @@ class SecretSettingsFragment : PreferenceFragmentCompat() {
- }
-
- requirePreference(R.string.pref_key_custom_sponsored_stories_parameters).apply {
-- isVisible = Config.channel.isNightlyOrDebug
-+ isVisible = false
- }
-
- requirePreference(R.string.pref_key_remote_server_prod).apply {
-diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt
-index 9197b274db..88ab712f7d 100644
---- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt
-+++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt
-@@ -1732,20 +1732,20 @@ class Settings(private val appContext: Context) : PreferencesHolder {
- /**
- * Indicates if the Pocket recommended stories homescreen section should be shown.
- */
-- var showPocketRecommendationsFeature by lazyFeatureFlagPreference(
-- appContext.getPreferenceKey(R.string.pref_key_pocket_homescreen_recommendations),
-- featureFlag = ContentRecommendationsFeatureHelper.isPocketRecommendationsFeatureEnabled(appContext),
-- default = { homescreenSections[HomeScreenSection.POCKET] == true },
-- )
-+ var showPocketRecommendationsFeature = false
-+// appContext.getPreferenceKey(R.string.pref_key_pocket_homescreen_recommendations),
-+// featureFlag = ContentRecommendationsFeatureHelper.isPocketRecommendationsFeatureEnabled(appContext),
-+// default = { homescreenSections[HomeScreenSection.POCKET] == true },
-+// )
-
- /**
- * Indicates if the Pocket recommendations homescreen section should also show sponsored stories.
- */
-- val showPocketSponsoredStories by lazyFeatureFlagPreference(
-- key = appContext.getPreferenceKey(R.string.pref_key_pocket_sponsored_stories),
-- default = { homescreenSections[HomeScreenSection.POCKET_SPONSORED_STORIES] == true },
-- featureFlag = ContentRecommendationsFeatureHelper.isPocketSponsoredStoriesFeatureEnabled(appContext),
-- )
-+ val showPocketSponsoredStories = false
-+// key = appContext.getPreferenceKey(R.string.pref_key_pocket_sponsored_stories),
-+// default = { homescreenSections[HomeScreenSection.POCKET_SPONSORED_STORIES] == true },
-+// featureFlag = ContentRecommendationsFeatureHelper.isPocketSponsoredStoriesFeatureEnabled(appContext),
-+// )
-
- /**
- * Get the profile id to use in the sponsored stories communications with the Pocket endpoint.
-@@ -1768,11 +1768,11 @@ class Settings(private val appContext: Context) : PreferencesHolder {
- /**
- * Indicates if Merino content recommendations should be shown.
- */
-- var showContentRecommendations by lazyFeatureFlagPreference(
-- key = appContext.getPreferenceKey(R.string.pref_key_pocket_content_recommendations),
-- default = { FxNimbus.features.merinoRecommendations.value().enabled },
-- featureFlag = ContentRecommendationsFeatureHelper.isContentRecommendationsFeatureEnabled(appContext),
-- )
-+ var showContentRecommendations = false
-+// key = appContext.getPreferenceKey(R.string.pref_key_pocket_content_recommendations),
-+// default = { FxNimbus.features.merinoRecommendations.value().enabled },
-+// featureFlag = ContentRecommendationsFeatureHelper.isContentRecommendationsFeatureEnabled(appContext),
-+// )
-
- /**
- * Whether or not to display the Pocket sponsored stories parameter secret settings.
-diff --git a/mobile/android/fenix/app/src/main/res/xml/home_preferences.xml b/mobile/android/fenix/app/src/main/res/xml/home_preferences.xml
-index 4fd1f8945a..0044115440 100644
---- a/mobile/android/fenix/app/src/main/res/xml/home_preferences.xml
-+++ b/mobile/android/fenix/app/src/main/res/xml/home_preferences.xml
-@@ -29,13 +29,15 @@
-
-
-+ android:title="@string/customize_toggle_pocket_3"
-+ app:isPreferenceVisible="false" />
-
-
-+ android:title="@string/customize_toggle_pocket_sponsored"
-+ app:isPreferenceVisible="false" />
-
- (R.string.pref_key_enable_compose_logins).apply {
-+ isVisible = true
- isChecked = context.settings().enableComposeLogins
- onPreferenceChangeListener = SharedPreferenceUpdater()
- }
-
- requirePreference(R.string.pref_key_enable_compose_homepage).apply {
-+ isVisible = true
- isChecked = context.settings().enableComposeHomepage
- onPreferenceChangeListener = SharedPreferenceUpdater()
+@@ -86,19 +86,19 @@ class SecretSettingsFragment : PreferenceFragmentCompat() {
}
requirePreference(R.string.pref_key_enable_menu_redesign).apply {
@@ -46,7 +34,7 @@ index 43bea16286..269d107b01 100644
isChecked = context.settings().enableHomepageAsNewTab
onPreferenceChangeListener = SharedPreferenceUpdater()
}
-@@ -124,7 +126,7 @@ class SecretSettingsFragment : PreferenceFragmentCompat() {
+@@ -124,7 +124,7 @@ class SecretSettingsFragment : PreferenceFragmentCompat() {
}
requirePreference(R.string.pref_key_enable_unified_trust_panel).apply {
@@ -56,106 +44,67 @@ index 43bea16286..269d107b01 100644
onPreferenceChangeListener = SharedPreferenceUpdater()
}
diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt
-index 9197b274db..dcd1cc146d 100644
+index 9197b274db..48a36c3810 100644
--- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt
+++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt
-@@ -477,10 +477,10 @@ class Settings(private val appContext: Context) : PreferencesHolder {
- /**
- * Returns true if shortcut suggestions feature should be shown to the user.
+@@ -479,7 +479,7 @@ class Settings(private val appContext: Context) : PreferencesHolder {
*/
-- var isShortcutSuggestionsVisible by lazyFeatureFlagPreference(
-+ var isShortcutSuggestionsVisible by booleanPreference(
+ var isShortcutSuggestionsVisible by lazyFeatureFlagPreference(
key = appContext.getPreferenceKey(R.string.pref_key_enable_shortcuts_suggestions),
- default = { FxNimbus.features.topSitesSuggestions.value().enabled },
-- featureFlag = true,
-+ default = true,
-+// featureFlag = true,
++ default = { true },
+ featureFlag = true,
)
- /**
-@@ -1870,18 +1870,18 @@ class Settings(private val appContext: Context) : PreferencesHolder {
- default = true,
- )
-
-- val feltPrivateBrowsingEnabled by lazyFeatureFlagPreference(
-+ val feltPrivateBrowsingEnabled by booleanPreference(
+@@ -1874,13 +1874,13 @@ class Settings(private val appContext: Context) : PreferencesHolder {
key = appContext.getPreferenceKey(R.string.pref_key_should_enable_felt_privacy),
-- featureFlag = true,
-- default = {
+ featureFlag = true,
+ default = {
- FxNimbus.features.privateBrowsing.value().feltPrivacyEnabled
-- },
-+// featureFlag = true,
-+ default = true,
-+// FxNimbus.features.privateBrowsing.value().feltPrivacyEnabled
-+// },
++ true
+ },
)
-- var shouldUseComposableToolbar by lazyFeatureFlagPreference(
-+ var shouldUseComposableToolbar by booleanPreference(
+ var shouldUseComposableToolbar by lazyFeatureFlagPreference(
key = appContext.getPreferenceKey(R.string.pref_key_enable_composable_toolbar),
- default = { FxNimbus.features.composableToolbar.value().enabled },
-- featureFlag = true,
-+ default = false,
-+// featureFlag = true,
++ default = { false },
+ featureFlag = true,
)
- /**
-@@ -1989,37 +1989,37 @@ class Settings(private val appContext: Context) : PreferencesHolder {
- /**
- * Indicates if the Compose Homepage is enabled.
+@@ -1991,7 +1991,7 @@ class Settings(private val appContext: Context) : PreferencesHolder {
*/
-- var enableComposeHomepage by lazyFeatureFlagPreference(
-+ var enableComposeHomepage by booleanPreference(
+ var enableComposeHomepage by lazyFeatureFlagPreference(
key = appContext.getPreferenceKey(R.string.pref_key_enable_compose_homepage),
- default = { FxNimbus.features.composeHomepage.value().enabled },
-- featureFlag = true,
-+ default = false,
-+// featureFlag = true,
++ default = { false },
+ featureFlag = true,
)
- /**
- * Indicates if the menu redesign is enabled.
+@@ -2000,7 +2000,7 @@ class Settings(private val appContext: Context) : PreferencesHolder {
*/
-- var enableMenuRedesign by lazyFeatureFlagPreference(
-+ var enableMenuRedesign by booleanPreference(
+ var enableMenuRedesign by lazyFeatureFlagPreference(
key = appContext.getPreferenceKey(R.string.pref_key_enable_menu_redesign),
- default = { FxNimbus.features.menuRedesign.value().enabled },
-- featureFlag = true,
-+ default = false,
-+// featureFlag = true,
++ default = { false },
+ featureFlag = true,
)
- /**
- * Indicates if the Homepage as a New Tab is enabled.
+@@ -2009,7 +2009,7 @@ class Settings(private val appContext: Context) : PreferencesHolder {
*/
-- var enableHomepageAsNewTab by lazyFeatureFlagPreference(
-+ var enableHomepageAsNewTab by booleanPreference(
+ var enableHomepageAsNewTab by lazyFeatureFlagPreference(
key = appContext.getPreferenceKey(R.string.pref_key_enable_homepage_as_new_tab),
- default = { FxNimbus.features.homepageAsNewTab.value().enabled },
-- featureFlag = true,
-+ default = false,
-+// featureFlag = true,
++ default = { false },
+ featureFlag = true,
)
- /**
- * Indicates if the Homepage Search Bar is enabled.
+@@ -2018,7 +2018,7 @@ class Settings(private val appContext: Context) : PreferencesHolder {
*/
-- var enableHomepageSearchBar by lazyFeatureFlagPreference(
-+ var enableHomepageSearchBar by booleanPreference(
+ var enableHomepageSearchBar by lazyFeatureFlagPreference(
key = appContext.getPreferenceKey(R.string.pref_key_enable_homepage_searchbar),
- default = { FxNimbus.features.homepageSearchBar.value().enabled },
-- featureFlag = true,
-+ default = false,
-+// featureFlag = true,
++ default = { false },
+ featureFlag = true,
)
- /**
-@@ -2027,7 +2027,7 @@ class Settings(private val appContext: Context) : PreferencesHolder {
- */
- var enableUnifiedTrustPanel by booleanPreference(
- key = appContext.getPreferenceKey(R.string.pref_key_enable_unified_trust_panel),
-- default = FeatureFlags.UNIFIED_TRUST_PANEL,
-+ default = false,
- )
-
- /**
diff --git a/patches/fenix-disable-crash-reporting.patch b/patches/fenix-disable-crash-reporting.patch
index a8bed252..c0a8bfaa 100644
--- a/patches/fenix-disable-crash-reporting.patch
+++ b/patches/fenix-disable-crash-reporting.patch
@@ -18,7 +18,7 @@ index d897b9af6f..086f87d87b 100644
+// isRecoverable
}
diff --git a/mobile/android/android-components/components/lib/crash/src/main/java/mozilla/components/lib/crash/service/GleanCrashReporterService.kt b/mobile/android/android-components/components/lib/crash/src/main/java/mozilla/components/lib/crash/service/GleanCrashReporterService.kt
-index 8efdd24f23..867241ae04 100644
+index 8efdd24f23..99107e9307 100644
--- a/mobile/android/android-components/components/lib/crash/src/main/java/mozilla/components/lib/crash/service/GleanCrashReporterService.kt
+++ b/mobile/android/android-components/components/lib/crash/src/main/java/mozilla/components/lib/crash/service/GleanCrashReporterService.kt
@@ -100,7 +100,7 @@ class GleanCrashReporterService(
@@ -35,98 +35,42 @@ index 8efdd24f23..867241ae04 100644
) : PingCause() {
override fun setMetricsLater() {
- GleanCrash.cause.setLater("os_fault")
-- remoteType?.let { GleanCrash.remoteType.setLater(it) }
-- minidumpHash?.let { GleanCrash.minidumpSha256Hash.setLater(it) }
-+// GleanCrash.cause.setLater("os_fault")
-+// remoteType?.let { GleanCrash.remoteType.setLater(it) }
-+// minidumpHash?.let { GleanCrash.minidumpSha256Hash.setLater(it) }
++/* GleanCrash.cause.setLater("os_fault")
+ remoteType?.let { GleanCrash.remoteType.setLater(it) }
+ minidumpHash?.let { GleanCrash.minidumpSha256Hash.setLater(it) }
- extras?.let(::setExtraMetrics)
-+// extras?.let(::setExtraMetrics)
++ extras?.let(::setExtraMetrics)*/
}
private fun setExtraMetrics(extras: JsonObject) {
-@@ -359,46 +359,46 @@ class GleanCrashReporterService(
+@@ -359,7 +359,7 @@ class GleanCrashReporterService(
// Perform all processing up-front in case an unexpected exception occurs. We don't
// want to partially set Glean metrics. The Glean metric functions do not throw
// exceptions.
- val setMetrics = cause.prepareSetMetrics()
-- var setBreadcrumbs = {}
-- if (breadcrumbs.isNotEmpty()) {
-- val value = Json.decodeFromJsonElement(
-- JsonArray(
-- breadcrumbs.map { breadcrumb ->
-- JsonObject(
-- mapOf(
-- "timestamp" to JsonPrimitive(breadcrumb.timestamp),
-- "category" to JsonPrimitive(breadcrumb.category),
-- "type" to JsonPrimitive(breadcrumb.type),
-- "level" to JsonPrimitive(breadcrumb.level),
-- "message" to JsonPrimitive(breadcrumb.message),
-- "data" to JsonArray(
-- breadcrumb.data.map {
-- JsonObject(
-- mapOf(
-- "key" to JsonPrimitive(it.key),
-- "value" to JsonPrimitive(it.value),
-- ),
-- )
-- },
-- ),
-- ),
-- )
-- },
-- ),
-- )
-- setBreadcrumbs = { GleanCrash.breadcrumbs.set(value) }
++/* val setMetrics = cause.prepareSetMetrics()
+ var setBreadcrumbs = {}
+ if (breadcrumbs.isNotEmpty()) {
+ val value = Json.decodeFromJsonElement(
+@@ -388,17 +388,17 @@ class GleanCrashReporterService(
+ ),
+ )
+ setBreadcrumbs = { GleanCrash.breadcrumbs.set(value) }
- }
-+// val setMetrics = cause.prepareSetMetrics()
-+// var setBreadcrumbs = {}
-+// if (breadcrumbs.isNotEmpty()) {
-+// val value = Json.decodeFromJsonElement(
-+// JsonArray(
-+// breadcrumbs.map { breadcrumb ->
-+// JsonObject(
-+// mapOf(
-+// "timestamp" to JsonPrimitive(breadcrumb.timestamp),
-+// "category" to JsonPrimitive(breadcrumb.category),
-+// "type" to JsonPrimitive(breadcrumb.type),
-+// "level" to JsonPrimitive(breadcrumb.level),
-+// "message" to JsonPrimitive(breadcrumb.message),
-+// "data" to JsonArray(
-+// breadcrumb.data.map {
-+// JsonObject(
-+// mapOf(
-+// "key" to JsonPrimitive(it.key),
-+// "value" to JsonPrimitive(it.value),
-+// ),
-+// )
-+// },
-+// ),
-+// ),
-+// )
-+// },
-+// ),
-+// )
-+// setBreadcrumbs = { GleanCrash.breadcrumbs.set(value) }
-+// }
++ }*/
// Set all metrics and submit the ping. We are guaranteed to not throw any
// exceptions here, so the metrics will never be partially set.
- GleanEnvironment.uptime.setRawNanos(uptimeNanos)
-- GleanCrash.processType.set(processType)
-- GleanCrash.time.set(Date(timeMillis))
-- GleanCrash.startup.set(startup)
-- setMetrics()
-- setBreadcrumbs()
++/* GleanEnvironment.uptime.setRawNanos(uptimeNanos)
+ GleanCrash.processType.set(processType)
+ GleanCrash.time.set(Date(timeMillis))
+ GleanCrash.startup.set(startup)
+ setMetrics()
+ setBreadcrumbs()
- Pings.crash.submit(reason)
-+// GleanEnvironment.uptime.setRawNanos(uptimeNanos)
-+// GleanCrash.processType.set(processType)
-+// GleanCrash.time.set(Date(timeMillis))
-+// GleanCrash.startup.set(startup)
-+// setMetrics()
-+// setBreadcrumbs()
-+// Pings.crash.submit(reason)*/
++ Pings.crash.submit(reason)*/
}
}
}
@@ -139,121 +83,39 @@ index 8efdd24f23..867241ae04 100644
}
}
-@@ -544,17 +544,17 @@ class GleanCrashReporterService(
+@@ -544,7 +544,7 @@ class GleanCrashReporterService(
}
override fun record(crash: Crash.UncaughtExceptionCrash) {
- recordCrashAction(GleanCrashAction.Count(UNCAUGHT_EXCEPTION_KEY))
-- recordCrashAction(
-- GleanCrashAction.Ping(
-- uptimeNanos = uptime(),
-- processType = "main",
-- timeMillis = crash.timestamp,
-- reason = Pings.crashReasonCodes.crash,
-- cause = GleanCrashAction.PingCause.JavaException(crash.throwable.toJson()),
-- breadcrumbs = crash.breadcrumbs.map { it.toBreadcrumb() },
-- ),
++/* recordCrashAction(GleanCrashAction.Count(UNCAUGHT_EXCEPTION_KEY))
+ recordCrashAction(
+ GleanCrashAction.Ping(
+ uptimeNanos = uptime(),
+@@ -554,7 +554,7 @@ class GleanCrashReporterService(
+ cause = GleanCrashAction.PingCause.JavaException(crash.throwable.toJson()),
+ breadcrumbs = crash.breadcrumbs.map { it.toBreadcrumb() },
+ ),
- )
-+// recordCrashAction(GleanCrashAction.Count(UNCAUGHT_EXCEPTION_KEY))
-+// recordCrashAction(
-+// GleanCrashAction.Ping(
-+// uptimeNanos = uptime(),
-+// processType = "main",
-+// timeMillis = crash.timestamp,
-+// reason = Pings.crashReasonCodes.crash,
-+// cause = GleanCrashAction.PingCause.JavaException(crash.throwable.toJson()),
-+// breadcrumbs = crash.breadcrumbs.map { it.toBreadcrumb() },
-+// ),
-+// )
++ )*/
}
private fun getExtrasJson(path: String): JsonObject? {
-@@ -633,50 +633,50 @@ class GleanCrashReporterService(
+@@ -633,7 +633,7 @@ class GleanCrashReporterService(
}
override fun record(crash: Crash.NativeCodeCrash) {
- when (crash.processVisibility) {
-- Crash.NativeCodeCrash.PROCESS_VISIBILITY_MAIN ->
-- recordCrashAction(GleanCrashAction.Count(MAIN_PROCESS_NATIVE_CODE_CRASH_KEY))
-- Crash.NativeCodeCrash.PROCESS_VISIBILITY_FOREGROUND_CHILD ->
-- recordCrashAction(
-- GleanCrashAction.Count(
-- FOREGROUND_CHILD_PROCESS_NATIVE_CODE_CRASH_KEY,
-- ),
-- )
-- Crash.NativeCodeCrash.PROCESS_VISIBILITY_BACKGROUND_CHILD ->
-- recordCrashAction(
-- GleanCrashAction.Count(
-- BACKGROUND_CHILD_PROCESS_NATIVE_CODE_CRASH_KEY,
-- ),
-- )
-- }
--
-- val processType = crash.processType ?: "main"
--
-- if (crash.minidumpPath != null && crash.extrasPath != null) {
-- MinidumpAnalyzer.load()?.run(crash.minidumpPath, crash.extrasPath, false)
-- }
--
-- val extrasJson = crash.extrasPath?.let { getExtrasJson(it) }
--
-- val minidumpHash = crash.minidumpPath?.let { calculateMinidumpHash(it) }
--
-- recordCrashAction(
-- GleanCrashAction.Ping(
-- uptimeNanos = uptime(),
-- processType = processType,
-- timeMillis = crash.timestamp,
-- reason = Pings.crashReasonCodes.crash,
-- cause = GleanCrashAction.PingCause.OsFault(
-- remoteType = crash.remoteType,
-- extras = extrasJson,
-- minidumpHash = minidumpHash,
-- ),
-- breadcrumbs = crash.breadcrumbs.map { it.toBreadcrumb() },
-- ),
++/* when (crash.processVisibility) {
+ Crash.NativeCodeCrash.PROCESS_VISIBILITY_MAIN ->
+ recordCrashAction(GleanCrashAction.Count(MAIN_PROCESS_NATIVE_CODE_CRASH_KEY))
+ Crash.NativeCodeCrash.PROCESS_VISIBILITY_FOREGROUND_CHILD ->
+@@ -673,10 +673,10 @@ class GleanCrashReporterService(
+ ),
+ breadcrumbs = crash.breadcrumbs.map { it.toBreadcrumb() },
+ ),
- )
-+// when (crash.processVisibility) {
-+// Crash.NativeCodeCrash.PROCESS_VISIBILITY_MAIN ->
-+// recordCrashAction(GleanCrashAction.Count(MAIN_PROCESS_NATIVE_CODE_CRASH_KEY))
-+// Crash.NativeCodeCrash.PROCESS_VISIBILITY_FOREGROUND_CHILD ->
-+// recordCrashAction(
-+// GleanCrashAction.Count(
-+// FOREGROUND_CHILD_PROCESS_NATIVE_CODE_CRASH_KEY,
-+// ),
-+// )
-+// Crash.NativeCodeCrash.PROCESS_VISIBILITY_BACKGROUND_CHILD ->
-+// recordCrashAction(
-+// GleanCrashAction.Count(
-+// BACKGROUND_CHILD_PROCESS_NATIVE_CODE_CRASH_KEY,
-+// ),
-+// )
-+// }
-+
-+// val processType = crash.processType ?: "main"
-+
-+// if (crash.minidumpPath != null && crash.extrasPath != null) {
-+// MinidumpAnalyzer.load()?.run(crash.minidumpPath, crash.extrasPath, false)
-+// }
-+
-+// val extrasJson = crash.extrasPath?.let { getExtrasJson(it) }
-+
-+// val minidumpHash = crash.minidumpPath?.let { calculateMinidumpHash(it) }
-+
-+// recordCrashAction(
-+// GleanCrashAction.Ping(
-+// uptimeNanos = uptime(),
-+// processType = processType,
-+// timeMillis = crash.timestamp,
-+// reason = Pings.crashReasonCodes.crash,
-+// cause = GleanCrashAction.PingCause.OsFault(
-+// remoteType = crash.remoteType,
-+// extras = extrasJson,
-+// minidumpHash = minidumpHash,
-+// ),
-+// breadcrumbs = crash.breadcrumbs.map { it.toBreadcrumb() },
-+// ),
-+// )
++ )*/
}
override fun record(throwable: Throwable) {
@@ -310,7 +172,7 @@ index d9a6045423..2f788179ee 100644
try {
def token = new File("${rootDir}/.sentry_token").text.trim()
diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/FenixApplication.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/FenixApplication.kt
-index 13db9f3c83..37fa89c98f 100644
+index 13db9f3c83..6ac6401266 100644
--- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/FenixApplication.kt
+++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/FenixApplication.kt
@@ -504,10 +504,10 @@ open class FenixApplication : LocaleAwareApplication(), Provider {
@@ -318,13 +180,11 @@ index 13db9f3c83..37fa89c98f 100644
private fun setupCrashReporting() {
- components
-- .analytics
-- .crashReporter
++/* components
+ .analytics
+ .crashReporter
- .install(this)
-+// components
-+// .analytics
-+// .crashReporter
-+// .install(this)
++ .install(this)*/
}
protected open fun initializeNimbus() {
@@ -399,7 +259,7 @@ index 36d4b4c349..f9ff9db3bf 100644
}
diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/search/SearchDialogController.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/search/SearchDialogController.kt
-index 6725aa64a0..724b1674cf 100644
+index 6725aa64a0..d3e7f17a86 100644
--- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/search/SearchDialogController.kt
+++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/search/SearchDialogController.kt
@@ -84,13 +84,13 @@ class SearchDialogController(
@@ -407,45 +267,21 @@ index 6725aa64a0..724b1674cf 100644
when (url) {
- "about:crashes" -> {
-+// "about:crashes" -> {
++/* "about:crashes" -> {
// The list of past crashes can be accessed via "settings > about", but desktop and
// fennec users may be used to navigating to "about:crashes". So we intercept this here
// and open the crash list activity instead.
-- activity.startActivity(Intent(activity, CrashListActivity::class.java))
-- store.dispatch(AwesomeBarAction.EngagementFinished(abandoned = false))
+ activity.startActivity(Intent(activity, CrashListActivity::class.java))
+ store.dispatch(AwesomeBarAction.EngagementFinished(abandoned = false))
- }
-+// activity.startActivity(Intent(activity, CrashListActivity::class.java))
-+// store.dispatch(AwesomeBarAction.EngagementFinished(abandoned = false))
-+// }
++ }*/
"about:addons" -> {
val directions =
SearchDialogFragmentDirections.actionGlobalAddonsManagementFragment()
diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt
-index 9197b274db..8e72f5bbf0 100644
+index 9197b274db..77d6eee674 100644
--- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt
+++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt
-@@ -168,7 +168,7 @@ class Settings(private val appContext: Context) : PreferencesHolder {
-
- @VisibleForTesting
- internal val isCrashReportEnabledInBuild: Boolean =
-- BuildConfig.CRASH_REPORTING && Config.channel.isReleased
-+ false
-
- override val preferences: SharedPreferences =
- appContext.getSharedPreferences(FENIX_PREFERENCES, MODE_PRIVATE)
-@@ -369,10 +369,10 @@ class Settings(private val appContext: Context) : PreferencesHolder {
- )
-
- val isCrashReportingEnabled: Boolean
-- get() = isCrashReportEnabledInBuild &&
-+ get() = false &&
- preferences.getBoolean(
- appContext.getPreferenceKey(R.string.pref_key_crash_reporter),
-- true,
-+ false,
- )
-
- val isRemoteDebuggingEnabled by booleanPreference(
@@ -2314,10 +2314,10 @@ class Settings(private val appContext: Context) : PreferencesHolder {
* A user preference indicating that crash reports should always be automatically sent. This can be updated
* through the unsubmitted crash dialog or through data choice preferences.
diff --git a/patches/fenix-disable-nimbus.patch b/patches/fenix-disable-nimbus.patch
index 0e89af84..4d3bb63e 100644
--- a/patches/fenix-disable-nimbus.patch
+++ b/patches/fenix-disable-nimbus.patch
@@ -1,24 +1,16 @@
diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/browser/BrowserFragment.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/browser/BrowserFragment.kt
-index 6611dd53cd..1254a626ac 100644
+index 6611dd53cd..856d86e071 100644
--- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/browser/BrowserFragment.kt
+++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/browser/BrowserFragment.kt
-@@ -172,11 +172,11 @@ class BrowserFragment : BaseBrowserFragment(), UserInteractionHandler {
- return
+@@ -173,7 +173,7 @@ class BrowserFragment : BaseBrowserFragment(), UserInteractionHandler {
}
-- if (
+ if (
- !FxNimbus.features.translations.value().mainFlowToolbarEnabled
-- ) {
-- return
-- }
-+// if (
-+// !FxNimbus.features.translations.value().mainFlowToolbarEnabled
-+// ) {
-+// return
-+// }
-
- val translationsAction = Toolbar.ActionButton(
- AppCompatResources.getDrawable(
++ false
+ ) {
+ return
+ }
diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/menu/MenuDialogFragment.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/menu/MenuDialogFragment.kt
index 1443661bb8..fbec347f11 100644
--- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/menu/MenuDialogFragment.kt
@@ -192,7 +184,7 @@ index 472e3bf5a8..b2a4842c16 100644
initialFrom = translationsDialogState?.initialFrom,
onBackClicked = { translationsVisibility = true },
diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt
-index 9197b274db..326d068e94 100644
+index 9197b274db..c4ca3cb242 100644
--- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt
+++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt
@@ -225,10 +225,10 @@ class Settings(private val appContext: Context) : PreferencesHolder {
@@ -210,31 +202,21 @@ index 9197b274db..326d068e94 100644
var utmParamsKnown by booleanPreference(
appContext.getPreferenceKey(R.string.pref_key_utm_params_known),
-@@ -316,10 +316,10 @@ class Settings(private val appContext: Context) : PreferencesHolder {
- /**
- * Indicates if the wallpaper onboarding dialog should be shown.
- */
-- var showWallpaperOnboarding by lazyFeatureFlagPreference(
-+ var showWallpaperOnboarding by booleanPreference(
+@@ -319,7 +319,7 @@ class Settings(private val appContext: Context) : PreferencesHolder {
+ var showWallpaperOnboarding by lazyFeatureFlagPreference(
key = appContext.getPreferenceKey(R.string.pref_key_wallpapers_onboarding),
-- featureFlag = true,
+ featureFlag = true,
- default = { mr2022Sections[Mr2022Section.WALLPAPERS_SELECTION_TOOL] == true },
-+// featureFlag = true,
-+ default = true,
++ default = { true },
)
var openLinksInAPrivateTab by booleanPreference(
-@@ -332,10 +332,10 @@ class Settings(private val appContext: Context) : PreferencesHolder {
- default = false,
- )
-
-- var privateBrowsingLockedFeatureEnabled by lazyFeatureFlagPreference(
-+ var privateBrowsingLockedFeatureEnabled by booleanPreference(
+@@ -335,7 +335,7 @@ class Settings(private val appContext: Context) : PreferencesHolder {
+ var privateBrowsingLockedFeatureEnabled by lazyFeatureFlagPreference(
key = appContext.getPreferenceKey(R.string.pref_key_private_browsing_locked_enabled),
-- featureFlag = true,
+ featureFlag = true,
- default = { FxNimbus.features.privateBrowsingLock.value().enabled },
-+// featureFlag = true,
-+ default = false,
++ default = { false },
)
var privateBrowsingModeLocked by booleanPreference(
@@ -268,17 +250,12 @@ index 9197b274db..326d068e94 100644
var isFirstNimbusRun: Boolean by booleanPreference(
appContext.getPreferenceKey(R.string.pref_key_is_first_run),
-@@ -1678,10 +1678,10 @@ class Settings(private val appContext: Context) : PreferencesHolder {
- /**
- * Indicates if home onboarding dialog should be shown.
- */
-- var showHomeOnboardingDialog by lazyFeatureFlagPreference(
-+ var showHomeOnboardingDialog by booleanPreference(
+@@ -1681,7 +1681,7 @@ class Settings(private val appContext: Context) : PreferencesHolder {
+ var showHomeOnboardingDialog by lazyFeatureFlagPreference(
appContext.getPreferenceKey(R.string.pref_key_should_show_home_onboarding_dialog),
-- featureFlag = true,
+ featureFlag = true,
- default = { mr2022Sections[Mr2022Section.HOME_ONBOARDING_DIALOG_EXISTING_USERS] == true },
-+// featureFlag = true,
-+ default = true,
++ default = { true },
)
/**
@@ -291,21 +268,16 @@ index 9197b274db..326d068e94 100644
/**
* Returns the height of the bottom toolbar.
-diff --git a/mobile/android/fenix/app/src/main/res/xml/preferences.xml b/mobile/android/fenix/app/src/main/res/xml/preferences.xml
-index 4c6b14bf87..c74795e584 100644
---- a/mobile/android/fenix/app/src/main/res/xml/preferences.xml
-+++ b/mobile/android/fenix/app/src/main/res/xml/preferences.xml
-@@ -227,11 +227,11 @@
- app:iconSpaceReserved="false"
- android:title="@string/preferences_debug_info"
- app:isPreferenceVisible="false" />
--
-+ app:isPreferenceVisible="false" /> -->
- (
+ getPreferenceKey(R.string.pref_key_nimbus_experiments),
+- )?.isVisible = showSecretDebugMenuThisSession
++ )?.isVisible = false
+ findPreference(
+ getPreferenceKey(R.string.pref_key_debug_settings),
+ )?.isVisible = showSecretDebugMenuThisSession
diff --git a/patches/fenix-disable-telemetry.patch b/patches/fenix-disable-telemetry.patch
index 2660efc3..85c97304 100644
--- a/patches/fenix-disable-telemetry.patch
+++ b/patches/fenix-disable-telemetry.patch
@@ -75,7 +75,7 @@ index d3b21828c2..edea7b4d0d 100644
val publicSuffixList by lazyMonitored { PublicSuffixList(context) }
val clipboardHandler by lazyMonitored { ClipboardHandler(context) }
diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/Core.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/Core.kt
-index cfbdaba62c..05f9735c6b 100644
+index cfbdaba62c..8b07a2496c 100644
--- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/Core.kt
+++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/Core.kt
@@ -64,14 +64,14 @@ import mozilla.components.feature.search.SearchApplicationName
@@ -124,38 +124,21 @@ index cfbdaba62c..05f9735c6b 100644
LastMediaAccessMiddleware(),
HistoryMetadataMiddleware(historyMetadataService),
SessionPrioritizationMiddleware(),
-@@ -364,25 +364,25 @@ class Core(
+@@ -364,7 +364,7 @@ class Core(
// Install the "icons" WebExtension to automatically load icons for every visited website.
icons.install(engine, this)
- CoroutineScope(Dispatchers.Main).launch {
-- val readJson = { context.assets.readJSONObject("search/search_telemetry_v2.json") }
-- val providerList = withContext(Dispatchers.IO) {
-- SerpTelemetryRepository(
-- rootStorageDirectory = context.filesDir,
-- readJson = readJson,
-- collectionName = COLLECTION_NAME,
-- serverUrl = if (context.settings().useProductionRemoteSettingsServer) {
-- REMOTE_PROD_ENDPOINT_URL
-- } else {
-- REMOTE_STAGE_ENDPOINT_URL
-- },
-- ).updateProviderList()
++/* CoroutineScope(Dispatchers.Main).launch {
+ val readJson = { context.assets.readJSONObject("search/search_telemetry_v2.json") }
+ val providerList = withContext(Dispatchers.IO) {
+ SerpTelemetryRepository(
+@@ -377,12 +377,12 @@ class Core(
+ REMOTE_STAGE_ENDPOINT_URL
+ },
+ ).updateProviderList()
- }
-+// CoroutineScope(Dispatchers.Main).launch {
-+// val readJson = { context.assets.readJSONObject("search/search_telemetry_v2.json") }
-+// val providerList = withContext(Dispatchers.IO) {
-+// SerpTelemetryRepository(
-+// rootStorageDirectory = context.filesDir,
-+// readJson = readJson,
-+// collectionName = COLLECTION_NAME,
-+// serverUrl = if (context.settings().useProductionRemoteSettingsServer) {
-+// REMOTE_PROD_ENDPOINT_URL
-+// } else {
-+// REMOTE_STAGE_ENDPOINT_URL
-+// },
-+// ).updateProviderList()
-+// }
++ }*/
// Install the "ads" WebExtension to get the links in an partner page.
- adsTelemetry.install(engine, this@apply, providerList)
+// adsTelemetry.install(engine, this@apply, providerList)
@@ -167,30 +150,21 @@ index cfbdaba62c..05f9735c6b 100644
WebNotificationFeature(
context,
-@@ -434,17 +434,17 @@ class Core(
+@@ -434,7 +434,7 @@ class Core(
BrowserIcons(context, client)
}
- val metrics by lazyMonitored {
-- context.components.analytics.metrics
-- }
-+// val metrics by lazyMonitored {
-+// context.components.analytics.metrics
-+// }
++/* val metrics by lazyMonitored {
+ context.components.analytics.metrics
+ }
-- val adsTelemetry by lazyMonitored {
-- AdsTelemetry()
-- }
-+// val adsTelemetry by lazyMonitored {
-+// AdsTelemetry()
-+// }
+@@ -444,7 +444,7 @@ class Core(
-- val searchTelemetry by lazyMonitored {
-- InContentTelemetry()
+ val searchTelemetry by lazyMonitored {
+ InContentTelemetry()
- }
-+// val searchTelemetry by lazyMonitored {
-+// InContentTelemetry()
-+// }
++ }*/
/**
* Shortcut component for managing shortcuts on the device home screen.
@@ -305,7 +279,7 @@ index ea4ff1e0dd..1a63eba455 100644
}
}
diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/metrics/MetricsStorage.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/metrics/MetricsStorage.kt
-index 9d54f66a65..47c4244490 100644
+index 9d54f66a65..ee9cc8e139 100644
--- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/metrics/MetricsStorage.kt
+++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/metrics/MetricsStorage.kt
@@ -13,7 +13,7 @@ import kotlinx.coroutines.withContext
@@ -317,14 +291,12 @@ index 9d54f66a65..47c4244490 100644
import org.mozilla.fenix.utils.Settings
import java.text.SimpleDateFormat
import java.util.Calendar
-@@ -274,8 +274,8 @@ internal class DefaultMetricsStorage(
- * - tracking is still enabled through Nimbus
+@@ -275,7 +275,7 @@ internal class DefaultMetricsStorage(
*/
fun shouldSendGenerally(context: Context): Boolean {
-- return context.settings().adjustCampaignId.isNotEmpty() &&
+ return context.settings().adjustCampaignId.isNotEmpty() &&
- FxNimbus.features.growthData.value().enabled
-+ return false && context.settings().adjustCampaignId.isNotEmpty()
-+// FxNimbus.features.growthData.value().enabled
++ false
}
fun getInstalledTime(context: Context): Long = context.packageManager
@@ -360,7 +332,7 @@ index 13db9f3c83..b0d4f44010 100644
// Attention: Do not invoke any code from a-s in this scope.
val megazordSetup = finishSetupMegazord()
diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/nimbus/controller/NimbusBranchesController.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/nimbus/controller/NimbusBranchesController.kt
-index c1b54d7f27..11b36c5949 100644
+index c1b54d7f27..122a865c84 100644
--- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/nimbus/controller/NimbusBranchesController.kt
+++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/nimbus/controller/NimbusBranchesController.kt
@@ -16,7 +16,7 @@ import org.mozilla.fenix.compose.snackbar.SnackbarState
@@ -372,7 +344,7 @@ index c1b54d7f27..11b36c5949 100644
import org.mozilla.fenix.nimbus.NimbusBranchesAction
import org.mozilla.fenix.nimbus.NimbusBranchesFragment
import org.mozilla.fenix.nimbus.NimbusBranchesFragmentDirections
-@@ -42,34 +42,34 @@ class NimbusBranchesController(
+@@ -42,12 +42,12 @@ class NimbusBranchesController(
) : NimbusBranchesAdapterDelegate {
override fun onBranchItemClicked(branch: Branch) {
@@ -384,56 +356,12 @@ index c1b54d7f27..11b36c5949 100644
updateOptInState(branch)
- if (!telemetryEnabled && !experimentsEnabled) {
-- context.getRootView()?.let { v ->
-- Snackbar.make(
-- snackBarParentView = v,
-- snackbarState = SnackbarState(
-- message = context.getString(R.string.experiments_snackbar),
-- duration = SnackbarState.Duration.Preset.Long,
-- action = Action(
-- label = context.getString(R.string.experiments_snackbar_button),
-- onClick = {
-- navController.navigateWithBreadcrumb(
-- directions = NimbusBranchesFragmentDirections
-- .actionNimbusBranchesFragmentToDataChoicesFragment(),
-- navigateFrom = "NimbusBranchesController",
-- navigateTo = "ActionNimbusBranchesFragmentToDataChoicesFragment",
-- crashReporter = context.components.analytics.crashReporter,
-- )
-- },
-- ),
-- ),
-- ).show()
-- }
-- }
-+// if (!telemetryEnabled && !experimentsEnabled) {
-+// context.getRootView()?.let { v ->
-+// Snackbar.make(
-+// snackBarParentView = v,
-+// snackbarState = SnackbarState(
-+// message = context.getString(R.string.experiments_snackbar),
-+// duration = SnackbarState.Duration.Preset.Long,
-+// action = Action(
-+// label = context.getString(R.string.experiments_snackbar_button),
-+// onClick = {
-+// navController.navigateWithBreadcrumb(
-+// directions = NimbusBranchesFragmentDirections
-+// .actionNimbusBranchesFragmentToDataChoicesFragment(),
-+// navigateFrom = "NimbusBranchesController",
-+// navigateTo = "ActionNimbusBranchesFragmentToDataChoicesFragment",
-+// crashReporter = context.components.analytics.crashReporter,
-+// )
-+// },
-+// ),
-+// ),
-+// ).show()
-+// }
-+// }
- }
-
- private fun updateOptInState(branch: Branch) {
++ if (false) {
+ context.getRootView()?.let { v ->
+ Snackbar.make(
+ snackBarParentView = v,
diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/onboarding/OnboardingFragment.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/onboarding/OnboardingFragment.kt
-index e5ab956ac3..4db7ffc14c 100644
+index e5ab956ac3..c4c45334dd 100644
--- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/onboarding/OnboardingFragment.kt
+++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/onboarding/OnboardingFragment.kt
@@ -29,12 +29,12 @@ import mozilla.components.service.nimbus.messaging.use
@@ -456,21 +384,15 @@ index e5ab956ac3..4db7ffc14c 100644
val settings = requireContext().settings()
- viewLifecycleOwner.lifecycleScope.launch {
-- initializeGlean(
-- requireContext().applicationContext,
-- logger,
-- settings.isTelemetryEnabled,
-- requireComponents.core.client,
-- )
++/* viewLifecycleOwner.lifecycleScope.launch {
+ initializeGlean(
+ requireContext().applicationContext,
+ logger,
+ settings.isTelemetryEnabled,
+ requireComponents.core.client,
+ )
- }
-+// viewLifecycleOwner.lifecycleScope.launch {
-+// initializeGlean(
-+// requireContext().applicationContext,
-+// logger,
-+// settings.isTelemetryEnabled,
-+// requireComponents.core.client,
-+// )
-+// }
++ }*/
if (!settings.isTelemetryEnabled) {
- Pings.onboardingOptOut.setEnabled(true)
@@ -481,7 +403,7 @@ index e5ab956ac3..4db7ffc14c 100644
startMetricsIfEnabled(
diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/search/SearchDialogController.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/search/SearchDialogController.kt
-index 6725aa64a0..17dec89626 100644
+index 6725aa64a0..ae0d1eb0b7 100644
--- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/search/SearchDialogController.kt
+++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/search/SearchDialogController.kt
@@ -97,10 +97,10 @@ class SearchDialogController(
@@ -489,13 +411,11 @@ index 6725aa64a0..17dec89626 100644
store.dispatch(AwesomeBarAction.EngagementFinished(abandoned = false))
}
- "about:glean" -> {
-- val directions = SearchDialogFragmentDirections.actionGleanDebugToolsFragment()
-- navController.navigate(directions)
++/* "about:glean" -> {
+ val directions = SearchDialogFragmentDirections.actionGleanDebugToolsFragment()
+ navController.navigate(directions)
- }
-+// "about:glean" -> {
-+// val directions = SearchDialogFragmentDirections.actionGleanDebugToolsFragment()
-+// navController.navigate(directions)
-+// }
++ }*/
"moz://a" -> openSearchOrUrl(
SupportUtils.getMozillaPageUrl(SupportUtils.MozillaPage.MANIFESTO),
)
@@ -513,10 +433,10 @@ index 43bea16286..8f460115af 100644
onPreferenceChangeListener =
Preference.OnPreferenceChangeListener { _, newValue ->
diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt
-index 9197b274db..5cd8fcfa66 100644
+index 9197b274db..a9ba779426 100644
--- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt
+++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt
-@@ -380,20 +380,20 @@ class Settings(private val appContext: Context) : PreferencesHolder {
+@@ -380,19 +380,19 @@ class Settings(private val appContext: Context) : PreferencesHolder {
default = false,
)
@@ -538,17 +458,13 @@ index 9197b274db..5cd8fcfa66 100644
+// default = false,
+// )
-- var hasMadeMarketingTelemetrySelection by booleanPreference(
-- appContext.getPreferenceKey(R.string.pref_key_marketing_telemetry_selection_made),
+ var hasMadeMarketingTelemetrySelection by booleanPreference(
+ appContext.getPreferenceKey(R.string.pref_key_marketing_telemetry_selection_made),
- default = false,
-- )
-+ var hasMadeMarketingTelemetrySelection = true
-+// appContext.getPreferenceKey(R.string.pref_key_marketing_telemetry_selection_made),
-+// default = false,
-+// )
++ default = true,
+ )
var hasAcceptedTermsOfService by booleanPreference(
- appContext.getPreferenceKey(R.string.pref_key_terms_accepted),
@@ -406,11 +406,11 @@ class Settings(private val appContext: Context) : PreferencesHolder {
* sure that users who upgrade and had telemetry disabled don't start sending the
* daily usage ping telemetry.
diff --git a/patches/fenix-liberate.patch b/patches/fenix-liberate.patch
index c7d7e882..d73dc1d5 100644
--- a/patches/fenix-liberate.patch
+++ b/patches/fenix-liberate.patch
@@ -263,7 +263,7 @@ index d3b21828c2..787a899648 100644
)
}
diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/ReviewPromptController.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/ReviewPromptController.kt
-index 33e8704adc..7a772f7a50 100644
+index 33e8704adc..4bb2a3f64b 100644
--- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/ReviewPromptController.kt
+++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/ReviewPromptController.kt
@@ -6,8 +6,8 @@ package org.mozilla.fenix.components
@@ -277,7 +277,7 @@ index 33e8704adc..7a772f7a50 100644
import kotlinx.coroutines.Dispatchers.Main
import kotlinx.coroutines.withContext
import org.mozilla.fenix.GleanMetrics.ReviewPrompt
-@@ -45,24 +45,24 @@ class FenixReviewSettings(
+@@ -45,11 +45,11 @@ class FenixReviewSettings(
* Controls the Review Prompt behavior.
*/
class ReviewPromptController(
@@ -287,34 +287,17 @@ index 33e8704adc..7a772f7a50 100644
private val timeNowInMillis: () -> Long = { System.currentTimeMillis() },
- private val tryPromptReview: suspend (Activity) -> Unit = { activity ->
- val flow = manager.requestReviewFlow()
--
-- withContext(Main) {
-- flow.addOnCompleteListener {
-- if (it.isSuccessful) {
-- manager.launchReviewFlow(activity, it.result)
-- recordReviewPromptEvent(
-- it.result.toString(),
-- reviewSettings.numberOfAppLaunches,
-- Date(),
-- )
-- }
-- }
-- }
+ private val tryPromptReview: suspend (Activity) -> Unit = { _ ->
-+// val flow = manager.requestReviewFlow()
-+
-+// withContext(Main) {
-+// flow.addOnCompleteListener {
-+// if (it.isSuccessful) {
-+// manager.launchReviewFlow(activity, it.result)
-+// recordReviewPromptEvent(
-+// it.result.toString(),
-+// reviewSettings.numberOfAppLaunches,
-+// Date(),
-+// )
-+// }
-+// }
-+// }
++/* val flow = manager.requestReviewFlow()
+
+ withContext(Main) {
+ flow.addOnCompleteListener {
+@@ -62,7 +62,7 @@ class ReviewPromptController(
+ )
+ }
+ }
+- }
++ }*/
},
) {
@VisibleForTesting(otherwise = VisibleForTesting.PRIVATE)
@@ -350,7 +333,7 @@ index 6312b65949..ec8b759397 100644
}
diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/metrics/InstallReferrerMetricsService.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/metrics/InstallReferrerMetricsService.kt
-index 233855f4c2..9679f5192a 100644
+index 233855f4c2..db736fd18a 100644
--- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/metrics/InstallReferrerMetricsService.kt
+++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/metrics/InstallReferrerMetricsService.kt
@@ -6,8 +6,8 @@ package org.mozilla.fenix.components.metrics
@@ -377,7 +360,7 @@ index 233855f4c2..9679f5192a 100644
import org.mozilla.fenix.ext.settings
import org.mozilla.fenix.utils.Settings
import java.io.UnsupportedEncodingException
-@@ -33,86 +33,86 @@ class InstallReferrerMetricsService(private val context: Context) : MetricsServi
+@@ -33,10 +33,10 @@ class InstallReferrerMetricsService(private val context: Context) : MetricsServi
private val logger = Logger("InstallReferrerMetricsService")
override val type = MetricServiceType.Data
@@ -386,37 +369,16 @@ index 233855f4c2..9679f5192a 100644
override fun start() {
- if (context.settings().utmParamsKnown) {
-- return
-- }
--
-- val timerId = PlayStoreAttribution.attributionTime.start()
-- val client = InstallReferrerClient.newBuilder(context).build()
-- referrerClient = client
--
-- client.startConnection(
-- object : InstallReferrerStateListener {
-- override fun onInstallReferrerSetupFinished(responseCode: Int) {
-- PlayStoreAttribution.attributionTime.stopAndAccumulate(timerId)
-- val firstSession = FirstSessionPing(context)
-- PlayStoreAttribution.responseCode.set(responseCode.toString())
-- when (responseCode) {
++/* if (context.settings().utmParamsKnown) {
+ return
+ }
+
+@@ -51,13 +51,13 @@ class InstallReferrerMetricsService(private val context: Context) : MetricsServi
+ val firstSession = FirstSessionPing(context)
+ PlayStoreAttribution.responseCode.set(responseCode.toString())
+ when (responseCode) {
- InstallReferrerClient.InstallReferrerResponse.OK -> {
-+// if (context.settings().utmParamsKnown) {
-+// return
-+// }
-+
-+// val timerId = PlayStoreAttribution.attributionTime.start()
-+// val client = InstallReferrerClient.newBuilder(context).build()
-+// referrerClient = client
-+
-+// client.startConnection(
-+// object : InstallReferrerStateListener {
-+// override fun onInstallReferrerSetupFinished(responseCode: Int) {
-+// PlayStoreAttribution.attributionTime.stopAndAccumulate(timerId)
-+// val firstSession = FirstSessionPing(context)
-+// PlayStoreAttribution.responseCode.set(responseCode.toString())
-+// when (responseCode) {
-+// InstallReferrerClient.InstallReferrerResponse.OK -> {
++ InstallReferrerClient.InstallReferrerResponse.OK -> {*/
// Connection established.
- val installReferrerResponse = try {
- client.installReferrer.installReferrer
@@ -426,65 +388,16 @@ index 233855f4c2..9679f5192a 100644
+// } catch (e: RemoteException) {
// We can't do anything about this.
- logger.error("Failed to retrieve install referrer response", e)
-- null
-- } catch (e: SecurityException) {
-- logger.error("Failed to retrieve install referrer response", e)
-- null
-- }
--
-- if (installReferrerResponse.isNullOrBlank()) {
-- return
-- }
--
-- PlayStoreAttribution.installReferrerResponse.set(installReferrerResponse)
--
-- val utmParams = UTMParams.parseUTMParameters(installReferrerResponse)
-- if (FeatureFlags.META_ATTRIBUTION_ENABLED) {
-- MetaParams.extractMetaAttribution(utmParams.content)
-- ?.recordMetaAttribution()
-- }
--
-- utmParams.recordInstallReferrer(context.settings())
-- context.settings().utmParamsKnown = true
--
-- firstSession.checkAndSend()
-- triggerPing()
-- }
--
-- InstallReferrerClient.InstallReferrerResponse.FEATURE_NOT_SUPPORTED,
-- InstallReferrerClient.InstallReferrerResponse.DEVELOPER_ERROR,
-- InstallReferrerClient.InstallReferrerResponse.PERMISSION_ERROR,
++/* logger.error("Failed to retrieve install referrer response", e)
+ null
+ } catch (e: SecurityException) {
+ logger.error("Failed to retrieve install referrer response", e)
+@@ -86,33 +86,33 @@ class InstallReferrerMetricsService(private val context: Context) : MetricsServi
+ InstallReferrerClient.InstallReferrerResponse.FEATURE_NOT_SUPPORTED,
+ InstallReferrerClient.InstallReferrerResponse.DEVELOPER_ERROR,
+ InstallReferrerClient.InstallReferrerResponse.PERMISSION_ERROR,
- -> {
-+// logger.error("Failed to retrieve install referrer response", e)
-+// null
-+// } catch (e: SecurityException) {
-+// logger.error("Failed to retrieve install referrer response", e)
-+// null
-+// }
-+
-+// if (installReferrerResponse.isNullOrBlank()) {
-+// return
-+// }
-+
-+// PlayStoreAttribution.installReferrerResponse.set(installReferrerResponse)
-+
-+// val utmParams = UTMParams.parseUTMParameters(installReferrerResponse)
-+// if (FeatureFlags.META_ATTRIBUTION_ENABLED) {
-+// MetaParams.extractMetaAttribution(utmParams.content)
-+// ?.recordMetaAttribution()
-+// }
-+
-+// utmParams.recordInstallReferrer(context.settings())
-+// context.settings().utmParamsKnown = true
-+
-+// firstSession.checkAndSend()
-+// triggerPing()
-+// }
-+
-+// InstallReferrerClient.InstallReferrerResponse.FEATURE_NOT_SUPPORTED,
-+// InstallReferrerClient.InstallReferrerResponse.DEVELOPER_ERROR,
-+// InstallReferrerClient.InstallReferrerResponse.PERMISSION_ERROR,
-+// -> {
++ -> {*/
// unrecoverable errors, but we still want to send the first-session ping.
- context.settings().utmParamsKnown = true
- firstSession.checkAndSend()
@@ -790,24 +703,18 @@ index e13ebe821f..4322aad38e 100644
/**
diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt
-index 9197b274db..c3728d2f69 100644
+index 9197b274db..b600d45fd5 100644
--- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt
+++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt
-@@ -1865,10 +1865,10 @@ class Settings(private val appContext: Context) : PreferencesHolder {
- /**
- * Indicates if the marketing onboarding card should be shown to the user.
+@@ -1867,7 +1867,7 @@ class Settings(private val appContext: Context) : PreferencesHolder {
*/
-- var shouldShowMarketingOnboarding by booleanPreference(
-- appContext.getPreferenceKey(R.string.pref_key_should_show_marketing_onboarding),
+ var shouldShowMarketingOnboarding by booleanPreference(
+ appContext.getPreferenceKey(R.string.pref_key_should_show_marketing_onboarding),
- default = true,
-- )
-+ var shouldShowMarketingOnboarding = false
-+// appContext.getPreferenceKey(R.string.pref_key_should_show_marketing_onboarding),
-+// default = true,
-+// )
++ default = false,
+ )
val feltPrivateBrowsingEnabled by lazyFeatureFlagPreference(
- key = appContext.getPreferenceKey(R.string.pref_key_should_enable_felt_privacy),
diff --git a/mobile/android/fenix/app/src/main/res/xml/preferences.xml b/mobile/android/fenix/app/src/main/res/xml/preferences.xml
index 4c6b14bf87..9fc35fc6a8 100644
--- a/mobile/android/fenix/app/src/main/res/xml/preferences.xml
diff --git a/patches/fenix-overlay/app/src/main/res/values/ironfox_strings.xml b/patches/fenix-overlay/app/src/main/res/values/ironfox_strings.xml
index cda4d28e..a57e5872 100644
--- a/patches/fenix-overlay/app/src/main/res/values/ironfox_strings.xml
+++ b/patches/fenix-overlay/app/src/main/res/values/ironfox_strings.xml
@@ -12,7 +12,7 @@
Enable disk cache
- Enable disk cache for secure webpages (HTTPS)
+ Enable disk cache for secure webpages
Enable Encrypted Media Extensions (EME)
diff --git a/patches/gecko-disable-nimbus.patch b/patches/gecko-disable-nimbus.patch
index a83998ef..d9024f99 100644
--- a/patches/gecko-disable-nimbus.patch
+++ b/patches/gecko-disable-nimbus.patch
@@ -19,7 +19,7 @@ index 1f4d51c643..a2507eb8d1 100644
lazy,
"COLLECTION_ID",
diff --git a/toolkit/components/nimbus/lib/ExperimentManager.sys.mjs b/toolkit/components/nimbus/lib/ExperimentManager.sys.mjs
-index 165309d17b..b196258d06 100644
+index 165309d17b..689326135e 100644
--- a/toolkit/components/nimbus/lib/ExperimentManager.sys.mjs
+++ b/toolkit/components/nimbus/lib/ExperimentManager.sys.mjs
@@ -32,7 +32,7 @@ ChromeUtils.defineLazyGetter(lazy, "log", () => {
@@ -31,112 +31,21 @@ index 165309d17b..b196258d06 100644
export const UnenrollmentCause = {
fromCheckRecipeResult(result) {
-@@ -146,57 +146,57 @@ export class ExperimentManager {
+@@ -146,7 +146,7 @@ export class ExperimentManager {
return new Date();
},
};
- Object.defineProperty(context, "activeExperiments", {
-- enumerable: true,
-- get: async () => {
-- await this.store.ready();
-- return this.store.getAllActiveExperiments().map(exp => exp.slug);
-- },
++/* Object.defineProperty(context, "activeExperiments", {
+ enumerable: true,
+ get: async () => {
+ await this.store.ready();
+@@ -196,7 +196,7 @@ export class ExperimentManager {
+ return acc;
+ }, {});
+ },
- });
-- Object.defineProperty(context, "activeRollouts", {
-- enumerable: true,
-- get: async () => {
-- await this.store.ready();
-- return this.store.getAllActiveRollouts().map(rollout => rollout.slug);
-- },
-- });
-- Object.defineProperty(context, "previousExperiments", {
-- enumerable: true,
-- get: async () => {
-- await this.store.ready();
-- return this.store
-- .getAll()
-- .filter(enrollment => !enrollment.active && !enrollment.isRollout)
-- .map(exp => exp.slug);
-- },
-- });
-- Object.defineProperty(context, "previousRollouts", {
-- enumerable: true,
-- get: async () => {
-- await this.store.ready();
-- return this.store
-- .getAll()
-- .filter(enrollment => !enrollment.active && enrollment.isRollout)
-- .map(rollout => rollout.slug);
-- },
-- });
-- Object.defineProperty(context, "enrollments", {
-- enumerable: true,
-- get: async () => {
-- await this.store.ready();
-- return this.store.getAll().map(enrollment => enrollment.slug);
-- },
-- });
-- Object.defineProperty(context, "enrollmentsMap", {
-- enumerable: true,
-- get: async () => {
-- await this.store.ready();
-- return this.store.getAll().reduce((acc, enrollment) => {
-- acc[enrollment.slug] = enrollment.branch.slug;
-- return acc;
-- }, {});
-- },
-- });
-+// Object.defineProperty(context, "activeExperiments", {
-+// enumerable: true,
-+// get: async () => {
-+// await this.store.ready();
-+// return this.store.getAllActiveExperiments().map(exp => exp.slug);
-+// },
-+// });
-+// Object.defineProperty(context, "activeRollouts", {
-+// enumerable: true,
-+// get: async () => {
-+// await this.store.ready();
-+// return this.store.getAllActiveRollouts().map(rollout => rollout.slug);
-+// },
-+// });
-+// Object.defineProperty(context, "previousExperiments", {
-+// enumerable: true,
-+// get: async () => {
-+// await this.store.ready();
-+// return this.store
-+// .getAll()
-+// .filter(enrollment => !enrollment.active && !enrollment.isRollout)
-+// .map(exp => exp.slug);
-+// },
-+// });
-+// Object.defineProperty(context, "previousRollouts", {
-+// enumerable: true,
-+// get: async () => {
-+// await this.store.ready();
-+// return this.store
-+// .getAll()
-+// .filter(enrollment => !enrollment.active && enrollment.isRollout)
-+// .map(rollout => rollout.slug);
-+// },
-+// });
-+// Object.defineProperty(context, "enrollments", {
-+// enumerable: true,
-+// get: async () => {
-+// await this.store.ready();
-+// return this.store.getAll().map(enrollment => enrollment.slug);
-+// },
-+// });
-+// Object.defineProperty(context, "enrollmentsMap", {
-+// enumerable: true,
-+// get: async () => {
-+// await this.store.ready();
-+// return this.store.getAll().reduce((acc, enrollment) => {
-+// acc[enrollment.slug] = enrollment.branch.slug;
-+// return acc;
-+// }, {});
-+// },
-+// });
++ });*/
return context;
}
diff --git a/patches/ironfox-home.patch b/patches/ironfox-home.patch
index 85c87a1d..c49f7383 100644
--- a/patches/ironfox-home.patch
+++ b/patches/ironfox-home.patch
@@ -25,90 +25,60 @@ index 48b312d257..92b3b71f71 100644
} else {
TopSitesFrecencyConfig(
diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt
-index 9197b274db..16ef08e767 100644
+index 9197b274db..f101f8fd08 100644
--- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt
+++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/utils/Settings.kt
-@@ -176,10 +176,10 @@ class Settings(private val appContext: Context) : PreferencesHolder {
- /**
- * Indicates whether or not top sites should be shown on the home screen.
- */
-- var showTopSitesFeature by lazyFeatureFlagPreference(
-+ var showTopSitesFeature by booleanPreference(
+@@ -179,7 +179,7 @@ class Settings(private val appContext: Context) : PreferencesHolder {
+ var showTopSitesFeature by lazyFeatureFlagPreference(
appContext.getPreferenceKey(R.string.pref_key_show_top_sites),
-- featureFlag = true,
+ featureFlag = true,
- default = { homescreenSections[HomeScreenSection.TOP_SITES] == true },
-+// featureFlag = true,
-+ default = true,
++ default = { true },
)
var numberOfAppLaunches by intPreference(
-@@ -363,10 +363,10 @@ class Settings(private val appContext: Context) : PreferencesHolder {
- default = false,
- )
+@@ -365,7 +365,7 @@ class Settings(private val appContext: Context) : PreferencesHolder {
-- var showCollectionsPlaceholderOnHome by booleanPreference(
-- appContext.getPreferenceKey(R.string.pref_key_show_collections_placeholder_home),
+ var showCollectionsPlaceholderOnHome by booleanPreference(
+ appContext.getPreferenceKey(R.string.pref_key_show_collections_placeholder_home),
- default = true,
-- )
-+ var showCollectionsPlaceholderOnHome = false
-+// appContext.getPreferenceKey(R.string.pref_key_show_collections_placeholder_home),
-+// default = true,
-+// )
++ default = false,
+ )
val isCrashReportingEnabled: Boolean
- get() = isCrashReportEnabledInBuild &&
-@@ -1149,10 +1149,10 @@ class Settings(private val appContext: Context) : PreferencesHolder {
- default = true,
- )
+@@ -1151,7 +1151,7 @@ class Settings(private val appContext: Context) : PreferencesHolder {
-- var defaultTopSitesAdded by booleanPreference(
-- appContext.getPreferenceKey(R.string.default_top_sites_added),
+ var defaultTopSitesAdded by booleanPreference(
+ appContext.getPreferenceKey(R.string.default_top_sites_added),
- default = false,
-- )
-+ var defaultTopSitesAdded = true
-+// appContext.getPreferenceKey(R.string.default_top_sites_added),
-+// default = false,
-+// )
++ default = true,
+ )
var shouldShowSearchSuggestionsInPrivate by booleanPreference(
- appContext.getPreferenceKey(R.string.pref_key_show_search_suggestions_in_private),
-@@ -1660,10 +1660,10 @@ class Settings(private val appContext: Context) : PreferencesHolder {
- get() =
- FxNimbus.features.homescreen.value().sectionsEnabled
+@@ -1662,7 +1662,7 @@ class Settings(private val appContext: Context) : PreferencesHolder {
-- var historyMetadataUIFeature by lazyFeatureFlagPreference(
-+ var historyMetadataUIFeature by booleanPreference(
+ var historyMetadataUIFeature by lazyFeatureFlagPreference(
appContext.getPreferenceKey(R.string.pref_key_history_metadata_feature),
- default = { homescreenSections[HomeScreenSection.RECENT_EXPLORATIONS] == true },
-- featureFlag = true,
-+ default = false,
-+// featureFlag = true,
++ default = { false },
+ featureFlag = true,
)
- /**
-@@ -1687,19 +1687,19 @@ class Settings(private val appContext: Context) : PreferencesHolder {
- /**
- * Indicates if the recent tabs functionality should be visible.
- */
-- var showRecentTabsFeature by lazyFeatureFlagPreference(
-+ var showRecentTabsFeature by booleanPreference(
+@@ -1690,7 +1690,7 @@ class Settings(private val appContext: Context) : PreferencesHolder {
+ var showRecentTabsFeature by lazyFeatureFlagPreference(
appContext.getPreferenceKey(R.string.pref_key_recent_tabs),
-- featureFlag = true,
+ featureFlag = true,
- default = { homescreenSections[HomeScreenSection.JUMP_BACK_IN] == true },
-+// featureFlag = true,
-+ default = false,
++ default = { false },
)
/**
- * Indicates if the recent saved bookmarks functionality should be visible.
+@@ -1698,7 +1698,7 @@ class Settings(private val appContext: Context) : PreferencesHolder {
*/
-- var showBookmarksHomeFeature by lazyFeatureFlagPreference(
-+ var showBookmarksHomeFeature by booleanPreference(
+ var showBookmarksHomeFeature by lazyFeatureFlagPreference(
appContext.getPreferenceKey(R.string.pref_key_customization_bookmarks),
- default = { homescreenSections[HomeScreenSection.BOOKMARKS] == true },
-- featureFlag = true,
-+ default = false,
-+// featureFlag = true,
++ default = { false },
+ featureFlag = true,
)
- var signedInFxaAccount by booleanPreference(
diff --git a/patches/ironfox-secret-settings.patch b/patches/ironfox-secret-settings.patch
index 25c7debc..bd3898e8 100644
--- a/patches/ironfox-secret-settings.patch
+++ b/patches/ironfox-secret-settings.patch
@@ -1,14 +1,13 @@
diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/SecretSettingsFragment.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/SecretSettingsFragment.kt
-index 43bea16286..2e44c3b296 100644
+index 43bea16286..f31b83b648 100644
--- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/SecretSettingsFragment.kt
+++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/SecretSettingsFragment.kt
-@@ -256,6 +256,36 @@ class SecretSettingsFragment : PreferenceFragmentCompat() {
+@@ -256,6 +256,33 @@ class SecretSettingsFragment : PreferenceFragmentCompat() {
)
onPreferenceChangeListener = SharedPreferenceUpdater()
}
+
+ requirePreference(R.string.pref_key_eme_enabled).apply {
-+ isVisible = true
+ isChecked = context.settings().emeEnabled
+ onPreferenceChangeListener = object : SharedPreferenceUpdater() {
+ override fun onPreferenceChange(preference: Preference, newValue: Any?): Boolean {
@@ -20,13 +19,11 @@ index 43bea16286..2e44c3b296 100644
+ }
+
+ requirePreference(R.string.pref_key_enable_unifiedpush).apply {
-+ isVisible = true
+ isChecked = context.settings().enableUnifiedPush
+ onPreferenceChangeListener = SharedPreferenceUpdater()
+ }
+
+ requirePreference(R.string.pref_key_widevine_enabled).apply {
-+ isVisible = true
+ isChecked = context.settings().widevineEnabled
+ onPreferenceChangeListener = object : SharedPreferenceUpdater() {
+ override fun onPreferenceChange(preference: Preference, newValue: Any?): Boolean {
diff --git a/patches/remove-webcompat-reporter.patch b/patches/remove-webcompat-reporter.patch
index 4b47e34f..acbef041 100644
--- a/patches/remove-webcompat-reporter.patch
+++ b/patches/remove-webcompat-reporter.patch
@@ -114,28 +114,6 @@ index 1443661bb8..218f4f1518 100644
val isDesktopMode by store.observeAsState(initialValue = false) { state ->
state.isDesktopMode
-diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/menu/compose/MainMenu.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/menu/compose/MainMenu.kt
-index 3221dddb98..f611287899 100644
---- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/menu/compose/MainMenu.kt
-+++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/menu/compose/MainMenu.kt
-@@ -470,7 +470,7 @@ private fun MenuDialogPreview() {
- isDesktopMode = false,
- isPdf = false,
- isTranslationSupported = true,
-- isWebCompatReporterSupported = true,
-+ isWebCompatReporterSupported = false,
- showQuitMenu = true,
- isExtensionsProcessDisabled = true,
- extensionsMenuItemDescription = "No extensions enabled",
-@@ -516,7 +516,7 @@ private fun MenuDialogPrivatePreview() {
- isDesktopMode = false,
- isPdf = false,
- isTranslationSupported = true,
-- isWebCompatReporterSupported = true,
-+ isWebCompatReporterSupported = false,
- showQuitMenu = true,
- isExtensionsProcessDisabled = false,
- extensionsMenuItemDescription = "No extensions enabled",
diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/toolbar/DefaultToolbarMenu.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/toolbar/DefaultToolbarMenu.kt
index e7e19273f9..2e6139bd25 100644
--- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/components/toolbar/DefaultToolbarMenu.kt