Files
IronFox/patches/fenix-remove-glean.patch
celenity 301f29a513 IronFox v145.0
ironfox-oss/IronFox!100
____

## Changes

- Added a toggle in settings to control the [media autoplay blocking policy](https://wiki.mozilla.org/Media/block-autoplay#What_strategy_does_Firefox_use_for_blocking_autoplay?) when JIT is otherwise disabled globally *(set to `Transient` by default)*, located at `Settings` -> `IronFox` -> `IronFox settings` -> **`Media autoplay`**.
- Fixed [an issue](https://gitlab.com/ironfox-oss/IronFox/-/issues/199) that prevented certain preferences from persisting across restarts.
- Updated the default version of Rust to [`1.91.0`](https://releases.rs/docs/1.91.0/).
- Updated to Firefox [`145.0`](https://firefox.com/firefox/android/145.0/releasenotes/).
- Updated to Phoenix [`2025.11.07.1`](https://codeberg.org/celenity/Phoenix/releases/tag/2025.11.07.1).
- [Other minor tweaks and adjustments](https://gitlab.com/ironfox-oss/IronFox/-/merge_requests/100/diffs).

MR-author: celenity <celenity@celenity.dev>
Co-authored-by: LucasMZ <git@lucasmz.dev>
Co-authored-by: Akash Yadav <itsaky01@gmail.com>
Approved-by: Akash Yadav <itsaky01@gmail.com>
Merged-by: celenity <celenity@celenity.dev>
2025-11-11 18:17:55 +00:00

374 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 8d4b2daebe..c0bf8899bd 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
@@ -53,10 +53,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,
@@ -144,14 +144,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 bd75990cd8..e3747d79e5 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
@@ -68,7 +68,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 e505349935..53c45356bd 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
@@ -83,13 +83,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 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 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.addons.ExtensionsProcessDisabledBackgroundController
import org.mozilla.fenix.addons.ExtensionsProcessDisabledForegroundController
import org.mozilla.fenix.bindings.ExternalAppLinkStatusBinding
@@ -100,10 +100,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.GrowthDataWorker
-import org.mozilla.fenix.components.metrics.MarketingAttributionService
-import org.mozilla.fenix.components.metrics.fonts.FontEnumerationWorker
+// 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.crashes.CrashReporterBinding
import org.mozilla.fenix.crashes.StartupCrashCanary
import org.mozilla.fenix.crashes.UnsubmittedCrashDialog
@@ -123,7 +123,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
@@ -142,7 +142,7 @@ import org.mozilla.fenix.home.intent.StartSearchIntentProcessor
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.MarkersActivityLifecycleCallbacks
@@ -417,11 +417,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) {
@@ -440,11 +440,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())
@@ -509,14 +509,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(
@@ -540,7 +540,7 @@ open class HomeActivity : LocaleAwareAppCompatActivity(), NavHostActivity {
AppIcon.newPrivateTabTapped.record(NoExtras())
}
}
- }
+ }*/
supportActionBar?.hide()
lifecycle.addObservers(
@@ -636,7 +636,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()
}
}
@@ -703,7 +703,7 @@ open class HomeActivity : LocaleAwareAppCompatActivity(), NavHostActivity {
}
lifecycleScope.launch(IO) {
- if (settings().checkIfFenixIsDefaultBrowserOnAppResume()) {
+/* if (settings().checkIfFenixIsDefaultBrowserOnAppResume()) {
if (components.appStore.state.wasNativeDefaultBrowserPromptShown) {
Metrics.defaultBrowserChangedViaNativeSystemPrompt.record(NoExtras())
}
@@ -711,10 +711,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)
}
@@ -857,7 +857,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
@@ -1366,14 +1366,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 410981e1ed..ec6f6a748e 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
@@ -245,11 +245,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 819b24954e..273349e0ca 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
@@ -96,10 +96,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 6ef1bc0ace..e17676d743 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.browser.browsingmode.BrowsingMode
import org.mozilla.fenix.components.settings.counterPreference
@@ -384,7 +384,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,
)