Files
IronFox/patches/fenix-remove-glean.patch
celenity 440d5482a1 IronFox v146.0
ironfox-oss/IronFox!109
____

## Changes

- [Added missing Gecko icons/branding assets](90e371ec7c).
- Added a toggle in settings that forces the browser to *always* use private mode *(similar to Firefox on Desktop)*. The setting is *disabled* by default, and is located at `Settings` -> `IronFox` -> `IronFox settings` -> `Privacy` -> **`Always use private browsing`**.
- [Disabled Mozilla's new `Unified Trust Panel` by default](2eaa0c7c9a), as it prevents users from being able to control the cookie banner blocker on a per-site basis.
- [Enabled Mozilla's new redesign for private browsing mode](43661d10a7) by default.
- Fixed [an issue with `BankID` authentication](https://gitlab.com/ironfox-oss/IronFox/-/issues/213) on certain websites *(Thanks to [rajtsic](https://gitlab.com/rajtsic)!)*.
- [Removed Mozilla's new `Clear Key` CDM](f9a0a07793).
- Updated cbindgen to [`0.29.2`](https://docs.rs/crate/cbindgen/0.29.2).
- Updated to Firefox [`146.0`](https://firefox.com/firefox/android/146.0/releasenotes/).
- [Various tweaks to improve and refine the build process, as well as other minor changes, tweaks, and fixes](https://gitlab.com/ironfox-oss/IronFox/-/merge_requests/109/diffs).

MR-author: celenity <celenity@celenity.dev>
Co-authored-by: Weblate <hosted@weblate.org>
Co-authored-by: techaddict <20232669-techaddict@users.noreply.gitlab.com>
Co-authored-by: user <user@localhost.localdomain>
Co-authored-by: Akash Yadav <itsaky01@gmail.com>
Approved-by: Akash Yadav <itsaky01@gmail.com>
Merged-by: celenity <celenity@celenity.dev>
2025-12-10 19:08:11 +00:00

367 lines
20 KiB
Diff

diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/debugsettings/gleandebugtools/GleanDebugToolsFragment.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/debugsettings/gleandebugtools/GleanDebugToolsFragment.kt
index 73c188ca8d..51438f62eb 100644
--- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/debugsettings/gleandebugtools/GleanDebugToolsFragment.kt
+++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/debugsettings/gleandebugtools/GleanDebugToolsFragment.kt
@@ -22,7 +22,7 @@ import androidx.compose.ui.res.stringResource
import androidx.compose.ui.unit.dp
import androidx.core.net.toUri
import androidx.navigation.fragment.findNavController
-import mozilla.telemetry.glean.Glean
+// import mozilla.telemetry.glean.Glean
import org.mozilla.fenix.R
import org.mozilla.fenix.components.lazyStore
import org.mozilla.fenix.compose.ComposeFragment
@@ -38,8 +38,8 @@ class GleanDebugToolsFragment : ComposeFragment() {
private val store by lazyStore {
GleanDebugToolsStore(
initialState = GleanDebugToolsState(
- logPingsToConsoleEnabled = Glean.getLogPings(),
- debugViewTag = Glean.getDebugViewTag() ?: "",
+ logPingsToConsoleEnabled = false,
+ debugViewTag = "",
),
middlewares = listOf(
GleanDebugToolsMiddleware(
diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/debugsettings/gleandebugtools/GleanDebugToolsStorage.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/debugsettings/gleandebugtools/GleanDebugToolsStorage.kt
index a23df32558..32320d4715 100644
--- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/debugsettings/gleandebugtools/GleanDebugToolsStorage.kt
+++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/debugsettings/gleandebugtools/GleanDebugToolsStorage.kt
@@ -4,7 +4,7 @@
package org.mozilla.fenix.debugsettings.gleandebugtools
-import mozilla.telemetry.glean.Glean
+// import mozilla.telemetry.glean.Glean
/**
* A storage used to access the Glean APIs.
@@ -30,12 +30,12 @@ interface GleanDebugToolsStorage {
*/
class DefaultGleanDebugToolsStorage : GleanDebugToolsStorage {
override fun setLogPings(enabled: Boolean) {
- Glean.setLogPings(enabled)
+// Glean.setLogPings(enabled)
}
override fun sendPing(pingType: String, debugViewTag: String) {
- Glean.setDebugViewTag(debugViewTag)
- Glean.submitPingByName(pingType)
+// Glean.setDebugViewTag(debugViewTag)
+// Glean.submitPingByName(pingType)
}
/**
@@ -47,7 +47,7 @@ class DefaultGleanDebugToolsStorage : GleanDebugToolsStorage {
* Get all the types of pings that can be submitted.
*/
fun getPingTypes(): Set<String> {
- return Glean.getRegisteredPingNames()
+ return emptySet()
}
}
}
diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/debugsettings/navigation/DebugDrawerRoute.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/debugsettings/navigation/DebugDrawerRoute.kt
index e53b2e6ad2..b2af1cb5aa 100644
--- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/debugsettings/navigation/DebugDrawerRoute.kt
+++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/debugsettings/navigation/DebugDrawerRoute.kt
@@ -58,10 +58,10 @@ enum class DebugDrawerRoute(val route: String, @param:StringRes val title: Int)
route = "cfr_tools",
title = R.string.debug_drawer_cfr_tools_title,
),
- GleanDebugTools(
+/* GleanDebugTools(
route = "glean_debug_tools",
title = R.string.glean_debug_tools_title,
- ),
+ ), */
RegionDebugTools(
route = "region_debug_tools",
title = R.string.debug_drawer_region_tools_title,
@@ -160,14 +160,14 @@ enum class DebugDrawerRoute(val route: String, @param:StringRes val title: Int)
}
}
- GleanDebugTools -> {
+/* GleanDebugTools -> {
onClick = {
debugDrawerStore.dispatch(DebugDrawerAction.NavigateTo.GleanDebugTools)
}
content = {
GleanDebugToolsScreen(gleanDebugToolsStore = gleanDebugToolsStore)
}
- }
+ } */
RegionDebugTools -> {
onClick = {
diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/debugsettings/store/DebugDrawerNavigationMiddleware.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/debugsettings/store/DebugDrawerNavigationMiddleware.kt
index 1e17f81bda..0b299dc2fc 100644
--- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/debugsettings/store/DebugDrawerNavigationMiddleware.kt
+++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/debugsettings/store/DebugDrawerNavigationMiddleware.kt
@@ -44,7 +44,7 @@ class DebugDrawerNavigationMiddleware(
is DebugDrawerAction.NavigateTo.CfrTools ->
navController.navigate(route = DebugDrawerRoute.CfrTools.route)
is DebugDrawerAction.NavigateTo.GleanDebugTools ->
- navController.navigate(route = DebugDrawerRoute.GleanDebugTools.route)
+ Unit // no-op
is DebugDrawerAction.NavigateTo.RegionDebugTools ->
navController.navigate(route = DebugDrawerRoute.RegionDebugTools.route)
is DebugDrawerAction.NavigateTo.AddonsDebugTools ->
diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/debugsettings/ui/FenixOverlay.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/debugsettings/ui/FenixOverlay.kt
index 8f6e1eb8f1..b118d84f82 100644
--- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/debugsettings/ui/FenixOverlay.kt
+++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/debugsettings/ui/FenixOverlay.kt
@@ -23,7 +23,7 @@ import mozilla.components.browser.state.store.BrowserStore
import mozilla.components.concept.storage.CreditCardsAddressesStorage
import mozilla.components.concept.storage.LoginsStorage
import mozilla.components.lib.state.ext.observeAsState
-import mozilla.telemetry.glean.Glean
+// import mozilla.telemetry.glean.Glean
import org.mozilla.fenix.R
import org.mozilla.fenix.debugsettings.addresses.AddressesDebugLocalesRepository
import org.mozilla.fenix.debugsettings.addresses.AddressesTools
@@ -81,8 +81,8 @@ fun FenixOverlay(
),
gleanDebugToolsStore = GleanDebugToolsStore(
initialState = GleanDebugToolsState(
- logPingsToConsoleEnabled = Glean.getLogPings(),
- debugViewTag = Glean.getDebugViewTag() ?: "",
+ logPingsToConsoleEnabled = false,
+ debugViewTag = "",
),
middlewares = listOf(
GleanDebugToolsMiddleware(
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 53190b359c..b32020d962 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
@@ -69,7 +69,7 @@ import mozilla.components.support.rusthttp.RustHttpConfig
import mozilla.components.support.utils.BrowsersCache
import mozilla.components.support.utils.logElapsedTime
import mozilla.components.support.webextensions.WebExtensionSupport
-import mozilla.telemetry.glean.Glean
+// import mozilla.telemetry.glean.Glean
import org.mozilla.fenix.GleanMetrics.Addons
import org.mozilla.fenix.GleanMetrics.Addresses
import org.mozilla.fenix.GleanMetrics.AndroidAutofill
diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/HomeActivity.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/HomeActivity.kt
index 2ac60c1123..5f9424d2a8 100644
--- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/HomeActivity.kt
+++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/HomeActivity.kt
@@ -81,13 +81,13 @@ import mozilla.components.support.utils.BuildManufacturerChecker
import mozilla.components.support.utils.SafeIntent
import mozilla.components.support.utils.toSafeIntent
import mozilla.components.support.webextensions.WebExtensionPopupObserver
-import mozilla.telemetry.glean.private.NoExtras
+/* import mozilla.telemetry.glean.private.NoExtras
import org.mozilla.experiments.nimbus.initializeTooling
import org.mozilla.fenix.GleanMetrics.AppIcon
import org.mozilla.fenix.GleanMetrics.Events
import org.mozilla.fenix.GleanMetrics.Metrics
import org.mozilla.fenix.GleanMetrics.SplashScreen
-import org.mozilla.fenix.GleanMetrics.StartOnHome
+import org.mozilla.fenix.GleanMetrics.StartOnHome */
import org.mozilla.fenix.addons.ExtensionsProcessDisabledBackgroundController
import org.mozilla.fenix.addons.ExtensionsProcessDisabledForegroundController
import org.mozilla.fenix.bindings.ExternalAppLinkStatusBinding
@@ -98,10 +98,10 @@ import org.mozilla.fenix.browser.browsingmode.DefaultBrowsingModeManager
import org.mozilla.fenix.components.appstate.AppAction
import org.mozilla.fenix.components.appstate.AppAction.ShareAction
import org.mozilla.fenix.components.appstate.OrientationMode
-import org.mozilla.fenix.components.metrics.BreadcrumbsRecorder
+/* import org.mozilla.fenix.components.metrics.BreadcrumbsRecorder
import org.mozilla.fenix.components.metrics.GrowthDataWorker
import org.mozilla.fenix.components.metrics.MarketingAttributionService
-import org.mozilla.fenix.components.metrics.fonts.FontEnumerationWorker
+import org.mozilla.fenix.components.metrics.fonts.FontEnumerationWorker */
import org.mozilla.fenix.crashes.CrashReporterBinding
import org.mozilla.fenix.crashes.UnsubmittedCrashDialog
import org.mozilla.fenix.customtabs.ExternalAppBrowserActivity
@@ -120,7 +120,7 @@ import org.mozilla.fenix.ext.getNavDirections
import org.mozilla.fenix.ext.hasTopDestination
import org.mozilla.fenix.ext.nav
import org.mozilla.fenix.ext.openSetDefaultBrowserOption
-import org.mozilla.fenix.ext.recordEventInNimbus
+// import org.mozilla.fenix.ext.recordEventInNimbus
import org.mozilla.fenix.ext.setNavigationIcon
import org.mozilla.fenix.ext.settings
import org.mozilla.fenix.extension.WebExtensionPromptFeature
@@ -140,7 +140,7 @@ import org.mozilla.fenix.home.topsites.DefaultTopSitesBinding
import org.mozilla.fenix.messaging.FenixMessageSurfaceId
import org.mozilla.fenix.messaging.MessageNotificationWorker
import org.mozilla.fenix.nimbus.FxNimbus
-import org.mozilla.fenix.onboarding.ReEngagementNotificationWorker
+// import org.mozilla.fenix.onboarding.ReEngagementNotificationWorker
import org.mozilla.fenix.pbmlock.DefaultPrivateBrowsingLockStorage
import org.mozilla.fenix.pbmlock.PrivateBrowsingLockFeature
import org.mozilla.fenix.perf.DefaultStartupPathProvider
@@ -404,11 +404,11 @@ open class HomeActivity : LocaleAwareAppCompatActivity(), NavHostActivity {
)
// This is a temporary solution to determine if we should show the marketing onboarding card.
- if (shouldShowOnboarding) {
+/* if (shouldShowOnboarding) {
lifecycleScope.launch(IO) {
MarketingAttributionService(applicationContext).start()
}
- }
+ } */
SplashScreenManager(
splashScreenOperation = if (FxNimbus.features.splashScreen.value().offTrainOnboarding) {
@@ -427,11 +427,11 @@ open class HomeActivity : LocaleAwareAppCompatActivity(), NavHostActivity {
storage = DefaultSplashScreenStorage(components.settings),
showSplashScreen = { installSplashScreen().setKeepOnScreenCondition(it) },
onSplashScreenFinished = { result ->
- if (result.sendTelemetry) {
+/* if (result.sendTelemetry) {
SplashScreen.firstLaunchExtended.record(
SplashScreen.FirstLaunchExtendedExtra(dataFetched = result.wasDataFetched),
)
- }
+ } */
if (savedInstanceState == null && shouldShowOnboarding) {
navHost.navController.navigate(NavGraphDirections.actionGlobalOnboarding())
@@ -496,14 +496,14 @@ open class HomeActivity : LocaleAwareAppCompatActivity(), NavHostActivity {
}
maybeShowSetAsDefaultBrowserPrompt()
} else {
- StartOnHome.enterHomeScreen.record(NoExtras())
+// StartOnHome.enterHomeScreen.record(NoExtras())
}
}
Performance.processIntentIfPerformanceTest(intent, this)
// This will record an event in Nimbus' internal event store. Used for behavioral targeting
- recordEventInNimbus("app_opened")
+/* recordEventInNimbus("app_opened")
if (settings().isTelemetryEnabled) {
lifecycle.addObserver(
BreadcrumbsRecorder(
@@ -527,7 +527,7 @@ open class HomeActivity : LocaleAwareAppCompatActivity(), NavHostActivity {
AppIcon.newPrivateTabTapped.record(NoExtras())
}
}
- }
+ } */
supportActionBar?.hide()
lifecycle.addObservers(
@@ -626,7 +626,7 @@ open class HomeActivity : LocaleAwareAppCompatActivity(), NavHostActivity {
components.strictMode.allowViolation(StrictMode::allowThreadDiskReads) {
components.appStore.dispatch(AppAction.UpdateWasNativeDefaultBrowserPromptShown(true))
showSetDefaultBrowserPrompt()
- Metrics.setAsDefaultBrowserNativePromptShown.record()
+// Metrics.setAsDefaultBrowserNativePromptShown.record()
settings().setAsDefaultPromptCalled()
}
}
@@ -693,7 +693,7 @@ open class HomeActivity : LocaleAwareAppCompatActivity(), NavHostActivity {
}
lifecycleScope.launch(IO) {
- if (settings().checkIfFenixIsDefaultBrowserOnAppResume()) {
+/* if (settings().checkIfFenixIsDefaultBrowserOnAppResume()) {
if (components.appStore.state.wasNativeDefaultBrowserPromptShown) {
Metrics.defaultBrowserChangedViaNativeSystemPrompt.record(NoExtras())
}
@@ -701,10 +701,10 @@ open class HomeActivity : LocaleAwareAppCompatActivity(), NavHostActivity {
}
GrowthDataWorker.sendActivatedSignalIfNeeded(applicationContext)
- FontEnumerationWorker.sendActivatedSignalIfNeeded(applicationContext)
+ FontEnumerationWorker.sendActivatedSignalIfNeeded(applicationContext) */
if (NotificationManagerCompat.from(applicationContext).areNotificationsEnabled()) {
- ReEngagementNotificationWorker.setReEngagementNotificationIfNeeded(applicationContext)
+// ReEngagementNotificationWorker.setReEngagementNotificationIfNeeded(applicationContext)
MessageNotificationWorker.setMessageNotificationWorker(applicationContext)
}
@@ -847,7 +847,7 @@ open class HomeActivity : LocaleAwareAppCompatActivity(), NavHostActivity {
components.core.pocketStoriesService.stopPeriodicSponsoredContentsRefresh()
privateNotificationObserver?.stop()
components.notificationsDelegate.unBindActivity(this)
- MarketingAttributionService(applicationContext).stop()
+// MarketingAttributionService(applicationContext).stop()
// clear hierarchy change listener set by AndroidX SplashScreen
// https://bugzilla.mozilla.org/show_bug.cgi?id=1950295
@@ -1356,14 +1356,14 @@ open class HomeActivity : LocaleAwareAppCompatActivity(), NavHostActivity {
)
}
if (recentlyUsedPwaCount == 0) {
- Metrics.hasRecentPwas.set(false)
+// Metrics.hasRecentPwas.set(false)
} else {
- Metrics.hasRecentPwas.set(true)
+// Metrics.hasRecentPwas.set(true)
// This metric's lifecycle is set to 'application', meaning that it gets reset upon
// application restart. Combined with the behaviour of the metric type itself (a growing counter),
// it's important that this metric is only set once per application's lifetime.
// Otherwise, we're going to over-count.
- Metrics.recentlyUsedPwaCount.add(recentlyUsedPwaCount)
+// Metrics.recentlyUsedPwaCount.add(recentlyUsedPwaCount)
}
}
}
diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/search/BrowserToolbarSearchMiddleware.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/search/BrowserToolbarSearchMiddleware.kt
index 14f85cc900..979e3548b6 100644
--- a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/search/BrowserToolbarSearchMiddleware.kt
+++ b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/search/BrowserToolbarSearchMiddleware.kt
@@ -252,11 +252,11 @@ class BrowserToolbarSearchMiddleware(
)
browserStore.dispatch(EngagementFinished(abandoned = false))
}
- "about:glean" -> {
+/* "about:glean" -> {
navController.navigate(
NavGraphDirections.actionGlobalGleanDebugToolsFragment(),
)
- }
+ } */
"moz://a" -> openSearchOrUrl(
SupportUtils.getMozillaPageUrl(SupportUtils.MozillaPage.MANIFESTO),
navController,
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 b57cdc1bf5..682ec7742b 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(
navController.navigateSafe(R.id.searchDialogFragment, directions)
store.dispatch(AwesomeBarAction.EngagementFinished(abandoned = false))
}
- "about:glean" -> {
+/* "about:glean" -> {
val directions = SearchDialogFragmentDirections.actionGleanDebugToolsFragment()
navController.navigate(directions)
- }
+ } */
"moz://a" -> openSearchOrUrl(
SupportUtils.getMozillaPageUrl(SupportUtils.MozillaPage.MANIFESTO),
)
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 35d4c5a9c0..a07e672086 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
@@ -38,7 +38,7 @@ import org.mozilla.experiments.nimbus.NimbusEventStore
import org.mozilla.fenix.BuildConfig
import org.mozilla.fenix.Config
import org.mozilla.fenix.FeatureFlags
-import org.mozilla.fenix.GleanMetrics.TopSites
+// import org.mozilla.fenix.GleanMetrics.TopSites
import org.mozilla.fenix.R
import org.mozilla.fenix.autofill.address.RegionAddressFeatureGate
import org.mozilla.fenix.browser.browsingmode.BrowsingMode
@@ -403,7 +403,7 @@ class Settings(private val appContext: Context) : PreferencesHolder {
var contileContextId by stringPreference(
appContext.getPreferenceKey(R.string.pref_key_contile_context_id),
- default = TopSites.contextId.generateAndSet().toString(),
+ default = "",
persistDefaultIfNotExists = true,
)