Loading app/metrics.yaml +29 −0 Original line number Diff line number Diff line Loading @@ -3207,3 +3207,32 @@ perf.awesomebar: - fenix-core@mozilla.com - gkruglov@mozilla.com expires: "2020-10-01" autoplay: visited_setting: type: event description: A user visited the autoplay settings screen bugs: - https://github.com/mozilla-mobile/fenix/issues/11579 data_reviews: - https://github.com/mozilla-mobile/fenix/pull/13041#issuecomment-665777411 notification_emails: - fenix-core@mozilla.com expires: "2021-02-01" setting_changed: type: event description: | A user changed their autoplay setting to either block_cellular, block_audio, or block_all. extra_keys: autoplay_setting: description: | The new setting for autoplay: block_cellular, block_audio, or block_all. bugs: - https://github.com/mozilla-mobile/fenix/issues/11579 data_reviews: - https://github.com/mozilla-mobile/fenix/pull/13041#issuecomment-665777411 notification_emails: - fenix-core@mozilla.com expires: "2021-02-01" app/src/main/java/org/mozilla/fenix/components/metrics/GleanMetricsService.kt +21 −12 Original line number Diff line number Diff line Loading @@ -12,6 +12,7 @@ import mozilla.components.support.base.log.logger.Logger import org.mozilla.fenix.GleanMetrics.AboutPage import org.mozilla.fenix.GleanMetrics.Addons import org.mozilla.fenix.GleanMetrics.AppTheme import org.mozilla.fenix.GleanMetrics.Autoplay import org.mozilla.fenix.GleanMetrics.BookmarksManagement import org.mozilla.fenix.GleanMetrics.BrowserSearch import org.mozilla.fenix.GleanMetrics.Collections Loading Loading @@ -45,6 +46,7 @@ import org.mozilla.fenix.GleanMetrics.SearchWidgetCfr import org.mozilla.fenix.GleanMetrics.SyncAccount import org.mozilla.fenix.GleanMetrics.SyncAuth import org.mozilla.fenix.GleanMetrics.Tab import org.mozilla.fenix.GleanMetrics.TabsTray import org.mozilla.fenix.GleanMetrics.Tip import org.mozilla.fenix.GleanMetrics.ToolbarSettings import org.mozilla.fenix.GleanMetrics.TopSites Loading Loading @@ -633,40 +635,47 @@ private val Event.wrapper: EventWrapper<*>? ) is Event.TabsTrayOpened -> EventWrapper<NoExtraKeys>( { org.mozilla.fenix.GleanMetrics.TabsTray.opened.record(it) } { TabsTray.opened.record(it) } ) is Event.TabsTrayClosed -> EventWrapper<NoExtraKeys>( { org.mozilla.fenix.GleanMetrics.TabsTray.closed.record(it) } { TabsTray.closed.record(it) } ) is Event.OpenedExistingTab -> EventWrapper<NoExtraKeys>( { org.mozilla.fenix.GleanMetrics.TabsTray.openedExistingTab.record(it) } { TabsTray.openedExistingTab.record(it) } ) is Event.ClosedExistingTab -> EventWrapper<NoExtraKeys>( { org.mozilla.fenix.GleanMetrics.TabsTray.closedExistingTab.record(it) } { TabsTray.closedExistingTab.record(it) } ) is Event.TabsTrayPrivateModeTapped -> EventWrapper<NoExtraKeys>( { org.mozilla.fenix.GleanMetrics.TabsTray.privateModeTapped.record(it) } { TabsTray.privateModeTapped.record(it) } ) is Event.TabsTrayNormalModeTapped -> EventWrapper<NoExtraKeys>( { org.mozilla.fenix.GleanMetrics.TabsTray.normalModeTapped.record(it) } { TabsTray.normalModeTapped.record(it) } ) is Event.NewTabTapped -> EventWrapper<NoExtraKeys>( { org.mozilla.fenix.GleanMetrics.TabsTray.newTabTapped.record(it) } { TabsTray.newTabTapped.record(it) } ) is Event.NewPrivateTabTapped -> EventWrapper<NoExtraKeys>( { org.mozilla.fenix.GleanMetrics.TabsTray.newPrivateTabTapped.record(it) } { TabsTray.newPrivateTabTapped.record(it) } ) is Event.TabsTrayMenuOpened -> EventWrapper<NoExtraKeys>( { org.mozilla.fenix.GleanMetrics.TabsTray.menuOpened.record(it) } { TabsTray.menuOpened.record(it) } ) is Event.TabsTraySaveToCollectionPressed -> EventWrapper<NoExtraKeys>( { org.mozilla.fenix.GleanMetrics.TabsTray.saveToCollection.record(it) } { TabsTray.saveToCollection.record(it) } ) is Event.TabsTrayShareAllTabsPressed -> EventWrapper<NoExtraKeys>( { org.mozilla.fenix.GleanMetrics.TabsTray.shareAllTabs.record(it) } { TabsTray.shareAllTabs.record(it) } ) is Event.TabsTrayCloseAllTabsPressed -> EventWrapper<NoExtraKeys>( { org.mozilla.fenix.GleanMetrics.TabsTray.closeAllTabs.record(it) } { TabsTray.closeAllTabs.record(it) } ) Event.AutoPlaySettingVisited -> EventWrapper<NoExtraKeys>( { Autoplay.visitedSetting.record(it) } ) is Event.AutoPlaySettingChanged -> EventWrapper( { Autoplay.settingChanged.record(it) }, { Autoplay.settingChangedKeys.valueOf(it) } ) // Don't record other events in Glean: Loading app/src/main/java/org/mozilla/fenix/components/metrics/Metrics.kt +12 −0 Original line number Diff line number Diff line Loading @@ -33,6 +33,7 @@ import mozilla.components.support.webextensions.facts.WebExtensionFacts import org.mozilla.fenix.BuildConfig import org.mozilla.fenix.GleanMetrics.Addons import org.mozilla.fenix.GleanMetrics.AppTheme import org.mozilla.fenix.GleanMetrics.Autoplay import org.mozilla.fenix.GleanMetrics.Collections import org.mozilla.fenix.GleanMetrics.ContextMenu import org.mozilla.fenix.GleanMetrics.CrashReporter Loading Loading @@ -514,6 +515,17 @@ sealed class Event { get() = mapOf(Events.tabCounterMenuActionKeys.item to item.toString().toLowerCase(Locale.ROOT)) } object AutoPlaySettingVisited : Event() data class AutoPlaySettingChanged(val setting: AutoplaySetting) : Event() { enum class AutoplaySetting { BLOCK_CELLULAR, BLOCK_AUDIO, BLOCK_ALL } override val extras: Map<Autoplay.settingChangedKeys, String>? get() = mapOf(Autoplay.settingChangedKeys.autoplaySetting to setting.toString().toLowerCase(Locale.ROOT)) } sealed class Search internal open val extras: Map<*, String>? Loading app/src/main/java/org/mozilla/fenix/settings/sitepermissions/SitePermissionsFragment.kt +7 −0 Original line number Diff line number Diff line Loading @@ -10,7 +10,9 @@ import androidx.preference.Preference import androidx.preference.Preference.OnPreferenceClickListener import androidx.preference.PreferenceFragmentCompat import org.mozilla.fenix.R import org.mozilla.fenix.components.metrics.Event import org.mozilla.fenix.ext.getPreferenceKey import org.mozilla.fenix.ext.requireComponents import org.mozilla.fenix.ext.settings import org.mozilla.fenix.ext.showToolbar import org.mozilla.fenix.settings.PhoneFeature Loading Loading @@ -78,6 +80,11 @@ class SitePermissionsFragment : PreferenceFragmentCompat() { private fun navigateToPhoneFeature(phoneFeature: PhoneFeature) { val directions = SitePermissionsFragmentDirections .actionSitePermissionsToManagePhoneFeatures(phoneFeature) if (phoneFeature == PhoneFeature.AUTOPLAY_AUDIBLE) { requireComponents.analytics.metrics.track(Event.AutoPlaySettingVisited) } Navigation.findNavController(requireView()).navigate(directions) } } app/src/main/java/org/mozilla/fenix/settings/sitepermissions/SitePermissionsManagePhoneFeatureFragment.kt +15 −2 Original line number Diff line number Diff line Loading @@ -27,6 +27,8 @@ import mozilla.components.feature.sitepermissions.SitePermissionsRules.Action.AL import mozilla.components.feature.sitepermissions.SitePermissionsRules.Action.ASK_TO_ALLOW import mozilla.components.feature.sitepermissions.SitePermissionsRules.Action.BLOCKED import org.mozilla.fenix.R import org.mozilla.fenix.components.metrics.Event import org.mozilla.fenix.ext.requireComponents import org.mozilla.fenix.ext.settings import org.mozilla.fenix.ext.showToolbar import org.mozilla.fenix.settings.PhoneFeature.AUTOPLAY_AUDIBLE Loading Loading @@ -180,16 +182,27 @@ class SitePermissionsManagePhoneFeatureFragment : Fragment() { */ private fun saveActionInSettings(autoplaySetting: Int) { settings.setAutoplayUserSetting(autoplaySetting) val setting: Event.AutoPlaySettingChanged.AutoplaySetting val (audible, inaudible) = when (autoplaySetting) { AUTOPLAY_ALLOW_ALL, AUTOPLAY_ALLOW_ON_WIFI -> { settings.setAutoplayUserSetting(AUTOPLAY_ALLOW_ON_WIFI) setting = Event.AutoPlaySettingChanged.AutoplaySetting.BLOCK_CELLULAR BLOCKED to BLOCKED } AUTOPLAY_BLOCK_AUDIBLE -> { setting = Event.AutoPlaySettingChanged.AutoplaySetting.BLOCK_AUDIO BLOCKED to ALLOWED } AUTOPLAY_BLOCK_ALL -> { setting = Event.AutoPlaySettingChanged.AutoplaySetting.BLOCK_ALL BLOCKED to BLOCKED } AUTOPLAY_BLOCK_AUDIBLE -> BLOCKED to ALLOWED AUTOPLAY_BLOCK_ALL -> BLOCKED to BLOCKED else -> return } requireComponents.analytics.metrics.track(Event.AutoPlaySettingChanged(setting)) settings.setSitePermissionsPhoneFeatureAction(AUTOPLAY_AUDIBLE, audible) settings.setSitePermissionsPhoneFeatureAction(AUTOPLAY_INAUDIBLE, inaudible) } Loading Loading
app/metrics.yaml +29 −0 Original line number Diff line number Diff line Loading @@ -3207,3 +3207,32 @@ perf.awesomebar: - fenix-core@mozilla.com - gkruglov@mozilla.com expires: "2020-10-01" autoplay: visited_setting: type: event description: A user visited the autoplay settings screen bugs: - https://github.com/mozilla-mobile/fenix/issues/11579 data_reviews: - https://github.com/mozilla-mobile/fenix/pull/13041#issuecomment-665777411 notification_emails: - fenix-core@mozilla.com expires: "2021-02-01" setting_changed: type: event description: | A user changed their autoplay setting to either block_cellular, block_audio, or block_all. extra_keys: autoplay_setting: description: | The new setting for autoplay: block_cellular, block_audio, or block_all. bugs: - https://github.com/mozilla-mobile/fenix/issues/11579 data_reviews: - https://github.com/mozilla-mobile/fenix/pull/13041#issuecomment-665777411 notification_emails: - fenix-core@mozilla.com expires: "2021-02-01"
app/src/main/java/org/mozilla/fenix/components/metrics/GleanMetricsService.kt +21 −12 Original line number Diff line number Diff line Loading @@ -12,6 +12,7 @@ import mozilla.components.support.base.log.logger.Logger import org.mozilla.fenix.GleanMetrics.AboutPage import org.mozilla.fenix.GleanMetrics.Addons import org.mozilla.fenix.GleanMetrics.AppTheme import org.mozilla.fenix.GleanMetrics.Autoplay import org.mozilla.fenix.GleanMetrics.BookmarksManagement import org.mozilla.fenix.GleanMetrics.BrowserSearch import org.mozilla.fenix.GleanMetrics.Collections Loading Loading @@ -45,6 +46,7 @@ import org.mozilla.fenix.GleanMetrics.SearchWidgetCfr import org.mozilla.fenix.GleanMetrics.SyncAccount import org.mozilla.fenix.GleanMetrics.SyncAuth import org.mozilla.fenix.GleanMetrics.Tab import org.mozilla.fenix.GleanMetrics.TabsTray import org.mozilla.fenix.GleanMetrics.Tip import org.mozilla.fenix.GleanMetrics.ToolbarSettings import org.mozilla.fenix.GleanMetrics.TopSites Loading Loading @@ -633,40 +635,47 @@ private val Event.wrapper: EventWrapper<*>? ) is Event.TabsTrayOpened -> EventWrapper<NoExtraKeys>( { org.mozilla.fenix.GleanMetrics.TabsTray.opened.record(it) } { TabsTray.opened.record(it) } ) is Event.TabsTrayClosed -> EventWrapper<NoExtraKeys>( { org.mozilla.fenix.GleanMetrics.TabsTray.closed.record(it) } { TabsTray.closed.record(it) } ) is Event.OpenedExistingTab -> EventWrapper<NoExtraKeys>( { org.mozilla.fenix.GleanMetrics.TabsTray.openedExistingTab.record(it) } { TabsTray.openedExistingTab.record(it) } ) is Event.ClosedExistingTab -> EventWrapper<NoExtraKeys>( { org.mozilla.fenix.GleanMetrics.TabsTray.closedExistingTab.record(it) } { TabsTray.closedExistingTab.record(it) } ) is Event.TabsTrayPrivateModeTapped -> EventWrapper<NoExtraKeys>( { org.mozilla.fenix.GleanMetrics.TabsTray.privateModeTapped.record(it) } { TabsTray.privateModeTapped.record(it) } ) is Event.TabsTrayNormalModeTapped -> EventWrapper<NoExtraKeys>( { org.mozilla.fenix.GleanMetrics.TabsTray.normalModeTapped.record(it) } { TabsTray.normalModeTapped.record(it) } ) is Event.NewTabTapped -> EventWrapper<NoExtraKeys>( { org.mozilla.fenix.GleanMetrics.TabsTray.newTabTapped.record(it) } { TabsTray.newTabTapped.record(it) } ) is Event.NewPrivateTabTapped -> EventWrapper<NoExtraKeys>( { org.mozilla.fenix.GleanMetrics.TabsTray.newPrivateTabTapped.record(it) } { TabsTray.newPrivateTabTapped.record(it) } ) is Event.TabsTrayMenuOpened -> EventWrapper<NoExtraKeys>( { org.mozilla.fenix.GleanMetrics.TabsTray.menuOpened.record(it) } { TabsTray.menuOpened.record(it) } ) is Event.TabsTraySaveToCollectionPressed -> EventWrapper<NoExtraKeys>( { org.mozilla.fenix.GleanMetrics.TabsTray.saveToCollection.record(it) } { TabsTray.saveToCollection.record(it) } ) is Event.TabsTrayShareAllTabsPressed -> EventWrapper<NoExtraKeys>( { org.mozilla.fenix.GleanMetrics.TabsTray.shareAllTabs.record(it) } { TabsTray.shareAllTabs.record(it) } ) is Event.TabsTrayCloseAllTabsPressed -> EventWrapper<NoExtraKeys>( { org.mozilla.fenix.GleanMetrics.TabsTray.closeAllTabs.record(it) } { TabsTray.closeAllTabs.record(it) } ) Event.AutoPlaySettingVisited -> EventWrapper<NoExtraKeys>( { Autoplay.visitedSetting.record(it) } ) is Event.AutoPlaySettingChanged -> EventWrapper( { Autoplay.settingChanged.record(it) }, { Autoplay.settingChangedKeys.valueOf(it) } ) // Don't record other events in Glean: Loading
app/src/main/java/org/mozilla/fenix/components/metrics/Metrics.kt +12 −0 Original line number Diff line number Diff line Loading @@ -33,6 +33,7 @@ import mozilla.components.support.webextensions.facts.WebExtensionFacts import org.mozilla.fenix.BuildConfig import org.mozilla.fenix.GleanMetrics.Addons import org.mozilla.fenix.GleanMetrics.AppTheme import org.mozilla.fenix.GleanMetrics.Autoplay import org.mozilla.fenix.GleanMetrics.Collections import org.mozilla.fenix.GleanMetrics.ContextMenu import org.mozilla.fenix.GleanMetrics.CrashReporter Loading Loading @@ -514,6 +515,17 @@ sealed class Event { get() = mapOf(Events.tabCounterMenuActionKeys.item to item.toString().toLowerCase(Locale.ROOT)) } object AutoPlaySettingVisited : Event() data class AutoPlaySettingChanged(val setting: AutoplaySetting) : Event() { enum class AutoplaySetting { BLOCK_CELLULAR, BLOCK_AUDIO, BLOCK_ALL } override val extras: Map<Autoplay.settingChangedKeys, String>? get() = mapOf(Autoplay.settingChangedKeys.autoplaySetting to setting.toString().toLowerCase(Locale.ROOT)) } sealed class Search internal open val extras: Map<*, String>? Loading
app/src/main/java/org/mozilla/fenix/settings/sitepermissions/SitePermissionsFragment.kt +7 −0 Original line number Diff line number Diff line Loading @@ -10,7 +10,9 @@ import androidx.preference.Preference import androidx.preference.Preference.OnPreferenceClickListener import androidx.preference.PreferenceFragmentCompat import org.mozilla.fenix.R import org.mozilla.fenix.components.metrics.Event import org.mozilla.fenix.ext.getPreferenceKey import org.mozilla.fenix.ext.requireComponents import org.mozilla.fenix.ext.settings import org.mozilla.fenix.ext.showToolbar import org.mozilla.fenix.settings.PhoneFeature Loading Loading @@ -78,6 +80,11 @@ class SitePermissionsFragment : PreferenceFragmentCompat() { private fun navigateToPhoneFeature(phoneFeature: PhoneFeature) { val directions = SitePermissionsFragmentDirections .actionSitePermissionsToManagePhoneFeatures(phoneFeature) if (phoneFeature == PhoneFeature.AUTOPLAY_AUDIBLE) { requireComponents.analytics.metrics.track(Event.AutoPlaySettingVisited) } Navigation.findNavController(requireView()).navigate(directions) } }
app/src/main/java/org/mozilla/fenix/settings/sitepermissions/SitePermissionsManagePhoneFeatureFragment.kt +15 −2 Original line number Diff line number Diff line Loading @@ -27,6 +27,8 @@ import mozilla.components.feature.sitepermissions.SitePermissionsRules.Action.AL import mozilla.components.feature.sitepermissions.SitePermissionsRules.Action.ASK_TO_ALLOW import mozilla.components.feature.sitepermissions.SitePermissionsRules.Action.BLOCKED import org.mozilla.fenix.R import org.mozilla.fenix.components.metrics.Event import org.mozilla.fenix.ext.requireComponents import org.mozilla.fenix.ext.settings import org.mozilla.fenix.ext.showToolbar import org.mozilla.fenix.settings.PhoneFeature.AUTOPLAY_AUDIBLE Loading Loading @@ -180,16 +182,27 @@ class SitePermissionsManagePhoneFeatureFragment : Fragment() { */ private fun saveActionInSettings(autoplaySetting: Int) { settings.setAutoplayUserSetting(autoplaySetting) val setting: Event.AutoPlaySettingChanged.AutoplaySetting val (audible, inaudible) = when (autoplaySetting) { AUTOPLAY_ALLOW_ALL, AUTOPLAY_ALLOW_ON_WIFI -> { settings.setAutoplayUserSetting(AUTOPLAY_ALLOW_ON_WIFI) setting = Event.AutoPlaySettingChanged.AutoplaySetting.BLOCK_CELLULAR BLOCKED to BLOCKED } AUTOPLAY_BLOCK_AUDIBLE -> { setting = Event.AutoPlaySettingChanged.AutoplaySetting.BLOCK_AUDIO BLOCKED to ALLOWED } AUTOPLAY_BLOCK_ALL -> { setting = Event.AutoPlaySettingChanged.AutoplaySetting.BLOCK_ALL BLOCKED to BLOCKED } AUTOPLAY_BLOCK_AUDIBLE -> BLOCKED to ALLOWED AUTOPLAY_BLOCK_ALL -> BLOCKED to BLOCKED else -> return } requireComponents.analytics.metrics.track(Event.AutoPlaySettingChanged(setting)) settings.setSitePermissionsPhoneFeatureAction(AUTOPLAY_AUDIBLE, audible) settings.setSitePermissionsPhoneFeatureAction(AUTOPLAY_INAUDIBLE, inaudible) } Loading