diff --git a/app/metrics.yaml b/app/metrics.yaml index a9b11cb8f..427a0bbfe 100644 --- a/app/metrics.yaml +++ b/app/metrics.yaml @@ -114,7 +114,7 @@ events: description: "The preference key for the boolean (true/false) preference the user toggled. We currently track: show_search_suggestions, remote_debugging, telemetry, tracking_protection, search_bookmarks, search_browsing_history, show_clipboard_suggestions, show_search_shortcuts, open_links_in_a_private_tab, - and pref_key_sync_logins" + pref_key_sync_logins, pref_key_sync_bookmarks and pref_key_sync_history" enabled: description: "Whether or not the preference is *now* enabled" bugs: @@ -122,12 +122,14 @@ events: - https://github.com/mozilla-mobile/fenix/issues/5094 - https://github.com/mozilla-mobile/fenix/issues/5737 - https://github.com/mozilla-mobile/fenix/issues/5586 + - https://github.com/mozilla-mobile/fenix/issues/6396 data_reviews: - https://github.com/mozilla-mobile/fenix/pull/1896 - https://github.com/mozilla-mobile/fenix/pull/5704 - https://github.com/mozilla-mobile/fenix/pull/5886 - https://github.com/mozilla-mobile/fenix/pull/5975 - https://github.com/mozilla-mobile/fenix/pull/6352 + - https://github.com/mozilla-mobile/fenix/pull/6601 notification_emails: - fenix-core@mozilla.com expires: "2020-03-01" diff --git a/app/src/main/java/org/mozilla/fenix/components/metrics/Metrics.kt b/app/src/main/java/org/mozilla/fenix/components/metrics/Metrics.kt index e1e7136a3..2e3f532b2 100644 --- a/app/src/main/java/org/mozilla/fenix/components/metrics/Metrics.kt +++ b/app/src/main/java/org/mozilla/fenix/components/metrics/Metrics.kt @@ -151,7 +151,9 @@ sealed class Event { context.getString(R.string.pref_key_show_clipboard_suggestions), context.getString(R.string.pref_key_show_search_shortcuts), context.getString(R.string.pref_key_open_links_in_a_private_tab), - context.getString(R.string.pref_key_sync_logins) + context.getString(R.string.pref_key_sync_logins), + context.getString(R.string.pref_key_sync_bookmarks), + context.getString(R.string.pref_key_sync_history) ) override val extras: Map? diff --git a/app/src/main/java/org/mozilla/fenix/settings/account/AccountSettingsFragment.kt b/app/src/main/java/org/mozilla/fenix/settings/account/AccountSettingsFragment.kt index 24d0babc6..0de6b84c2 100644 --- a/app/src/main/java/org/mozilla/fenix/settings/account/AccountSettingsFragment.kt +++ b/app/src/main/java/org/mozilla/fenix/settings/account/AccountSettingsFragment.kt @@ -166,7 +166,12 @@ class AccountSettingsFragment : PreferenceFragmentCompat() { val historyNameKey = getPreferenceKey(R.string.pref_key_sync_history) findPreference(historyNameKey)?.apply { setOnPreferenceChangeListener { _, newValue -> - SyncEnginesStorage(context).setStatus(SyncEngine.History, newValue as Boolean) + requireComponents.analytics.metrics.track(Event.PreferenceToggled( + preferenceKey = historyNameKey, + enabled = newValue as Boolean, + context = context + )) + SyncEnginesStorage(context).setStatus(SyncEngine.History, newValue) @Suppress("DeferredResultUnused") context.components.backgroundServices.accountManager.syncNowAsync(SyncReason.EngineChange) true @@ -176,7 +181,12 @@ class AccountSettingsFragment : PreferenceFragmentCompat() { val bookmarksNameKey = getPreferenceKey(R.string.pref_key_sync_bookmarks) findPreference(bookmarksNameKey)?.apply { setOnPreferenceChangeListener { _, newValue -> - SyncEnginesStorage(context).setStatus(SyncEngine.Bookmarks, newValue as Boolean) + requireComponents.analytics.metrics.track(Event.PreferenceToggled( + preferenceKey = bookmarksNameKey, + enabled = newValue as Boolean, + context = context + )) + SyncEnginesStorage(context).setStatus(SyncEngine.Bookmarks, newValue) @Suppress("DeferredResultUnused") context.components.backgroundServices.accountManager.syncNowAsync(SyncReason.EngineChange) true diff --git a/docs/metrics.md b/docs/metrics.md index 6fa313a8a..d1b718c8f 100644 --- a/docs/metrics.md +++ b/docs/metrics.md @@ -85,7 +85,7 @@ The following metrics are added to the ping: | events.entered_url |[event](https://mozilla.github.io/glean/book/user/metrics/event.html) |A user entered a url |[1](https://github.com/mozilla-mobile/fenix/pull/1067#issuecomment-474598673)|
  • autocomplete: A boolean that tells us whether the URL was autofilled by an Autocomplete suggestion
