[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
This commit is contained in:
Sunny Shao
2025-03-11 07:10:42 +00:00
parent 87a9cdf16f
commit f0fdae9df2
3 changed files with 34 additions and 10 deletions

View File

@@ -104,3 +104,9 @@ const val KEY_RING_VOLUME = "separate_ring_volume"
/** Contract key for the "Remove animation" setting. */ /** Contract key for the "Remove animation" setting. */
const val KEY_REMOVE_ANIMATION = "remove_animation" 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"

View File

@@ -16,9 +16,12 @@
package com.android.settings.sound package com.android.settings.sound
import android.app.settings.SettingsEnums.ACTION_SHOW_MEDIA_ON_LOCK_SCREEN
import android.content.Context import android.content.Context
import android.provider.Settings.Secure.MEDIA_CONTROLS_LOCK_SCREEN import android.provider.Settings.Secure.MEDIA_CONTROLS_LOCK_SCREEN
import com.android.settings.R 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.KeyValueStore
import com.android.settingslib.datastore.KeyValueStoreDelegate import com.android.settingslib.datastore.KeyValueStoreDelegate
import com.android.settingslib.datastore.SettingsSecureStore import com.android.settingslib.datastore.SettingsSecureStore
@@ -32,7 +35,13 @@ class MediaControlsLockscreenSwitchPreference :
KEY, KEY,
R.string.media_controls_lockscreen_title, R.string.media_controls_lockscreen_title,
R.string.media_controls_lockscreen_description, 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 override val sensitivityLevel
get() = SensitivityLevel.NO_SENSITIVITY get() = SensitivityLevel.NO_SENSITIVITY

View File

@@ -16,30 +16,39 @@
package com.android.settings.sound package com.android.settings.sound
import android.app.settings.SettingsEnums.ACTION_PIN_MEDIA_PLAYER
import android.content.Context import android.content.Context
import android.provider.Settings.Secure.MEDIA_CONTROLS_RESUME 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.KeyValueStore
import com.android.settingslib.datastore.SettingsSecureStore import com.android.settingslib.datastore.SettingsSecureStore
import com.android.settingslib.metadata.ReadWritePermit import com.android.settingslib.metadata.ReadWritePermit
import com.android.settingslib.metadata.SensitivityLevel import com.android.settingslib.metadata.SensitivityLevel
import com.android.settingslib.metadata.SwitchPreference import com.android.settingslib.metadata.SwitchPreference
import com.android.settings.R
// LINT.IfChange // LINT.IfChange
class MediaControlsSwitchPreference( class MediaControlsSwitchPreference(
private val mediaControlsStore: MediaControlsScreen.MediaControlsStore, private val mediaControlsStore: MediaControlsScreen.MediaControlsStore
) : SwitchPreference( ) :
KEY, SwitchPreference(
R.string.media_controls_resume_title, KEY,
R.string.media_controls_resume_description, R.string.media_controls_resume_title,
) { R.string.media_controls_resume_description,
),
PreferenceActionMetricsProvider {
override val sensitivityLevel override val sensitivityLevel
get() = SensitivityLevel.NO_SENSITIVITY get() = SensitivityLevel.NO_SENSITIVITY
override val keywords: Int override val keywords: Int
get() = R.string.keywords_media_controls 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 getReadPermissions(context: Context) = SettingsSecureStore.getReadPermissions()
override fun getWritePermissions(context: Context) = SettingsSecureStore.getWritePermissions() override fun getWritePermissions(context: Context) = SettingsSecureStore.getWritePermissions()
@@ -56,4 +65,4 @@ class MediaControlsSwitchPreference(
const val KEY = MEDIA_CONTROLS_RESUME const val KEY = MEDIA_CONTROLS_RESUME
} }
} }
// LINT.ThenChange(MediaControlsPreferenceController.java) // LINT.ThenChange(MediaControlsPreferenceController.java)