commit 67be11daa4d7fb2387ec13ff514bf61346742e68 parent 6be5ec56177db39911411a16b5e8a20fd837aec3 Author: rmalicdem <rmalicdem@mozilla.com> Date: Tue, 9 Dec 2025 17:01:00 +0000 Bug 2002636 - Part 1: Add telemetry for toolbar shortcut selection in settings r=android-reviewers,Roger Differential Revision: https://phabricator.services.mozilla.com/D274607 Diffstat:
4 files changed, 38 insertions(+), 0 deletions(-)
diff --git a/mobile/android/fenix/app/metrics.yaml b/mobile/android/fenix/app/metrics.yaml @@ -12916,6 +12916,28 @@ customization_settings: notification_emails: - android-probes@mozilla.com expires: never + toolbar_shortcut_selection: + type: event + description: When a toolbar shortcut is selected. + extra_keys: + toolbar_type: + description: | + Where the interaction occurred. One of: simple, expanded. + type: string + item: + description: | + A string containing the name of the shortcut the user selected. These items include: + new_tab, share, bookmark, translate, homepage, back + type: string + bugs: + - https://bugzilla.mozilla.org/show_bug.cgi?id=2002636 + data_reviews: + - https://phabricator.services.mozilla.com/D274607 + data_sensitivity: + - interaction + notification_emails: + - android-probes@mozilla.com + expires: never app_icon_selection: app_icon_selection_confirmed: diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/ToolbarExpandedShortcutPreference.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/ToolbarExpandedShortcutPreference.kt @@ -13,6 +13,8 @@ import androidx.preference.PreferenceViewHolder import org.mozilla.fenix.R import org.mozilla.fenix.ext.settings +const val EXPANDED_TOOLBAR_TYPE = "expanded" + internal class ToolbarExpandedShortcutPreference @JvmOverloads constructor( context: Context, attrs: AttributeSet? = null, @@ -26,6 +28,8 @@ internal class ToolbarExpandedShortcutPreference @JvmOverloads constructor( context.settings().toolbarExpandedShortcutKey = key } + override fun getToolbarType(): String = EXPANDED_TOOLBAR_TYPE + override fun getSelectedIconImageView(holder: PreferenceViewHolder): ImageView { val simplePreview = holder.findViewById(R.id.toolbar_simple_shortcut_preview) val expandedPreview = holder.findViewById(R.id.toolbar_expanded_shortcut_preview) diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/ToolbarShortcutPreference.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/ToolbarShortcutPreference.kt @@ -20,6 +20,7 @@ import androidx.core.widget.ImageViewCompat import androidx.preference.Preference import androidx.preference.PreferenceViewHolder import com.google.android.material.color.MaterialColors +import org.mozilla.fenix.GleanMetrics.CustomizationSettings import org.mozilla.fenix.R import com.google.android.material.R as materialR @@ -49,6 +50,7 @@ internal abstract class ToolbarShortcutPreference @JvmOverloads constructor( protected abstract val options: List<ShortcutOption> protected abstract fun readSelectedKey(): String protected abstract fun writeSelectedKey(key: String) + protected abstract fun getToolbarType(): String protected abstract fun getSelectedIconImageView(holder: PreferenceViewHolder): ImageView override fun onBindViewHolder(holder: PreferenceViewHolder) { @@ -89,6 +91,12 @@ internal abstract class ToolbarShortcutPreference @JvmOverloads constructor( isChecked = false, isEnabled = true, ) { newlySelected -> + CustomizationSettings.toolbarShortcutSelection.record( + CustomizationSettings.ToolbarShortcutSelectionExtra( + toolbarType = getToolbarType(), + item = newlySelected.key.value, + ), + ) writeSelectedKey(newlySelected.key.value) selectedIcon.setImageResource(newlySelected.icon) notifyChanged() diff --git a/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/ToolbarSimpleShortcutPreference.kt b/mobile/android/fenix/app/src/main/java/org/mozilla/fenix/settings/ToolbarSimpleShortcutPreference.kt @@ -13,6 +13,8 @@ import androidx.preference.PreferenceViewHolder import org.mozilla.fenix.R import org.mozilla.fenix.ext.settings +const val SIMPLE_TOOLBAR_TYPE = "simple" + internal class ToolbarSimpleShortcutPreference @JvmOverloads constructor( context: Context, attrs: AttributeSet? = null, @@ -26,6 +28,8 @@ internal class ToolbarSimpleShortcutPreference @JvmOverloads constructor( context.settings().toolbarSimpleShortcutKey = key } + override fun getToolbarType(): String = SIMPLE_TOOLBAR_TYPE + override fun getSelectedIconImageView(holder: PreferenceViewHolder): ImageView { val simplePreview = holder.findViewById(R.id.toolbar_simple_shortcut_preview) val expandedPreview = holder.findViewById(R.id.toolbar_expanded_shortcut_preview)