|2020-03-01 | | events.opened_link |[event](https://mozilla.github.io/glean/book/user/metrics/event.html) |A user opened a link with Fenix |[1](https://github.com/mozilla-mobile/fenix/pull/5975)|
  • mode: The mode the link was opened in. Either 'PRIVATE' or 'NORMAL'
|2020-03-01 | | events.performed_search |[event](https://mozilla.github.io/glean/book/user/metrics/event.html) |A user performed a search |[1](https://github.com/mozilla-mobile/fenix/pull/1067#issuecomment-474598673), [2](https://github.com/mozilla-mobile/fenix/pull/1677)|
  • source: A string that tells us how the user performed the search. Possible values are: * default.action * default.suggestion * shortcut.action * shortcut.suggestion
|2020-03-01 | -| events.preference_toggled |[event](https://mozilla.github.io/glean/book/user/metrics/event.html) |A user toggled a boolean preference in settings |[1](https://github.com/mozilla-mobile/fenix/pull/1896), [2](https://github.com/mozilla-mobile/fenix/pull/5704), [3](https://github.com/mozilla-mobile/fenix/pull/5886), [4](https://github.com/mozilla-mobile/fenix/pull/5975), [5](https://github.com/mozilla-mobile/fenix/pull/6352)|
  • enabled: Whether or not the preference is *now* enabled
  • preference_key: The preference key for the boolean (true/false) preference the user toggled. We currently track: show_search_suggestions, remote_debugging, telemetry, tracking_protection, search_bookmarks, search_browsing_history, show_clipboard_suggestions, show_search_shortcuts, open_links_in_a_private_tab, and pref_key_sync_logins
|2020-03-01 | +| events.preference_toggled |[event](https://mozilla.github.io/glean/book/user/metrics/event.html) |A user toggled a boolean preference in settings |[1](https://github.com/mozilla-mobile/fenix/pull/1896), [2](https://github.com/mozilla-mobile/fenix/pull/5704), [3](https://github.com/mozilla-mobile/fenix/pull/5886), [4](https://github.com/mozilla-mobile/fenix/pull/5975), [5](https://github.com/mozilla-mobile/fenix/pull/6352), [6](https://github.com/mozilla-mobile/fenix/pull/6601)|
  • enabled: Whether or not the preference is *now* enabled
  • preference_key: The preference key for the boolean (true/false) preference the user toggled. We currently track: show_search_suggestions, remote_debugging, telemetry, tracking_protection, search_bookmarks, search_browsing_history, show_clipboard_suggestions, show_search_shortcuts, open_links_in_a_private_tab, pref_key_sync_logins, pref_key_sync_bookmarks and pref_key_sync_history
|2020-03-01 | | events.search_bar_tapped |[event](https://mozilla.github.io/glean/book/user/metrics/event.html) |A user tapped the search bar |[1](https://github.com/mozilla-mobile/fenix/pull/1067#issuecomment-474598673)|
  • source: The view the user was on when they initiated the search (For example: `Home` or `Browser`)
|2020-03-01 | | events.whats_new_tapped |[event](https://mozilla.github.io/glean/book/user/metrics/event.html) |A user opened the "what's new" page button |[1](https://github.com/mozilla-mobile/fenix/pull/5090)|
  • source: The location from which the user selected the what's new button. Either 'about' or 'home'
|2020-03-01 | | find_in_page.closed |[event](https://mozilla.github.io/glean/book/user/metrics/event.html) |A user closed the find in page UI |[1](https://github.com/mozilla-mobile/fenix/pull/1344#issuecomment-479285010)||2020-03-01 |