Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit f0fdae9d authored by Sunny Shao's avatar Sunny Shao
Browse files

[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
parent 87a9cdf1
Loading
Loading
Loading
Loading
+6 −0
Original line number Diff line number Diff line
@@ -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"
+10 −1
Original line number Diff line number Diff line
@@ -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
+18 −9
Original line number Diff line number Diff line
@@ -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(
    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()