diff --git a/src/com/android/settings/contract/SettingsContract.kt b/src/com/android/settings/contract/SettingsContract.kt index 8191948d4fa..4316e3cad74 100644 --- a/src/com/android/settings/contract/SettingsContract.kt +++ b/src/com/android/settings/contract/SettingsContract.kt @@ -32,3 +32,6 @@ const val KEY_LOCATION = SettingsSlicesContract.KEY_LOCATION /** Contract key for the "Wi-fi" setting. */ const val KEY_WIFI = SettingsSlicesContract.KEY_WIFI + +/** Contract key for the "Use Data Saver" setting. */ +const val KEY_DATA_SAVER = "data_saver" diff --git a/src/com/android/settings/datausage/DataSaverMainSwitchPreference.kt b/src/com/android/settings/datausage/DataSaverMainSwitchPreference.kt index e73fe948c74..b46fe99c254 100644 --- a/src/com/android/settings/datausage/DataSaverMainSwitchPreference.kt +++ b/src/com/android/settings/datausage/DataSaverMainSwitchPreference.kt @@ -17,8 +17,11 @@ package com.android.settings.datausage import android.Manifest +import android.app.settings.SettingsEnums.ACTION_DATA_SAVER_MODE import android.content.Context +import com.android.settings.PreferenceActionMetricsProvider import com.android.settings.R +import com.android.settings.contract.KEY_DATA_SAVER import com.android.settings.widget.MainSwitchBarMetadata import com.android.settingslib.datastore.AbstractKeyedDataObservable import com.android.settingslib.datastore.KeyValueStore @@ -28,7 +31,8 @@ import com.android.settingslib.metadata.PreferenceLifecycleProvider import com.android.settingslib.metadata.ReadWritePermit import com.android.settingslib.metadata.SensitivityLevel -class DataSaverMainSwitchPreference : MainSwitchBarMetadata, PreferenceLifecycleProvider { +class DataSaverMainSwitchPreference : + MainSwitchBarMetadata, PreferenceActionMetricsProvider, PreferenceLifecycleProvider { override val key get() = KEY @@ -39,6 +43,11 @@ class DataSaverMainSwitchPreference : MainSwitchBarMetadata, PreferenceLifecycle override val disableWidgetOnCheckedChanged: Boolean get() = false + override val preferenceActionMetrics: Int + get() = ACTION_DATA_SAVER_MODE + + override fun tags(context: Context) = arrayOf(KEY_DATA_SAVER) + override fun storage(context: Context) = createDataStore(context) override fun getReadPermissions(context: Context) =