Merge "[Catalyst] Implement metrics/tags for Settings Catalyst" into main
This commit is contained in:
committed by
Android (Google) Code Review
commit
50e464f3da
@@ -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))
|
||||
|
||||
|
@@ -16,12 +16,14 @@
|
||||
|
||||
package com.android.settings.display
|
||||
|
||||
import android.app.settings.SettingsEnums.ACTION_AMBIENT_DISPLAY_ALWAYS_ON
|
||||
import android.content.Context
|
||||
import android.hardware.display.AmbientDisplayConfiguration
|
||||
import android.os.SystemProperties
|
||||
import android.os.UserHandle
|
||||
import android.os.UserManager
|
||||
import android.provider.Settings.Secure.DOZE_ALWAYS_ON
|
||||
import com.android.settings.PreferenceActionMetricsProvider
|
||||
import com.android.settings.PreferenceRestrictionMixin
|
||||
import com.android.settings.R
|
||||
import com.android.settings.contract.KEY_AMBIENT_DISPLAY_ALWAYS_ON
|
||||
@@ -41,6 +43,7 @@ import com.android.settingslib.metadata.SwitchPreference
|
||||
// LINT.IfChange
|
||||
class AmbientDisplayAlwaysOnPreference :
|
||||
SwitchPreference(KEY, R.string.doze_always_on_title, R.string.doze_always_on_summary),
|
||||
PreferenceActionMetricsProvider,
|
||||
PreferenceAvailabilityProvider,
|
||||
PreferenceSummaryProvider,
|
||||
PreferenceRestrictionMixin {
|
||||
@@ -48,6 +51,11 @@ class AmbientDisplayAlwaysOnPreference :
|
||||
override val keywords: Int
|
||||
get() = R.string.keywords_always_show_time_info
|
||||
|
||||
override val preferenceActionMetrics: Int
|
||||
get() = ACTION_AMBIENT_DISPLAY_ALWAYS_ON
|
||||
|
||||
override fun tags(context: Context) = arrayOf(KEY_AMBIENT_DISPLAY_ALWAYS_ON)
|
||||
|
||||
override val restrictionKeys: Array<String>
|
||||
get() = arrayOf(UserManager.DISALLOW_AMBIENT_DISPLAY)
|
||||
|
||||
|
@@ -15,30 +15,32 @@
|
||||
*/
|
||||
package com.android.settings.display
|
||||
|
||||
import android.app.settings.SettingsEnums
|
||||
import android.app.settings.SettingsEnums.OPEN_BATTERY_PERCENTAGE
|
||||
import android.content.Context
|
||||
import android.provider.Settings
|
||||
import androidx.preference.Preference
|
||||
import com.android.settings.PreferenceActionMetricsProvider
|
||||
import com.android.settings.R
|
||||
import com.android.settings.Utils
|
||||
import com.android.settings.overlay.FeatureFactory.Companion.featureFactory
|
||||
import com.android.settings.contract.KEY_BATTERY_PERCENTAGE
|
||||
import com.android.settingslib.datastore.KeyValueStore
|
||||
import com.android.settingslib.datastore.KeyedObservableDelegate
|
||||
import com.android.settingslib.datastore.SettingsStore
|
||||
import com.android.settingslib.datastore.SettingsSystemStore
|
||||
import com.android.settingslib.metadata.PreferenceAvailabilityProvider
|
||||
import com.android.settingslib.metadata.PreferenceMetadata
|
||||
import com.android.settingslib.metadata.ReadWritePermit
|
||||
import com.android.settingslib.metadata.SensitivityLevel
|
||||
import com.android.settingslib.metadata.SwitchPreference
|
||||
import com.android.settingslib.preference.SwitchPreferenceBinding
|
||||
|
||||
// LINT.IfChange
|
||||
class BatteryPercentageSwitchPreference :
|
||||
SwitchPreference(KEY, R.string.battery_percentage, R.string.battery_percentage_description),
|
||||
SwitchPreferenceBinding,
|
||||
PreferenceAvailabilityProvider,
|
||||
Preference.OnPreferenceChangeListener {
|
||||
PreferenceActionMetricsProvider,
|
||||
PreferenceAvailabilityProvider {
|
||||
|
||||
override val preferenceActionMetrics: Int
|
||||
get() = OPEN_BATTERY_PERCENTAGE
|
||||
|
||||
override fun tags(context: Context) = arrayOf(KEY_BATTERY_PERCENTAGE)
|
||||
|
||||
override fun storage(context: Context): KeyValueStore =
|
||||
BatteryPercentageStorage(context, SettingsSystemStore.get(context))
|
||||
@@ -66,22 +68,6 @@ class BatteryPercentageSwitchPreference :
|
||||
override val sensitivityLevel
|
||||
get() = SensitivityLevel.NO_SENSITIVITY
|
||||
|
||||
override fun bind(preference: Preference, metadata: PreferenceMetadata) {
|
||||
super.bind(preference, metadata)
|
||||
preference.onPreferenceChangeListener = this
|
||||
}
|
||||
|
||||
override fun onPreferenceChange(preference: Preference, newValue: Any?): Boolean {
|
||||
val showPercentage = newValue as Boolean
|
||||
|
||||
featureFactory.metricsFeatureProvider.action(
|
||||
preference.context,
|
||||
SettingsEnums.OPEN_BATTERY_PERCENTAGE,
|
||||
showPercentage,
|
||||
)
|
||||
return true
|
||||
}
|
||||
|
||||
@Suppress("UNCHECKED_CAST")
|
||||
private class BatteryPercentageStorage(
|
||||
private val context: Context,
|
||||
|
@@ -16,6 +16,7 @@
|
||||
package com.android.settings.display
|
||||
|
||||
import android.app.ActivityOptions
|
||||
import android.app.settings.SettingsEnums.ACTION_BRIGHTNESS_LEVEL
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.content.Intent.ACTION_SHOW_BRIGHTNESS_DIALOG
|
||||
@@ -26,9 +27,11 @@ import android.hardware.display.DisplayManager.DisplayListener
|
||||
import android.os.UserManager
|
||||
import android.provider.Settings.System
|
||||
import androidx.preference.Preference
|
||||
import com.android.settings.PreferenceActionMetricsProvider
|
||||
import com.android.settings.PreferenceRestrictionMixin
|
||||
import com.android.settings.R
|
||||
import com.android.settings.Utils
|
||||
import com.android.settings.contract.KEY_BRIGHTNESS_LEVEL
|
||||
import com.android.settings.core.SettingsBaseActivity
|
||||
import com.android.settingslib.RestrictedPreference
|
||||
import com.android.settingslib.datastore.AbstractKeyedDataObservable
|
||||
@@ -56,6 +59,7 @@ class BrightnessLevelPreference :
|
||||
IntRangeValuePreference,
|
||||
PreferenceBinding,
|
||||
PreferenceRestrictionMixin,
|
||||
PreferenceActionMetricsProvider,
|
||||
PreferenceSummaryProvider,
|
||||
Preference.OnPreferenceClickListener {
|
||||
|
||||
@@ -68,6 +72,11 @@ class BrightnessLevelPreference :
|
||||
override val keywords: Int
|
||||
get() = R.string.keywords_display_brightness_level
|
||||
|
||||
override val preferenceActionMetrics: Int
|
||||
get() = ACTION_BRIGHTNESS_LEVEL
|
||||
|
||||
override fun tags(context: Context) = arrayOf(KEY_BRIGHTNESS_LEVEL)
|
||||
|
||||
override fun getSummary(context: Context): CharSequence? =
|
||||
NumberFormat.getPercentInstance().format(context.brightnessPercent)
|
||||
|
||||
|
@@ -15,6 +15,7 @@
|
||||
*/
|
||||
package com.android.settings.display
|
||||
|
||||
import android.app.settings.SettingsEnums.ACTION_SMOOTH_DISPLAY
|
||||
import android.content.Context
|
||||
import android.hardware.display.DisplayManager
|
||||
import android.provider.DeviceConfig
|
||||
@@ -23,7 +24,9 @@ import com.android.internal.display.RefreshRateSettingsUtils.DEFAULT_REFRESH_RAT
|
||||
import com.android.internal.display.RefreshRateSettingsUtils.findHighestRefreshRateAmongAllDisplays
|
||||
import com.android.internal.display.RefreshRateSettingsUtils.findHighestRefreshRateForDefaultDisplay
|
||||
import com.android.server.display.feature.flags.Flags
|
||||
import com.android.settings.PreferenceActionMetricsProvider
|
||||
import com.android.settings.R
|
||||
import com.android.settings.contract.KEY_SMOOTH_DISPLAY
|
||||
import com.android.settingslib.datastore.HandlerExecutor
|
||||
import com.android.settingslib.datastore.KeyValueStore
|
||||
import com.android.settingslib.datastore.KeyedObservableDelegate
|
||||
@@ -41,12 +44,18 @@ import kotlin.math.roundToInt
|
||||
// LINT.IfChange
|
||||
class PeakRefreshRateSwitchPreference :
|
||||
SwitchPreference(KEY, R.string.peak_refresh_rate_title),
|
||||
PreferenceActionMetricsProvider,
|
||||
PreferenceAvailabilityProvider,
|
||||
PreferenceSummaryProvider,
|
||||
PreferenceLifecycleProvider {
|
||||
|
||||
private var propertiesChangedListener: DeviceConfig.OnPropertiesChangedListener? = null
|
||||
|
||||
override val preferenceActionMetrics: Int
|
||||
get() = ACTION_SMOOTH_DISPLAY
|
||||
|
||||
override fun tags(context: Context) = arrayOf(KEY_SMOOTH_DISPLAY)
|
||||
|
||||
override fun storage(context: Context): KeyValueStore =
|
||||
PeakRefreshRateStore(context, SettingsSystemStore.get(context))
|
||||
|
||||
|
@@ -17,11 +17,14 @@
|
||||
package com.android.settings.display.darkmode
|
||||
|
||||
import android.Manifest
|
||||
import android.app.settings.SettingsEnums.ACTION_DARK_THEME
|
||||
import android.content.Context
|
||||
import android.os.PowerManager
|
||||
import androidx.preference.Preference
|
||||
import androidx.preference.PreferenceScreen
|
||||
import com.android.settings.PreferenceActionMetricsProvider
|
||||
import com.android.settings.R
|
||||
import com.android.settings.contract.KEY_DARK_THEME
|
||||
import com.android.settings.flags.Flags
|
||||
import com.android.settingslib.PrimarySwitchPreferenceBinding
|
||||
import com.android.settingslib.datastore.KeyValueStore
|
||||
@@ -42,6 +45,7 @@ class DarkModeScreen(context: Context) :
|
||||
PreferenceScreenCreator,
|
||||
PreferenceScreenBinding, // binding for screen page
|
||||
PrimarySwitchPreferenceBinding, // binding for screen entry point widget
|
||||
PreferenceActionMetricsProvider,
|
||||
BooleanValuePreference,
|
||||
PreferenceSummaryProvider {
|
||||
|
||||
@@ -56,6 +60,11 @@ class DarkModeScreen(context: Context) :
|
||||
override val keywords: Int
|
||||
get() = R.string.keywords_dark_ui_mode
|
||||
|
||||
override val preferenceActionMetrics: Int
|
||||
get() = ACTION_DARK_THEME
|
||||
|
||||
override fun tags(context: Context) = arrayOf(KEY_DARK_THEME)
|
||||
|
||||
override fun getReadPermissions(context: Context) = Permissions.EMPTY
|
||||
|
||||
override fun getWritePermissions(context: Context) =
|
||||
|
@@ -16,10 +16,13 @@
|
||||
|
||||
package com.android.settings.fuelgauge
|
||||
|
||||
import android.app.settings.SettingsEnums.ACTION_BATTERY_LEVEL
|
||||
import android.content.Context
|
||||
import androidx.annotation.VisibleForTesting
|
||||
import androidx.preference.Preference
|
||||
import com.android.settings.PreferenceActionMetricsProvider
|
||||
import com.android.settings.R
|
||||
import com.android.settings.contract.KEY_BATTERY_LEVEL
|
||||
import com.android.settings.fuelgauge.BatteryBroadcastReceiver.BatteryUpdateType.BATTERY_NOT_PRESENT
|
||||
import com.android.settingslib.Utils
|
||||
import com.android.settingslib.datastore.KeyValueStore
|
||||
@@ -37,7 +40,10 @@ import com.android.settingslib.widget.UsageProgressBarPreference
|
||||
|
||||
// LINT.IfChange
|
||||
class BatteryHeaderPreference :
|
||||
IntRangeValuePreference, PreferenceBinding, PreferenceLifecycleProvider {
|
||||
IntRangeValuePreference,
|
||||
PreferenceBinding,
|
||||
PreferenceActionMetricsProvider,
|
||||
PreferenceLifecycleProvider {
|
||||
|
||||
@VisibleForTesting var batteryBroadcastReceiver: BatteryBroadcastReceiver? = null
|
||||
|
||||
@@ -47,6 +53,11 @@ class BatteryHeaderPreference :
|
||||
override val title: Int
|
||||
get() = R.string.summary_placeholder
|
||||
|
||||
override val preferenceActionMetrics: Int
|
||||
get() = ACTION_BATTERY_LEVEL
|
||||
|
||||
override fun tags(context: Context) = arrayOf(KEY_BATTERY_LEVEL)
|
||||
|
||||
override fun createWidget(context: Context) = UsageProgressBarPreference(context)
|
||||
|
||||
override fun bind(preference: Preference, metadata: PreferenceMetadata) {
|
||||
|
@@ -16,10 +16,13 @@
|
||||
|
||||
package com.android.settings.network
|
||||
|
||||
import android.app.settings.SettingsEnums.ACTION_ADAPTIVE_CONNECTIVITY
|
||||
import android.content.Context
|
||||
import android.net.wifi.WifiManager
|
||||
import android.provider.Settings.Secure.ADAPTIVE_CONNECTIVITY_ENABLED
|
||||
import com.android.settings.PreferenceActionMetricsProvider
|
||||
import com.android.settings.R
|
||||
import com.android.settings.contract.KEY_ADAPTIVE_CONNECTIVITY
|
||||
import com.android.settingslib.datastore.KeyValueStore
|
||||
import com.android.settingslib.datastore.KeyedObservableDelegate
|
||||
import com.android.settingslib.datastore.SettingsSecureStore
|
||||
@@ -31,7 +34,13 @@ import com.android.settingslib.metadata.SensitivityLevel
|
||||
|
||||
// LINT.IfChange
|
||||
class AdaptiveConnectivityTogglePreference :
|
||||
MainSwitchPreference(KEY, R.string.adaptive_connectivity_main_switch_title) {
|
||||
MainSwitchPreference(KEY, R.string.adaptive_connectivity_main_switch_title),
|
||||
PreferenceActionMetricsProvider {
|
||||
|
||||
override val preferenceActionMetrics: Int
|
||||
get() = ACTION_ADAPTIVE_CONNECTIVITY
|
||||
|
||||
override fun tags(context: Context) = arrayOf(KEY_ADAPTIVE_CONNECTIVITY)
|
||||
|
||||
override fun storage(context: Context): KeyValueStore =
|
||||
AdaptiveConnectivityToggleStorage(context, SettingsSecureStore.get(context))
|
||||
|
@@ -19,6 +19,7 @@ package com.android.settings.notification
|
||||
import android.Manifest.permission.MODIFY_AUDIO_SETTINGS
|
||||
import android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED
|
||||
import android.Manifest.permission.MODIFY_PHONE_STATE
|
||||
import android.app.settings.SettingsEnums.ACTION_CALL_VOLUME
|
||||
import android.content.Context
|
||||
import android.content.pm.PackageManager.FEATURE_AUTOMOTIVE
|
||||
import android.media.AudioManager
|
||||
@@ -26,8 +27,10 @@ import android.media.AudioManager.STREAM_BLUETOOTH_SCO
|
||||
import android.media.AudioManager.STREAM_VOICE_CALL
|
||||
import android.os.UserManager
|
||||
import androidx.preference.Preference
|
||||
import com.android.settings.PreferenceActionMetricsProvider
|
||||
import com.android.settings.PreferenceRestrictionMixin
|
||||
import com.android.settings.R
|
||||
import com.android.settings.contract.KEY_CALL_VOLUME
|
||||
import com.android.settingslib.datastore.KeyValueStore
|
||||
import com.android.settingslib.datastore.NoOpKeyedObservable
|
||||
import com.android.settingslib.datastore.Permissions
|
||||
@@ -44,6 +47,7 @@ import com.android.settingslib.preference.PreferenceBinding
|
||||
open class CallVolumePreference :
|
||||
IntRangeValuePreference,
|
||||
PreferenceBinding,
|
||||
PreferenceActionMetricsProvider,
|
||||
PreferenceAvailabilityProvider,
|
||||
PreferenceIconProvider,
|
||||
PreferenceRestrictionMixin {
|
||||
@@ -53,6 +57,11 @@ open class CallVolumePreference :
|
||||
override val title: Int
|
||||
get() = R.string.call_volume_option_title
|
||||
|
||||
override val preferenceActionMetrics: Int
|
||||
get() = ACTION_CALL_VOLUME
|
||||
|
||||
override fun tags(context: Context) = arrayOf(KEY_CALL_VOLUME)
|
||||
|
||||
override fun getIcon(context: Context) = R.drawable.ic_local_phone_24_lib
|
||||
|
||||
override fun isAvailable(context: Context) =
|
||||
|
@@ -18,13 +18,16 @@ package com.android.settings.notification
|
||||
|
||||
import android.Manifest.permission.MODIFY_AUDIO_SETTINGS
|
||||
import android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED
|
||||
import android.app.settings.SettingsEnums.ACTION_MEDIA_VOLUME
|
||||
import android.content.Context
|
||||
import android.content.pm.PackageManager.FEATURE_AUTOMOTIVE
|
||||
import android.media.AudioManager.STREAM_MUSIC
|
||||
import android.os.UserManager
|
||||
import androidx.preference.Preference
|
||||
import com.android.settings.PreferenceActionMetricsProvider
|
||||
import com.android.settings.PreferenceRestrictionMixin
|
||||
import com.android.settings.R
|
||||
import com.android.settings.contract.KEY_MEDIA_VOLUME
|
||||
import com.android.settingslib.datastore.KeyValueStore
|
||||
import com.android.settingslib.datastore.NoOpKeyedObservable
|
||||
import com.android.settingslib.datastore.Permissions
|
||||
@@ -41,6 +44,7 @@ import com.android.settingslib.preference.PreferenceBinding
|
||||
open class MediaVolumePreference :
|
||||
IntRangeValuePreference,
|
||||
PreferenceBinding,
|
||||
PreferenceActionMetricsProvider,
|
||||
PreferenceAvailabilityProvider,
|
||||
PreferenceIconProvider,
|
||||
PreferenceRestrictionMixin {
|
||||
@@ -50,6 +54,11 @@ open class MediaVolumePreference :
|
||||
override val title: Int
|
||||
get() = R.string.media_volume_option_title
|
||||
|
||||
override val preferenceActionMetrics: Int
|
||||
get() = ACTION_MEDIA_VOLUME
|
||||
|
||||
override fun tags(context: Context) = arrayOf(KEY_MEDIA_VOLUME)
|
||||
|
||||
override fun getIcon(context: Context) =
|
||||
when {
|
||||
VolumeHelper.isMuted(context, STREAM_MUSIC) -> R.drawable.ic_media_stream_off
|
||||
|
@@ -21,6 +21,7 @@ import android.Manifest.permission.MODIFY_AUDIO_SETTINGS_PRIVILEGED
|
||||
import android.app.INotificationManager
|
||||
import android.app.NotificationManager
|
||||
import android.app.NotificationManager.ACTION_EFFECTS_SUPPRESSOR_CHANGED
|
||||
import android.app.settings.SettingsEnums.ACTION_RING_VOLUME
|
||||
import android.content.BroadcastReceiver
|
||||
import android.content.Context
|
||||
import android.content.Context.NOTIFICATION_SERVICE
|
||||
@@ -39,8 +40,10 @@ import android.os.Vibrator
|
||||
import android.service.notification.NotificationListenerService.HINT_HOST_DISABLE_CALL_EFFECTS
|
||||
import android.service.notification.NotificationListenerService.HINT_HOST_DISABLE_EFFECTS
|
||||
import androidx.preference.Preference
|
||||
import com.android.settings.PreferenceActionMetricsProvider
|
||||
import com.android.settings.PreferenceRestrictionMixin
|
||||
import com.android.settings.R
|
||||
import com.android.settings.contract.KEY_RING_VOLUME
|
||||
import com.android.settingslib.datastore.KeyValueStore
|
||||
import com.android.settingslib.datastore.NoOpKeyedObservable
|
||||
import com.android.settingslib.datastore.Permissions
|
||||
@@ -59,6 +62,7 @@ import com.android.settingslib.preference.PreferenceBinding
|
||||
open class SeparateRingVolumePreference :
|
||||
IntRangeValuePreference,
|
||||
PreferenceBinding,
|
||||
PreferenceActionMetricsProvider,
|
||||
PreferenceAvailabilityProvider,
|
||||
PreferenceIconProvider,
|
||||
PreferenceLifecycleProvider,
|
||||
@@ -72,6 +76,11 @@ open class SeparateRingVolumePreference :
|
||||
override val title: Int
|
||||
get() = R.string.separate_ring_volume_option_title
|
||||
|
||||
override val preferenceActionMetrics: Int
|
||||
get() = ACTION_RING_VOLUME
|
||||
|
||||
override fun tags(context: Context) = arrayOf(KEY_RING_VOLUME)
|
||||
|
||||
override fun getIcon(context: Context) = context.getIconRes()
|
||||
|
||||
override fun isAvailable(context: Context) = !createAudioHelper(context).isSingleVolume
|
||||
|
@@ -17,7 +17,8 @@
|
||||
package com.android.settings.wifi.tether
|
||||
|
||||
import android.Manifest
|
||||
import android.app.settings.SettingsEnums
|
||||
import android.app.settings.SettingsEnums.ACTION_WIFI_HOTSPOT
|
||||
import android.app.settings.SettingsEnums.WIFI_TETHER_SETTINGS
|
||||
import android.content.Context
|
||||
import android.content.Intent
|
||||
import android.net.TetheringManager
|
||||
@@ -27,9 +28,11 @@ import android.net.wifi.WifiManager
|
||||
import android.os.UserManager
|
||||
import android.text.BidiFormatter
|
||||
import android.util.Log
|
||||
import com.android.settings.PreferenceActionMetricsProvider
|
||||
import com.android.settings.PreferenceRestrictionMixin
|
||||
import com.android.settings.R
|
||||
import com.android.settings.Utils
|
||||
import com.android.settings.contract.KEY_WIFI_HOTSPOT
|
||||
import com.android.settings.core.SubSettingLauncher
|
||||
import com.android.settings.datausage.DataSaverMainSwitchPreference.Companion.KEY as DATA_SAVER_KEY
|
||||
import com.android.settings.wifi.WifiUtils.canShowWifiHotspot
|
||||
@@ -56,10 +59,16 @@ import com.android.settingslib.wifi.WifiUtils.Companion.getWifiTetherSummaryForC
|
||||
class WifiHotspotSwitchPreference(context: Context, dataSaverStore: KeyValueStore) :
|
||||
SwitchPreference(KEY, R.string.wifi_hotspot_checkbox_text),
|
||||
PrimarySwitchPreferenceBinding,
|
||||
PreferenceActionMetricsProvider,
|
||||
PreferenceAvailabilityProvider,
|
||||
PreferenceSummaryProvider,
|
||||
PreferenceRestrictionMixin {
|
||||
|
||||
override val preferenceActionMetrics: Int
|
||||
get() = ACTION_WIFI_HOTSPOT
|
||||
|
||||
override fun tags(context: Context) = arrayOf(KEY_WIFI_HOTSPOT)
|
||||
|
||||
private val wifiHotspotStore = WifiHotspotStore(context, dataSaverStore)
|
||||
|
||||
override fun isAvailable(context: Context) =
|
||||
@@ -97,7 +106,7 @@ class WifiHotspotSwitchPreference(context: Context, dataSaverStore: KeyValueStor
|
||||
.apply {
|
||||
setDestination(WifiTetherSettings::class.java.name)
|
||||
setTitleRes(R.string.wifi_hotspot_checkbox_text)
|
||||
setSourceMetricsCategory(SettingsEnums.WIFI_TETHER_SETTINGS)
|
||||
setSourceMetricsCategory(WIFI_TETHER_SETTINGS)
|
||||
}
|
||||
.toIntent()
|
||||
|
||||
|
Reference in New Issue
Block a user