From f0fdae9df22fa6c0422008dc563dc74367e6b012 Mon Sep 17 00:00:00 2001 From: Sunny Shao Date: Tue, 11 Mar 2025 07:10:42 +0000 Subject: [PATCH] [Catalyst] Implement metrics/tags for Media page NO_IFTTT=Catalyst only Bug: 389133530 Bug: 389133114 Flag: com.android.settings.flags.catalyst_media_controls Test: build pass Change-Id: I36b148d88e85b465296a3e773c47917e4405ec53 --- .../settings/contract/SettingsContract.kt | 6 +++++ ...MediaControlsLockscreenSwitchPreference.kt | 11 +++++++- .../sound/MediaControlsSwitchPreference.kt | 27 ++++++++++++------- 3 files changed, 34 insertions(+), 10 deletions(-) diff --git a/src/com/android/settings/contract/SettingsContract.kt b/src/com/android/settings/contract/SettingsContract.kt index da3867f35a4..3a354194eb6 100644 --- a/src/com/android/settings/contract/SettingsContract.kt +++ b/src/com/android/settings/contract/SettingsContract.kt @@ -104,3 +104,9 @@ const val KEY_RING_VOLUME = "separate_ring_volume" /** Contract key for the "Remove animation" setting. */ const val KEY_REMOVE_ANIMATION = "remove_animation" + +/** Contract key for the "Pin media player. */ +const val KEY_PIN_MEDIA_PLAYER = "pin_media_player" + +/** Contract key for the "Show media on lock screen. */ +const val KEY_SHOW_MEDIA_ON_LOCK_SCREEN = "show_media_on_lock_screen" diff --git a/src/com/android/settings/sound/MediaControlsLockscreenSwitchPreference.kt b/src/com/android/settings/sound/MediaControlsLockscreenSwitchPreference.kt index 2d70b83ef31..7ad3a47f20e 100644 --- a/src/com/android/settings/sound/MediaControlsLockscreenSwitchPreference.kt +++ b/src/com/android/settings/sound/MediaControlsLockscreenSwitchPreference.kt @@ -16,9 +16,12 @@ package com.android.settings.sound +import android.app.settings.SettingsEnums.ACTION_SHOW_MEDIA_ON_LOCK_SCREEN import android.content.Context import android.provider.Settings.Secure.MEDIA_CONTROLS_LOCK_SCREEN import com.android.settings.R +import com.android.settings.contract.KEY_SHOW_MEDIA_ON_LOCK_SCREEN +import com.android.settings.metrics.PreferenceActionMetricsProvider import com.android.settingslib.datastore.KeyValueStore import com.android.settingslib.datastore.KeyValueStoreDelegate import com.android.settingslib.datastore.SettingsSecureStore @@ -32,7 +35,13 @@ class MediaControlsLockscreenSwitchPreference : KEY, R.string.media_controls_lockscreen_title, R.string.media_controls_lockscreen_description, - ) { + ), + PreferenceActionMetricsProvider { + + override val preferenceActionMetrics: Int + get() = ACTION_SHOW_MEDIA_ON_LOCK_SCREEN + + override fun tags(context: Context) = arrayOf(KEY_SHOW_MEDIA_ON_LOCK_SCREEN) override val sensitivityLevel get() = SensitivityLevel.NO_SENSITIVITY diff --git a/src/com/android/settings/sound/MediaControlsSwitchPreference.kt b/src/com/android/settings/sound/MediaControlsSwitchPreference.kt index 60df2658b7f..fd5354d4127 100644 --- a/src/com/android/settings/sound/MediaControlsSwitchPreference.kt +++ b/src/com/android/settings/sound/MediaControlsSwitchPreference.kt @@ -16,30 +16,39 @@ package com.android.settings.sound +import android.app.settings.SettingsEnums.ACTION_PIN_MEDIA_PLAYER import android.content.Context import android.provider.Settings.Secure.MEDIA_CONTROLS_RESUME - +import com.android.settings.R +import com.android.settings.contract.KEY_PIN_MEDIA_PLAYER +import com.android.settings.metrics.PreferenceActionMetricsProvider import com.android.settingslib.datastore.KeyValueStore import com.android.settingslib.datastore.SettingsSecureStore import com.android.settingslib.metadata.ReadWritePermit import com.android.settingslib.metadata.SensitivityLevel import com.android.settingslib.metadata.SwitchPreference -import com.android.settings.R // LINT.IfChange class MediaControlsSwitchPreference( - private val mediaControlsStore: MediaControlsScreen.MediaControlsStore, -) : SwitchPreference( - KEY, - R.string.media_controls_resume_title, - R.string.media_controls_resume_description, -) { + private val mediaControlsStore: MediaControlsScreen.MediaControlsStore +) : + SwitchPreference( + KEY, + R.string.media_controls_resume_title, + R.string.media_controls_resume_description, + ), + PreferenceActionMetricsProvider { override val sensitivityLevel get() = SensitivityLevel.NO_SENSITIVITY override val keywords: Int get() = R.string.keywords_media_controls + override val preferenceActionMetrics: Int + get() = ACTION_PIN_MEDIA_PLAYER + + override fun tags(context: Context) = arrayOf(KEY_PIN_MEDIA_PLAYER) + override fun getReadPermissions(context: Context) = SettingsSecureStore.getReadPermissions() override fun getWritePermissions(context: Context) = SettingsSecureStore.getWritePermissions() @@ -56,4 +65,4 @@ class MediaControlsSwitchPreference( const val KEY = MEDIA_CONTROLS_RESUME } } -// LINT.ThenChange(MediaControlsPreferenceController.java) \ No newline at end of file +// LINT.ThenChange(MediaControlsPreferenceController.java)