From f2cc9b9a148773bb22d0aaac55fcdbdbeeabef31 Mon Sep 17 00:00:00 2001 From: celenity Date: Tue, 29 Apr 2025 04:56:17 -0400 Subject: [PATCH] fix: Update onboarding to remove Terms of Use/privacy policy, + replace Firefox logo with ours and add other minor adjustments/fixes Signed-off-by: celenity --- patches/branding.patch | 423 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 420 insertions(+), 3 deletions(-) diff --git a/patches/branding.patch b/patches/branding.patch index c124525..82e4e2b 100644 --- a/patches/branding.patch +++ b/patches/branding.patch @@ -27,6 +27,33 @@ index 9bf4bb29a4..958bed6d9b 100644 set_config( +diff --git a/mobile/android/fenix/app/build.gradle b/mobile/android/fenix/app/build.gradle +index 7535453460..51260d1abe 100644 +--- a/mobile/android/fenix/app/build.gradle ++++ b/mobile/android/fenix/app/build.gradle +@@ -68,20 +68,11 @@ android { + buildConfigField "String", "VCS_HASH", "\"\"" // see override in release builds for why it's blank. + // This should be the "public" base URL of AMO. + buildConfigField "String", "AMO_BASE_URL", "\"https://addons.mozilla.org\"" +- buildConfigField "String", "AMO_COLLECTION_NAME", "\"Extensions-for-Android\"" +- buildConfigField "String", "AMO_COLLECTION_USER", "\"mozilla\"" ++ buildConfigField "String", "AMO_COLLECTION_NAME", "\"IronFox\"" ++ buildConfigField "String", "AMO_COLLECTION_USER", "\"18588170\"" + // These add-ons should be excluded for Mozilla Online builds. + buildConfigField "String[]", "MOZILLA_ONLINE_ADDON_EXCLUSIONS", + "{" + +- "\"uBlock0@raymondhill.net\"," + +- "\"firefox@ghostery.com\"," + +- "\"jid1-MnnxcxisBPnSXQ@jetpack\"," + +- "\"adguardadblocker@adguard.com\"," + +- "\"foxyproxy@eric.h.jung\"," + +- "\"{73a6fe31-595d-460b-a920-fcc0f8843232}\"," + +- "\"jid1-BoFifL9Vbdl2zQ@jetpack\"," + +- "\"woop-NoopscooPsnSXQ@jetpack\"," + +- "\"adnauseam@rednoise.org\"" + + "}" + // This should be the base URL used to call the AMO API. + buildConfigField "String", "AMO_SERVER_URL", "\"https://services.addons.mozilla.org\"" diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/SupportUtils.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/SupportUtils.kt index 598a24ce36..8e072075a5 100644 --- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/SupportUtils.kt @@ -53,6 +80,396 @@ index c900501ee6..8b3e4a434c 100644 imply_option("MOZ_APP_ID", "{aa3c5121-dab2-40e2-81ca-7ea25febc110}") imply_option("BROWSER_CHROME_URL", "chrome://geckoview/content/geckoview.xhtml") --- -2.49.0 - +diff --git a/mobile/android/fenix/app/src/main/res/values/strings.xml b/mobile/android/fenix/app/src/main/res/values/strings.xml +index 42f7a055de..885a7e0abf 100644 +--- a/mobile/android/fenix/app/src/main/res/values/strings.xml ++++ b/mobile/android/fenix/app/src/main/res/values/strings.xml +@@ -468,10 +468,10 @@ + Not now + +- Notifications help you stay safer with Firefox ++ Enable notifications + +- Securely send tabs between your devices and discover other privacy features in Firefox. ++ IronFox can remind you when private tabs are open and show you the progress of file downloads. + + Turn on notifications + +@@ -549,9 +549,9 @@ + + Fast and secure web browsing. + +- Fast and secure web browsing ++ The private and secure Firefox-based web browser for Android. + +- Agree and continue ++ Continue + + By continuing, you agree to the Firefox %1$s. + +diff --git a/mobile/android/fenix/app/src/main/res/values-en-rCA/strings.xml b/mobile/android/fenix/app/src/main/res/values-en-rCA/strings.xml +index 9d95cd32a5..61cb667cd6 100644 +--- a/mobile/android/fenix/app/src/main/res/values-en-rCA/strings.xml ++++ b/mobile/android/fenix/app/src/main/res/values-en-rCA/strings.xml +@@ -544,12 +544,12 @@ + Title for enable notification permission screen used by Nimbus experiments. Nimbus experiments do not support string placeholders. + Note: The word "Firefox" should NOT be translated + --> +- Notifications help you stay safer with Firefox ++ Enable notifications + +- Securely send tabs between your devices and discover other privacy features in Firefox. ++ IronFox can remind you when private tabs are open and show you the progress of file downloads. + + Turn on notifications + +@@ -627,9 +627,9 @@ + + Welcome to Firefox + +- Fast and secure web browsing ++ The private and secure Firefox-based web browser for Android. + +- Agree and continue ++ Continue + + By continuing, you agree to the %1$s. + +diff --git a/mobile/android/fenix/app/src/main/res/values-en-rGB/strings.xml b/mobile/android/fenix/app/src/main/res/values-en-rGB/strings.xml +index f60598d397..b497dfdd8b 100644 +--- a/mobile/android/fenix/app/src/main/res/values-en-rGB/strings.xml ++++ b/mobile/android/fenix/app/src/main/res/values-en-rGB/strings.xml +@@ -546,12 +546,12 @@ + Title for enable notification permission screen used by Nimbus experiments. Nimbus experiments do not support string placeholders. + Note: The word "Firefox" should NOT be translated + --> +- Notifications help you stay safer with Firefox ++ Enable notifications + +- Securely send tabs between your devices and discover other privacy features in Firefox. ++ IronFox can remind you when private tabs are open and show you the progress of file downloads. + + Turn on notifications + +@@ -629,9 +629,9 @@ + + Welcome to Firefox + +- Fast and secure web browsing ++ The private and secure Firefox-based web browser for Android. + +- Agree and continue ++ Continue + + By continuing, you agree to the %1$s. + +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 1c975c33f4..69e289f968 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 +@@ -80,7 +80,7 @@ class OnboardingFragment : Fragment() { + pagesToDisplay( + showDefaultBrowserPage = isNotDefaultBrowser(this) && !isDefaultBrowserPromptSupported(), + showNotificationPage = canShowNotificationPage(), +- showAddWidgetPage = canShowAddSearchWidgetPrompt(), ++ showAddWidgetPage = false, + ).toMutableList() + } + } +diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/onboarding/view/OnboardingMapper.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/onboarding/view/OnboardingMapper.kt +index 1c717bf900..f33154cc20 100644 +--- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/onboarding/view/OnboardingMapper.kt ++++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/onboarding/view/OnboardingMapper.kt +@@ -34,7 +34,7 @@ internal fun Collection.toPageUiData( + .mapIndexed { + index, onboardingCardData -> + // only first onboarding card shows privacy caption +- onboardingCardData.toPageUiData(if (index == 0) privacyCaption else null) ++ onboardingCardData.toPageUiData(null) + } + } + +@@ -114,7 +114,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 d6f204609e..82a8130761 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 +@@ -134,22 +134,22 @@ private fun BodyText( + modifier = Modifier.padding(horizontal = 10.dp), + ) { + val lineOneState = LinkTextState( +- text = it.lineOneLinkText, +- url = it.lineOneLinkUrl, +- onClick = eventHandler::onTermsOfServiceLinkClicked, ++ text = "", ++ url = "", ++ onClick = {}, + ) + val lineTwoState = LinkTextState( +- text = it.lineTwoLinkText, +- url = it.lineTwoLinkUrl, +- onClick = eventHandler::onPrivacyNoticeLinkClicked, ++ text = "", ++ url = "", ++ onClick = {}, + ) + val lineThreeState = LinkTextState( +- text = it.lineThreeLinkText, ++ text = "", + url = "", +- onClick = { _ -> eventHandler.onManagePrivacyPreferencesLinkClicked() }, ++ onClick = {}, + ) + LinkText( +- text = it.lineOneText.updateFirstPlaceholder(it.lineOneLinkText), ++ text = "", + linkTextStates = listOf( + lineOneState, + ), +@@ -161,7 +161,7 @@ private fun BodyText( + ) + + LinkText( +- text = it.lineTwoText.updateFirstPlaceholder(it.lineTwoLinkText), ++ text = "", + linkTextStates = listOf( + lineTwoState, + ), +@@ -173,7 +173,7 @@ private fun BodyText( + ) + + LinkText( +- text = it.lineThreeText.updateFirstPlaceholder(it.lineThreeLinkText), ++ text = "", + linkTextStates = listOf( + lineThreeState, + ), +@@ -200,14 +200,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/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 8e271198b0..f0aba2a6dc 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 +@@ -2492,8 +2492,5 @@ class Settings(private val appContext: Context) : PreferencesHolder { + /** + * Indicates if the user has completed the setup step for exploring extensions + */ +- var hasCompletedSetupStepExtensions by booleanPreference( +- key = appContext.getPreferenceKey(R.string.pref_key_setup_step_extensions), +- default = false, +- ) ++ var hasCompletedSetupStepExtensions = true + } +diff --git a/mobile/android/fenix/app/src/main/res/drawable/ic_firefox.xml b/mobile/android/fenix/app/src/main/res/drawable/ic_firefox.xml +index 8e369db27c..b1e6090f14 100644 +--- a/mobile/android/fenix/app/src/main/res/drawable/ic_firefox.xml ++++ b/mobile/android/fenix/app/src/main/res/drawable/ic_firefox.xml +@@ -1,141 +1,32 @@ +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- +- ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ ++ +