For #11579 - Adds telemetry for autoplay settings in Site Permissions
This commit is contained in:
parent
f75be41d3a
commit
12b95b4902
|
@ -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"
|
||||
|
|
|
@ -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
|
||||
|
@ -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
|
||||
|
@ -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:
|
||||
|
|
|
@ -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
|
||||
|
@ -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>?
|
||||
|
|
|
@ -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
|
||||
|
@ -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)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
@ -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)
|
||||
}
|
||||
|
|
|
@ -56,6 +56,8 @@ The following metrics are added to the ping:
|
|||
| addons.open_addon_in_toolbar_menu |[event](https://mozilla.github.io/glean/book/user/metrics/event.html) |A user interacted with an installed add-on in the toolbar menu |[1](https://github.com/mozilla-mobile/fenix/pull/8318)|<ul><li>addon_id: The id of the add-on that was interacted with in the toolbar menu </li></ul>|2020-10-01 | |
|
||||
| addons.open_addons_in_settings |[event](https://mozilla.github.io/glean/book/user/metrics/event.html) |A user accessed "Add-ons" from the Settings |[1](https://github.com/mozilla-mobile/fenix/pull/8318)||2020-10-01 | |
|
||||
| app_theme.dark_theme_selected |[event](https://mozilla.github.io/glean/book/user/metrics/event.html) |A user selected Dark Theme |[1](https://github.com/mozilla-mobile/fenix/pull/7968)|<ul><li>source: The source from where dark theme was selected. The source can be 'SETTINGS' or 'ONBOARDING' </li></ul>|2020-10-01 | |
|
||||
| autoplay.setting_changed |[event](https://mozilla.github.io/glean/book/user/metrics/event.html) |A user changed their autoplay setting to either block_cellular, block_audio, or block_all. |[1](https://github.com/mozilla-mobile/fenix/pull/13041#issuecomment-665777411)|<ul><li>autoplay_setting: The new setting for autoplay: block_cellular, block_audio, or block_all. </li></ul>|2021-02-01 | |
|
||||
| autoplay.visited_setting |[event](https://mozilla.github.io/glean/book/user/metrics/event.html) |A user visited the autoplay settings screen |[1](https://github.com/mozilla-mobile/fenix/pull/13041#issuecomment-665777411)||2021-02-01 | |
|
||||
| bookmarks_management.copied |[event](https://mozilla.github.io/glean/book/user/metrics/event.html) |A user copied a bookmark. |[1](https://github.com/mozilla-mobile/fenix/pull/1708)||2020-10-01 | |
|
||||
| bookmarks_management.edited |[event](https://mozilla.github.io/glean/book/user/metrics/event.html) |A user edited the title and/or URL of an existing bookmark. |[1](https://github.com/mozilla-mobile/fenix/pull/1708)||2020-10-01 | |
|
||||
| bookmarks_management.folder_add |[event](https://mozilla.github.io/glean/book/user/metrics/event.html) |A user added a new bookmark folder. |[1](https://github.com/mozilla-mobile/fenix/pull/1708)||2020-10-01 | |
|
||||
|
|
Loading…
Reference in New Issue
Block a user