For #24148: Remove wrapper from tracking protection metrics.

This commit is contained in:
mcarare 2022-03-08 18:16:46 +02:00 committed by mergify[bot]
parent cb14837bc6
commit 74eb9b9c1b
8 changed files with 16 additions and 56 deletions

View File

@ -4394,6 +4394,7 @@ tracking_protection:
extra_keys: extra_keys:
etp_setting: etp_setting:
description: "The new setting for ETP: strict, standard, custom" description: "The new setting for ETP: strict, standard, custom"
type: string
bugs: bugs:
- https://github.com/mozilla-mobile/fenix/issues/5312 - https://github.com/mozilla-mobile/fenix/issues/5312
- https://github.com/mozilla-mobile/fenix/issues/11063 - https://github.com/mozilla-mobile/fenix/issues/11063

View File

@ -23,7 +23,6 @@ import org.mozilla.fenix.GleanMetrics.SearchShortcuts
import org.mozilla.fenix.GleanMetrics.SearchTerms import org.mozilla.fenix.GleanMetrics.SearchTerms
import org.mozilla.fenix.GleanMetrics.ToolbarSettings import org.mozilla.fenix.GleanMetrics.ToolbarSettings
import org.mozilla.fenix.GleanMetrics.TopSites import org.mozilla.fenix.GleanMetrics.TopSites
import org.mozilla.fenix.GleanMetrics.TrackingProtection
import org.mozilla.fenix.R import org.mozilla.fenix.R
import org.mozilla.fenix.ext.name import org.mozilla.fenix.ext.name
import java.util.Locale import java.util.Locale
@ -141,11 +140,6 @@ sealed class Event {
object TopSiteContilePrivacy : Event() object TopSiteContilePrivacy : Event()
object GoogleTopSiteRemoved : Event() object GoogleTopSiteRemoved : Event()
object BaiduTopSiteRemoved : Event() object BaiduTopSiteRemoved : Event()
object TrackingProtectionTrackerList : Event()
object TrackingProtectionIconPressed : Event()
object TrackingProtectionSettingsPanel : Event()
object TrackingProtectionSettings : Event()
object TrackingProtectionException : Event()
object OpenLogins : Event() object OpenLogins : Event()
object OpenOneLogin : Event() object OpenOneLogin : Event()
object CopyLogin : Event() object CopyLogin : Event()
@ -406,13 +400,6 @@ sealed class Event {
get() = hashMapOf(Events.openedLinkKeys.mode to mode.name) get() = hashMapOf(Events.openedLinkKeys.mode to mode.name)
} }
data class TrackingProtectionSettingChanged(val setting: Setting) : Event() {
enum class Setting { STRICT, STANDARD, CUSTOM }
override val extras: Map<TrackingProtection.etpSettingChangedKeys, String>?
get() = hashMapOf(TrackingProtection.etpSettingChangedKeys.etpSetting to setting.name)
}
data class SaveLoginsSettingChanged(val setting: Setting) : Event() { data class SaveLoginsSettingChanged(val setting: Setting) : Event() {
enum class Setting { NEVER_SAVE, ASK_TO_SAVE } enum class Setting { NEVER_SAVE, ASK_TO_SAVE }

View File

@ -54,7 +54,6 @@ import org.mozilla.fenix.GleanMetrics.Tab
import org.mozilla.fenix.GleanMetrics.Tabs import org.mozilla.fenix.GleanMetrics.Tabs
import org.mozilla.fenix.GleanMetrics.ToolbarSettings import org.mozilla.fenix.GleanMetrics.ToolbarSettings
import org.mozilla.fenix.GleanMetrics.TopSites import org.mozilla.fenix.GleanMetrics.TopSites
import org.mozilla.fenix.GleanMetrics.TrackingProtection
import org.mozilla.fenix.GleanMetrics.VoiceSearch import org.mozilla.fenix.GleanMetrics.VoiceSearch
import org.mozilla.fenix.GleanMetrics.Wallpapers import org.mozilla.fenix.GleanMetrics.Wallpapers
import org.mozilla.fenix.ext.components import org.mozilla.fenix.ext.components
@ -455,25 +454,7 @@ private val Event.wrapper: EventWrapper<*>?
is Event.NotificationMediaPause -> EventWrapper<NoExtraKeys>( is Event.NotificationMediaPause -> EventWrapper<NoExtraKeys>(
{ MediaNotification.pause.record(it) } { MediaNotification.pause.record(it) }
) )
is Event.TrackingProtectionTrackerList -> EventWrapper<NoExtraKeys>(
{ TrackingProtection.etpTrackerList.record(it) }
)
is Event.TrackingProtectionIconPressed -> EventWrapper<NoExtraKeys>(
{ TrackingProtection.etpShield.record(it) }
)
is Event.TrackingProtectionSettingsPanel -> EventWrapper<NoExtraKeys>(
{ TrackingProtection.panelSettings.record(it) }
)
is Event.TrackingProtectionSettings -> EventWrapper<NoExtraKeys>(
{ TrackingProtection.etpSettings.record(it) }
)
is Event.TrackingProtectionException -> EventWrapper<NoExtraKeys>(
{ TrackingProtection.exceptionAdded.record(it) }
)
is Event.TrackingProtectionSettingChanged -> EventWrapper(
{ TrackingProtection.etpSettingChanged.record(it) },
{ TrackingProtection.etpSettingChangedKeys.valueOf(it) }
)
is Event.OpenedLink -> EventWrapper( is Event.OpenedLink -> EventWrapper(
{ Events.openedLink.record(it) }, { Events.openedLink.record(it) },
{ Events.openedLinkKeys.valueOf(it) } { Events.openedLinkKeys.valueOf(it) }

View File

@ -34,8 +34,10 @@ import mozilla.components.concept.sync.AuthType
import mozilla.components.concept.sync.OAuthAccount import mozilla.components.concept.sync.OAuthAccount
import mozilla.components.concept.sync.Profile import mozilla.components.concept.sync.Profile
import mozilla.components.support.ktx.android.view.showKeyboard import mozilla.components.support.ktx.android.view.showKeyboard
import mozilla.telemetry.glean.private.NoExtras
import org.mozilla.fenix.BrowserDirection import org.mozilla.fenix.BrowserDirection
import org.mozilla.fenix.Config import org.mozilla.fenix.Config
import org.mozilla.fenix.GleanMetrics.TrackingProtection
import org.mozilla.fenix.HomeActivity import org.mozilla.fenix.HomeActivity
import org.mozilla.fenix.R import org.mozilla.fenix.R
import org.mozilla.fenix.components.metrics.Event import org.mozilla.fenix.components.metrics.Event
@ -248,7 +250,7 @@ class SettingsFragment : PreferenceFragmentCompat() {
SettingsFragmentDirections.actionSettingsFragmentToSearchEngineFragment() SettingsFragmentDirections.actionSettingsFragmentToSearchEngineFragment()
} }
resources.getString(R.string.pref_key_tracking_protection_settings) -> { resources.getString(R.string.pref_key_tracking_protection_settings) -> {
requireContext().metrics.track(Event.TrackingProtectionSettings) TrackingProtection.etpSettings.record(NoExtras())
SettingsFragmentDirections.actionSettingsFragmentToTrackingProtectionFragment() SettingsFragmentDirections.actionSettingsFragmentToTrackingProtectionFragment()
} }
resources.getString(R.string.pref_key_site_permissions) -> { resources.getString(R.string.pref_key_site_permissions) -> {

View File

@ -13,12 +13,11 @@ import androidx.preference.Preference
import androidx.preference.PreferenceFragmentCompat import androidx.preference.PreferenceFragmentCompat
import androidx.preference.SwitchPreference import androidx.preference.SwitchPreference
import org.mozilla.fenix.BrowserDirection import org.mozilla.fenix.BrowserDirection
import org.mozilla.fenix.GleanMetrics.TrackingProtection
import org.mozilla.fenix.HomeActivity import org.mozilla.fenix.HomeActivity
import org.mozilla.fenix.R import org.mozilla.fenix.R
import org.mozilla.fenix.components.metrics.Event
import org.mozilla.fenix.ext.components import org.mozilla.fenix.ext.components
import org.mozilla.fenix.ext.nav import org.mozilla.fenix.ext.nav
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.trackingprotection.TrackingProtectionMode import org.mozilla.fenix.trackingprotection.TrackingProtectionMode
@ -106,20 +105,10 @@ class TrackingProtectionFragment : PreferenceFragmentCompat() {
val radio = requirePreference<RadioButtonInfoPreference>(mode.preferenceKey) val radio = requirePreference<RadioButtonInfoPreference>(mode.preferenceKey)
radio.contentDescription = getString(mode.contentDescriptionRes) radio.contentDescription = getString(mode.contentDescriptionRes)
val metrics = requireComponents.analytics.metrics
radio.onClickListener { radio.onClickListener {
updateCustomOptionsVisibility() updateCustomOptionsVisibility()
updateTrackingProtectionPolicy() updateTrackingProtectionPolicy()
when (mode) { TrackingProtection.etpSettingChanged.record(TrackingProtection.EtpSettingChangedExtra(mode.name))
TrackingProtectionMode.STANDARD ->
Event.TrackingProtectionSettingChanged.Setting.STANDARD
TrackingProtectionMode.STRICT ->
Event.TrackingProtectionSettingChanged.Setting.STRICT
TrackingProtectionMode.CUSTOM ->
Event.TrackingProtectionSettingChanged.Setting.CUSTOM
}.let { setting ->
metrics.track(Event.TrackingProtectionSettingChanged(setting))
}
} }
radio.onInfoClickListener { radio.onInfoClickListener {

View File

@ -17,11 +17,11 @@ import mozilla.components.feature.session.SessionUseCases.ReloadUrlUseCase
import mozilla.components.feature.tabs.TabsUseCases.AddNewTabUseCase import mozilla.components.feature.tabs.TabsUseCases.AddNewTabUseCase
import mozilla.components.support.base.feature.OnNeedToRequestPermissions import mozilla.components.support.base.feature.OnNeedToRequestPermissions
import mozilla.components.support.ktx.kotlin.getOrigin import mozilla.components.support.ktx.kotlin.getOrigin
import mozilla.telemetry.glean.private.NoExtras
import org.mozilla.fenix.GleanMetrics.TrackingProtection
import org.mozilla.fenix.NavGraphDirections import org.mozilla.fenix.NavGraphDirections
import org.mozilla.fenix.components.PermissionStorage import org.mozilla.fenix.components.PermissionStorage
import org.mozilla.fenix.components.metrics.Event
import org.mozilla.fenix.ext.components import org.mozilla.fenix.ext.components
import org.mozilla.fenix.ext.metrics
import org.mozilla.fenix.settings.PhoneFeature import org.mozilla.fenix.settings.PhoneFeature
import org.mozilla.fenix.settings.quicksettings.ext.shouldBeEnabled import org.mozilla.fenix.settings.quicksettings.ext.shouldBeEnabled
import org.mozilla.fenix.settings.toggle import org.mozilla.fenix.settings.toggle
@ -194,7 +194,7 @@ class DefaultQuickSettingsController(
if (isEnabled) { if (isEnabled) {
trackingProtectionUseCases.removeException(session.id) trackingProtectionUseCases.removeException(session.id)
} else { } else {
context.metrics.track(Event.TrackingProtectionException) TrackingProtection.exceptionAdded.record(NoExtras())
trackingProtectionUseCases.addException(session.id) trackingProtectionUseCases.addException(session.id)
} }

View File

@ -36,13 +36,13 @@ import mozilla.components.support.base.feature.UserInteractionHandler
import mozilla.components.support.base.log.logger.Logger import mozilla.components.support.base.log.logger.Logger
import mozilla.components.support.ktx.kotlinx.coroutines.flow.ifAnyChanged import mozilla.components.support.ktx.kotlinx.coroutines.flow.ifAnyChanged
import mozilla.components.support.ktx.kotlinx.coroutines.flow.ifChanged import mozilla.components.support.ktx.kotlinx.coroutines.flow.ifChanged
import mozilla.telemetry.glean.private.NoExtras
import org.mozilla.fenix.BrowserDirection import org.mozilla.fenix.BrowserDirection
import org.mozilla.fenix.GleanMetrics.TrackingProtection
import org.mozilla.fenix.HomeActivity import org.mozilla.fenix.HomeActivity
import org.mozilla.fenix.R import org.mozilla.fenix.R
import org.mozilla.fenix.components.StoreProvider import org.mozilla.fenix.components.StoreProvider
import org.mozilla.fenix.components.metrics.Event
import org.mozilla.fenix.databinding.FragmentTrackingProtectionBinding import org.mozilla.fenix.databinding.FragmentTrackingProtectionBinding
import org.mozilla.fenix.ext.metrics
import org.mozilla.fenix.ext.nav import org.mozilla.fenix.ext.nav
import org.mozilla.fenix.ext.requireComponents import org.mozilla.fenix.ext.requireComponents
import org.mozilla.fenix.settings.SupportUtils import org.mozilla.fenix.settings.SupportUtils
@ -143,7 +143,7 @@ class TrackingProtectionPanelDialogFragment : AppCompatDialogFragment(), UserInt
} }
private fun openTrackingProtectionSettings() { private fun openTrackingProtectionSettings() {
requireContext().metrics.track(Event.TrackingProtectionSettingsPanel) TrackingProtection.panelSettings.record(NoExtras())
nav( nav(
R.id.trackingProtectionPanelDialogFragment, R.id.trackingProtectionPanelDialogFragment,
TrackingProtectionPanelDialogFragmentDirections.actionGlobalTrackingProtectionFragment() TrackingProtectionPanelDialogFragmentDirections.actionGlobalTrackingProtectionFragment()

View File

@ -20,11 +20,11 @@ import androidx.core.view.isVisible
import mozilla.components.browser.state.state.CustomTabSessionState import mozilla.components.browser.state.state.CustomTabSessionState
import mozilla.components.concept.engine.content.blocking.TrackerLog import mozilla.components.concept.engine.content.blocking.TrackerLog
import mozilla.components.support.ktx.kotlin.tryGetHostFromUrl import mozilla.components.support.ktx.kotlin.tryGetHostFromUrl
import mozilla.telemetry.glean.private.NoExtras
import org.mozilla.fenix.GleanMetrics.TrackingProtection
import org.mozilla.fenix.R import org.mozilla.fenix.R
import org.mozilla.fenix.components.metrics.Event
import org.mozilla.fenix.databinding.ComponentTrackingProtectionPanelBinding import org.mozilla.fenix.databinding.ComponentTrackingProtectionPanelBinding
import org.mozilla.fenix.ext.addUnderline import org.mozilla.fenix.ext.addUnderline
import org.mozilla.fenix.ext.metrics
import org.mozilla.fenix.trackingprotection.TrackingProtectionCategory.CROSS_SITE_TRACKING_COOKIES import org.mozilla.fenix.trackingprotection.TrackingProtectionCategory.CROSS_SITE_TRACKING_COOKIES
import org.mozilla.fenix.trackingprotection.TrackingProtectionCategory.CRYPTOMINERS import org.mozilla.fenix.trackingprotection.TrackingProtectionCategory.CRYPTOMINERS
import org.mozilla.fenix.trackingprotection.TrackingProtectionCategory.FINGERPRINTERS import org.mozilla.fenix.trackingprotection.TrackingProtectionCategory.FINGERPRINTERS
@ -258,7 +258,7 @@ class TrackingProtectionPanelView(
override fun onClick(v: View) { override fun onClick(v: View) {
val category = getCategory(v) ?: return val category = getCategory(v) ?: return
v.context.metrics.track(Event.TrackingProtectionTrackerList) TrackingProtection.etpTrackerList.record(NoExtras())
shouldFocusAccessibilityView = true shouldFocusAccessibilityView = true
interactor.openDetails(category, categoryBlocked = !isLoaded(v)) interactor.openDetails(category, categoryBlocked = !isLoaded(v))
} }