commit e9090d7ea57c8640e8da3bd9c675453d82b8a41e parent 775705d9e5e29f9b81899080d20b3ecbdd4e244b Author: Roger Yang <royang@mozilla.com> Date: Wed, 12 Nov 2025 16:49:29 +0000 Bug 1999344 - Add telemetry for tab strip setting. r=android-reviewers,petru Differential Revision: https://phabricator.services.mozilla.com/D272067 Diffstat:
3 files changed, 22 insertions(+), 0 deletions(-)
diff --git a/mobile/android/fenix/app/metrics.yaml b/mobile/android/fenix/app/metrics.yaml @@ -6657,6 +6657,23 @@ tabs_tray: expires: never tab_strip: + enabled: + type: boolean + lifetime: application + description: | + Whether or not Tab Strip is enabled by the user. + bugs: + - https://bugzilla.mozilla.org/show_bug.cgi?id=1999344 + data_reviews: + - https://bugzilla.mozilla.org/show_bug.cgi?id=1999344 + data_sensitivity: + - interaction + notification_emails: + - android-probes@mozilla.com + expires: never + metadata: + tags: + - Tabs new_tab_tapped: type: event description: | 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 @@ -81,6 +81,7 @@ import org.mozilla.fenix.GleanMetrics.Metrics import org.mozilla.fenix.GleanMetrics.PerfStartup import org.mozilla.fenix.GleanMetrics.Preferences import org.mozilla.fenix.GleanMetrics.SearchDefaultEngine +import org.mozilla.fenix.GleanMetrics.TabStrip import org.mozilla.fenix.GleanMetrics.TermsOfUse import org.mozilla.fenix.components.Components import org.mozilla.fenix.components.Core @@ -924,6 +925,7 @@ open class FenixApplication : LocaleAwareApplication(), Provider { signedInSync.set(settings.signedInFxaAccount) isolatedContentProcessesEnabled.set(settings.isIsolatedProcessEnabled) appZygoteIsolatedContentProcessesEnabled.set(settings.isAppZygoteEnabled) + TabStrip.enabled.set(settings.isTabStripEnabled) val syncedItems = SyncEnginesStorage(applicationContext).getStatus().entries.filter { it.value diff --git a/mobile/android/fenix/app/src/test/java/org/mozilla/fenix/FenixApplicationTest.kt b/mobile/android/fenix/app/src/test/java/org/mozilla/fenix/FenixApplicationTest.kt @@ -34,6 +34,7 @@ import org.mozilla.fenix.GleanMetrics.Addons import org.mozilla.fenix.GleanMetrics.Metrics import org.mozilla.fenix.GleanMetrics.Preferences import org.mozilla.fenix.GleanMetrics.SearchDefaultEngine +import org.mozilla.fenix.GleanMetrics.TabStrip import org.mozilla.fenix.GleanMetrics.TopSites import org.mozilla.fenix.components.metrics.MozillaProductDetector import org.mozilla.fenix.components.toolbar.ToolbarPosition @@ -186,6 +187,7 @@ class FenixApplicationTest { every { dohSettingsProvider.getSelectedProtectionLevel() } returns ProtectionLevel.Max every { settings.getHttpsOnlyMode() } returns HttpsOnlyMode.ENABLED_PRIVATE_ONLY every { settings.shouldEnableGlobalPrivacyControl } returns true + every { settings.isTabStripEnabled } returns true assertTrue(settings.contileContextId.isNotEmpty()) assertNotNull(TopSites.contextId.testGetValue()) @@ -244,6 +246,7 @@ class FenixApplicationTest { assertEquals("Max", Preferences.dohProtectionLevel.testGetValue()) assertEquals("ENABLED_PRIVATE_ONLY", Preferences.httpsOnlyMode.testGetValue()) assertEquals(true, Preferences.globalPrivacyControlEnabled.testGetValue()) + assertEquals(true, TabStrip.enabled.testGetValue()) val contextId = TopSites.contextId.testGetValue()!!.toString()