[Catalyst] Implement metrics/tags for Settings Catalyst

NO_IFTTT=Catalyst only

Bug: 394002861
Flag: com.android.settings.flags.catalyst
Test: devtool
Change-Id: Ia879883c3f29cd7ac286b431680d66ab52e87db0
This commit is contained in:
Sunny Shao
2025-02-08 08:37:35 +00:00
parent 089e6378b5
commit e9f0fdcd66
12 changed files with 114 additions and 28 deletions

View File

@@ -15,13 +15,16 @@
*/
package com.android.settings.accessibility
import android.app.settings.SettingsEnums.ACTION_VIBRATION_HAPTICS
import android.content.Context
import android.os.VibrationAttributes
import android.os.Vibrator
import android.provider.Settings
import android.widget.CompoundButton
import android.widget.CompoundButton.OnCheckedChangeListener
import com.android.settings.PreferenceActionMetricsProvider
import com.android.settings.R
import com.android.settings.contract.KEY_VIBRATION_HAPTICS
import com.android.settingslib.datastore.KeyValueStore
import com.android.settingslib.datastore.KeyedObservableDelegate
import com.android.settingslib.datastore.SettingsStore
@@ -39,6 +42,7 @@ class VibrationMainSwitchPreference :
key = Settings.System.VIBRATE_ON,
title = R.string.accessibility_vibration_primary_switch_title,
),
PreferenceActionMetricsProvider,
PreferenceLifecycleProvider,
OnCheckedChangeListener {
override val keywords: Int
@@ -46,6 +50,11 @@ class VibrationMainSwitchPreference :
lateinit var vibrator: Vibrator
override val preferenceActionMetrics: Int
get() = ACTION_VIBRATION_HAPTICS
override fun tags(context: Context) = arrayOf(KEY_VIBRATION_HAPTICS)
override fun storage(context: Context): KeyValueStore =
VibrationMainSwitchToggleStorage(SettingsSystemStore.get(context))