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
|
- fenix-core@mozilla.com
|
||||||
- gkruglov@mozilla.com
|
- gkruglov@mozilla.com
|
||||||
expires: "2020-10-01"
|
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.AboutPage
|
||||||
import org.mozilla.fenix.GleanMetrics.Addons
|
import org.mozilla.fenix.GleanMetrics.Addons
|
||||||
import org.mozilla.fenix.GleanMetrics.AppTheme
|
import org.mozilla.fenix.GleanMetrics.AppTheme
|
||||||
|
import org.mozilla.fenix.GleanMetrics.Autoplay
|
||||||
import org.mozilla.fenix.GleanMetrics.BookmarksManagement
|
import org.mozilla.fenix.GleanMetrics.BookmarksManagement
|
||||||
import org.mozilla.fenix.GleanMetrics.BrowserSearch
|
import org.mozilla.fenix.GleanMetrics.BrowserSearch
|
||||||
import org.mozilla.fenix.GleanMetrics.Collections
|
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.SyncAccount
|
||||||
import org.mozilla.fenix.GleanMetrics.SyncAuth
|
import org.mozilla.fenix.GleanMetrics.SyncAuth
|
||||||
import org.mozilla.fenix.GleanMetrics.Tab
|
import org.mozilla.fenix.GleanMetrics.Tab
|
||||||
|
import org.mozilla.fenix.GleanMetrics.TabsTray
|
||||||
import org.mozilla.fenix.GleanMetrics.Tip
|
import org.mozilla.fenix.GleanMetrics.Tip
|
||||||
import org.mozilla.fenix.GleanMetrics.ToolbarSettings
|
import org.mozilla.fenix.GleanMetrics.ToolbarSettings
|
||||||
import org.mozilla.fenix.GleanMetrics.TopSites
|
import org.mozilla.fenix.GleanMetrics.TopSites
|
||||||
|
@ -633,40 +635,47 @@ private val Event.wrapper: EventWrapper<*>?
|
||||||
)
|
)
|
||||||
|
|
||||||
is Event.TabsTrayOpened -> EventWrapper<NoExtraKeys>(
|
is Event.TabsTrayOpened -> EventWrapper<NoExtraKeys>(
|
||||||
{ org.mozilla.fenix.GleanMetrics.TabsTray.opened.record(it) }
|
{ TabsTray.opened.record(it) }
|
||||||
)
|
)
|
||||||
is Event.TabsTrayClosed -> EventWrapper<NoExtraKeys>(
|
is Event.TabsTrayClosed -> EventWrapper<NoExtraKeys>(
|
||||||
{ org.mozilla.fenix.GleanMetrics.TabsTray.closed.record(it) }
|
{ TabsTray.closed.record(it) }
|
||||||
)
|
)
|
||||||
is Event.OpenedExistingTab -> EventWrapper<NoExtraKeys>(
|
is Event.OpenedExistingTab -> EventWrapper<NoExtraKeys>(
|
||||||
{ org.mozilla.fenix.GleanMetrics.TabsTray.openedExistingTab.record(it) }
|
{ TabsTray.openedExistingTab.record(it) }
|
||||||
)
|
)
|
||||||
is Event.ClosedExistingTab -> EventWrapper<NoExtraKeys>(
|
is Event.ClosedExistingTab -> EventWrapper<NoExtraKeys>(
|
||||||
{ org.mozilla.fenix.GleanMetrics.TabsTray.closedExistingTab.record(it) }
|
{ TabsTray.closedExistingTab.record(it) }
|
||||||
)
|
)
|
||||||
is Event.TabsTrayPrivateModeTapped -> EventWrapper<NoExtraKeys>(
|
is Event.TabsTrayPrivateModeTapped -> EventWrapper<NoExtraKeys>(
|
||||||
{ org.mozilla.fenix.GleanMetrics.TabsTray.privateModeTapped.record(it) }
|
{ TabsTray.privateModeTapped.record(it) }
|
||||||
)
|
)
|
||||||
is Event.TabsTrayNormalModeTapped -> EventWrapper<NoExtraKeys>(
|
is Event.TabsTrayNormalModeTapped -> EventWrapper<NoExtraKeys>(
|
||||||
{ org.mozilla.fenix.GleanMetrics.TabsTray.normalModeTapped.record(it) }
|
{ TabsTray.normalModeTapped.record(it) }
|
||||||
)
|
)
|
||||||
is Event.NewTabTapped -> EventWrapper<NoExtraKeys>(
|
is Event.NewTabTapped -> EventWrapper<NoExtraKeys>(
|
||||||
{ org.mozilla.fenix.GleanMetrics.TabsTray.newTabTapped.record(it) }
|
{ TabsTray.newTabTapped.record(it) }
|
||||||
)
|
)
|
||||||
is Event.NewPrivateTabTapped -> EventWrapper<NoExtraKeys>(
|
is Event.NewPrivateTabTapped -> EventWrapper<NoExtraKeys>(
|
||||||
{ org.mozilla.fenix.GleanMetrics.TabsTray.newPrivateTabTapped.record(it) }
|
{ TabsTray.newPrivateTabTapped.record(it) }
|
||||||
)
|
)
|
||||||
is Event.TabsTrayMenuOpened -> EventWrapper<NoExtraKeys>(
|
is Event.TabsTrayMenuOpened -> EventWrapper<NoExtraKeys>(
|
||||||
{ org.mozilla.fenix.GleanMetrics.TabsTray.menuOpened.record(it) }
|
{ TabsTray.menuOpened.record(it) }
|
||||||
)
|
)
|
||||||
is Event.TabsTraySaveToCollectionPressed -> EventWrapper<NoExtraKeys>(
|
is Event.TabsTraySaveToCollectionPressed -> EventWrapper<NoExtraKeys>(
|
||||||
{ org.mozilla.fenix.GleanMetrics.TabsTray.saveToCollection.record(it) }
|
{ TabsTray.saveToCollection.record(it) }
|
||||||
)
|
)
|
||||||
is Event.TabsTrayShareAllTabsPressed -> EventWrapper<NoExtraKeys>(
|
is Event.TabsTrayShareAllTabsPressed -> EventWrapper<NoExtraKeys>(
|
||||||
{ org.mozilla.fenix.GleanMetrics.TabsTray.shareAllTabs.record(it) }
|
{ TabsTray.shareAllTabs.record(it) }
|
||||||
)
|
)
|
||||||
is Event.TabsTrayCloseAllTabsPressed -> EventWrapper<NoExtraKeys>(
|
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:
|
// 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.BuildConfig
|
||||||
import org.mozilla.fenix.GleanMetrics.Addons
|
import org.mozilla.fenix.GleanMetrics.Addons
|
||||||
import org.mozilla.fenix.GleanMetrics.AppTheme
|
import org.mozilla.fenix.GleanMetrics.AppTheme
|
||||||
|
import org.mozilla.fenix.GleanMetrics.Autoplay
|
||||||
import org.mozilla.fenix.GleanMetrics.Collections
|
import org.mozilla.fenix.GleanMetrics.Collections
|
||||||
import org.mozilla.fenix.GleanMetrics.ContextMenu
|
import org.mozilla.fenix.GleanMetrics.ContextMenu
|
||||||
import org.mozilla.fenix.GleanMetrics.CrashReporter
|
import org.mozilla.fenix.GleanMetrics.CrashReporter
|
||||||
|
@ -514,6 +515,17 @@ sealed class Event {
|
||||||
get() = mapOf(Events.tabCounterMenuActionKeys.item to item.toString().toLowerCase(Locale.ROOT))
|
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
|
sealed class Search
|
||||||
|
|
||||||
internal open val extras: Map<*, String>?
|
internal open val extras: Map<*, String>?
|
||||||
|
|
|
@ -10,7 +10,9 @@ import androidx.preference.Preference
|
||||||
import androidx.preference.Preference.OnPreferenceClickListener
|
import androidx.preference.Preference.OnPreferenceClickListener
|
||||||
import androidx.preference.PreferenceFragmentCompat
|
import androidx.preference.PreferenceFragmentCompat
|
||||||
import org.mozilla.fenix.R
|
import org.mozilla.fenix.R
|
||||||
|
import org.mozilla.fenix.components.metrics.Event
|
||||||
import org.mozilla.fenix.ext.getPreferenceKey
|
import org.mozilla.fenix.ext.getPreferenceKey
|
||||||
|
import org.mozilla.fenix.ext.requireComponents
|
||||||
import org.mozilla.fenix.ext.settings
|
import org.mozilla.fenix.ext.settings
|
||||||
import org.mozilla.fenix.ext.showToolbar
|
import org.mozilla.fenix.ext.showToolbar
|
||||||
import org.mozilla.fenix.settings.PhoneFeature
|
import org.mozilla.fenix.settings.PhoneFeature
|
||||||
|
@ -78,6 +80,11 @@ class SitePermissionsFragment : PreferenceFragmentCompat() {
|
||||||
private fun navigateToPhoneFeature(phoneFeature: PhoneFeature) {
|
private fun navigateToPhoneFeature(phoneFeature: PhoneFeature) {
|
||||||
val directions = SitePermissionsFragmentDirections
|
val directions = SitePermissionsFragmentDirections
|
||||||
.actionSitePermissionsToManagePhoneFeatures(phoneFeature)
|
.actionSitePermissionsToManagePhoneFeatures(phoneFeature)
|
||||||
|
|
||||||
|
if (phoneFeature == PhoneFeature.AUTOPLAY_AUDIBLE) {
|
||||||
|
requireComponents.analytics.metrics.track(Event.AutoPlaySettingVisited)
|
||||||
|
}
|
||||||
|
|
||||||
Navigation.findNavController(requireView()).navigate(directions)
|
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.ASK_TO_ALLOW
|
||||||
import mozilla.components.feature.sitepermissions.SitePermissionsRules.Action.BLOCKED
|
import mozilla.components.feature.sitepermissions.SitePermissionsRules.Action.BLOCKED
|
||||||
import org.mozilla.fenix.R
|
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.settings
|
||||||
import org.mozilla.fenix.ext.showToolbar
|
import org.mozilla.fenix.ext.showToolbar
|
||||||
import org.mozilla.fenix.settings.PhoneFeature.AUTOPLAY_AUDIBLE
|
import org.mozilla.fenix.settings.PhoneFeature.AUTOPLAY_AUDIBLE
|
||||||
|
@ -180,16 +182,27 @@ class SitePermissionsManagePhoneFeatureFragment : Fragment() {
|
||||||
*/
|
*/
|
||||||
private fun saveActionInSettings(autoplaySetting: Int) {
|
private fun saveActionInSettings(autoplaySetting: Int) {
|
||||||
settings.setAutoplayUserSetting(autoplaySetting)
|
settings.setAutoplayUserSetting(autoplaySetting)
|
||||||
|
val setting: Event.AutoPlaySettingChanged.AutoplaySetting
|
||||||
|
|
||||||
val (audible, inaudible) = when (autoplaySetting) {
|
val (audible, inaudible) = when (autoplaySetting) {
|
||||||
AUTOPLAY_ALLOW_ALL,
|
AUTOPLAY_ALLOW_ALL,
|
||||||
AUTOPLAY_ALLOW_ON_WIFI -> {
|
AUTOPLAY_ALLOW_ON_WIFI -> {
|
||||||
settings.setAutoplayUserSetting(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
|
BLOCKED to BLOCKED
|
||||||
}
|
}
|
||||||
AUTOPLAY_BLOCK_AUDIBLE -> BLOCKED to ALLOWED
|
|
||||||
AUTOPLAY_BLOCK_ALL -> BLOCKED to BLOCKED
|
|
||||||
else -> return
|
else -> return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
requireComponents.analytics.metrics.track(Event.AutoPlaySettingChanged(setting))
|
||||||
settings.setSitePermissionsPhoneFeatureAction(AUTOPLAY_AUDIBLE, audible)
|
settings.setSitePermissionsPhoneFeatureAction(AUTOPLAY_AUDIBLE, audible)
|
||||||
settings.setSitePermissionsPhoneFeatureAction(AUTOPLAY_INAUDIBLE, inaudible)
|
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_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 | |
|
| 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 | |
|
| 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.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.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 | |
|
| 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