diff --git a/src/com/android/settings/connecteddevice/BluetoothPreference.kt b/src/com/android/settings/connecteddevice/BluetoothPreference.kt index 4d4853efbc5..8c12024ffc3 100644 --- a/src/com/android/settings/connecteddevice/BluetoothPreference.kt +++ b/src/com/android/settings/connecteddevice/BluetoothPreference.kt @@ -34,9 +34,9 @@ import com.android.settings.network.SatelliteWarningDialogActivity import com.android.settings.widget.MainSwitchBarMetadata import com.android.settingslib.WirelessUtils import com.android.settingslib.datastore.AbstractKeyedDataObservable -import com.android.settingslib.datastore.DataChangeReason import com.android.settingslib.datastore.KeyValueStore import com.android.settingslib.datastore.Permissions +import com.android.settingslib.metadata.PreferenceChangeReason import com.android.settingslib.metadata.PreferenceMetadata import com.android.settingslib.metadata.ReadWritePermit import com.android.settingslib.metadata.SensitivityLevel @@ -152,7 +152,14 @@ class BluetoothPreference(private val bluetoothDataStore: BluetoothDataStore) : broadcastReceiver = object : BroadcastReceiver() { override fun onReceive(context: Context, intent: Intent) { - notifyChange(KEY, DataChangeReason.UPDATE) + val state = + intent.getIntExtra(BluetoothAdapter.EXTRA_STATE, BluetoothAdapter.ERROR) + if ( + state == BluetoothAdapter.STATE_ON || + state == BluetoothAdapter.STATE_OFF + ) { + notifyChange(KEY, PreferenceChangeReason.STATE) + } } } context.registerReceiver( diff --git a/src/com/android/settings/datausage/DataSaverMainSwitchPreference.kt b/src/com/android/settings/datausage/DataSaverMainSwitchPreference.kt index a05bd8784cc..9127659b8e6 100644 --- a/src/com/android/settings/datausage/DataSaverMainSwitchPreference.kt +++ b/src/com/android/settings/datausage/DataSaverMainSwitchPreference.kt @@ -21,9 +21,9 @@ import android.content.Context import com.android.settings.R import com.android.settings.widget.MainSwitchBarMetadata import com.android.settingslib.datastore.AbstractKeyedDataObservable -import com.android.settingslib.datastore.DataChangeReason import com.android.settingslib.datastore.KeyValueStore import com.android.settingslib.datastore.Permissions +import com.android.settingslib.metadata.PreferenceChangeReason import com.android.settingslib.metadata.PreferenceLifecycleProvider import com.android.settingslib.metadata.ReadWritePermit import com.android.settingslib.metadata.SensitivityLevel @@ -75,7 +75,7 @@ class DataSaverMainSwitchPreference : MainSwitchBarMetadata, PreferenceLifecycle override fun onLastObserverRemoved() = dataSaverBackend.remListener(this) override fun onDataSaverChanged(isDataSaving: Boolean) = - notifyChange(KEY, DataChangeReason.UPDATE) + notifyChange(KEY, PreferenceChangeReason.VALUE) } companion object { diff --git a/src/com/android/settings/display/BrightnessLevelPreference.kt b/src/com/android/settings/display/BrightnessLevelPreference.kt index f87edcbe758..e14db6b59a6 100644 --- a/src/com/android/settings/display/BrightnessLevelPreference.kt +++ b/src/com/android/settings/display/BrightnessLevelPreference.kt @@ -33,7 +33,6 @@ import com.android.settings.Utils import com.android.settings.core.SettingsBaseActivity import com.android.settingslib.RestrictedPreference import com.android.settingslib.datastore.AbstractKeyedDataObservable -import com.android.settingslib.datastore.DataChangeReason import com.android.settingslib.datastore.HandlerExecutor import com.android.settingslib.datastore.KeyValueStore import com.android.settingslib.datastore.KeyedObserver @@ -43,6 +42,7 @@ import com.android.settingslib.display.BrightnessUtils.GAMMA_SPACE_MAX import com.android.settingslib.display.BrightnessUtils.GAMMA_SPACE_MIN import com.android.settingslib.display.BrightnessUtils.convertLinearToGammaFloat import com.android.settingslib.metadata.PersistentPreference +import com.android.settingslib.metadata.PreferenceChangeReason import com.android.settingslib.metadata.PreferenceMetadata import com.android.settingslib.metadata.PreferenceSummaryProvider import com.android.settingslib.metadata.RangeValue @@ -155,7 +155,7 @@ class BrightnessLevelPreference : } override fun onKeyChanged(key: String, reason: Int) { - notifyChange(KEY, DataChangeReason.UPDATE) + notifyChange(KEY, reason) } override fun onDisplayAdded(displayId: Int) {} @@ -163,7 +163,7 @@ class BrightnessLevelPreference : override fun onDisplayRemoved(displayId: Int) {} override fun onDisplayChanged(displayId: Int) { - notifyChange(KEY, DataChangeReason.UPDATE) + notifyChange(KEY, PreferenceChangeReason.STATE) } } diff --git a/src/com/android/settings/display/darkmode/DarkModeStorage.kt b/src/com/android/settings/display/darkmode/DarkModeStorage.kt index 9c53379c2d0..768a5529822 100644 --- a/src/com/android/settings/display/darkmode/DarkModeStorage.kt +++ b/src/com/android/settings/display/darkmode/DarkModeStorage.kt @@ -24,8 +24,8 @@ import android.content.IntentFilter import android.content.res.Configuration import android.os.PowerManager import com.android.settingslib.datastore.AbstractKeyedDataObservable -import com.android.settingslib.datastore.DataChangeReason import com.android.settingslib.datastore.KeyValueStore +import com.android.settingslib.metadata.PreferenceChangeReason /** * Abstract storage for dark mode settings. @@ -54,7 +54,7 @@ internal class DarkModeStorage(private val context: Context) : broadcastReceiver = object : BroadcastReceiver() { override fun onReceive(context: Context, intent: Intent) { - notifyChange(DataChangeReason.UPDATE) + notifyChange(PreferenceChangeReason.STATE) } } context.registerReceiver( @@ -63,7 +63,7 @@ internal class DarkModeStorage(private val context: Context) : ) darkModeObserver = DarkModeObserver(context) - darkModeObserver.subscribe { notifyChange(DataChangeReason.UPDATE) } + darkModeObserver.subscribe { notifyChange(PreferenceChangeReason.VALUE) } } override fun onLastObserverRemoved() { diff --git a/src/com/android/settings/fuelgauge/batterysaver/BatterySaverPreference.kt b/src/com/android/settings/fuelgauge/batterysaver/BatterySaverPreference.kt index be3a3b891e1..3e5cee9f132 100644 --- a/src/com/android/settings/fuelgauge/batterysaver/BatterySaverPreference.kt +++ b/src/com/android/settings/fuelgauge/batterysaver/BatterySaverPreference.kt @@ -22,7 +22,6 @@ import com.android.settings.R import com.android.settings.fuelgauge.BatterySaverReceiver import com.android.settings.fuelgauge.BatterySaverReceiver.BatterySaverListener import com.android.settingslib.datastore.AbstractKeyedDataObservable -import com.android.settingslib.datastore.DataChangeReason import com.android.settingslib.datastore.KeyValueStore import com.android.settingslib.datastore.Permissions import com.android.settingslib.fuelgauge.BatterySaverLogging.SAVER_ENABLED_SETTINGS @@ -30,6 +29,7 @@ import com.android.settingslib.fuelgauge.BatterySaverUtils import com.android.settingslib.fuelgauge.BatteryStatus import com.android.settingslib.fuelgauge.BatteryUtils import com.android.settingslib.metadata.MainSwitchPreference +import com.android.settingslib.metadata.PreferenceChangeReason import com.android.settingslib.metadata.ReadWritePermit import com.android.settingslib.metadata.SensitivityLevel import kotlinx.coroutines.CoroutineScope @@ -105,12 +105,12 @@ class BatterySaverPreference : override fun onPowerSaveModeChanged() { scope.launch { delay(SWITCH_ANIMATION_DURATION) - notifyChange(KEY, DataChangeReason.UPDATE) + notifyChange(KEY, PreferenceChangeReason.VALUE) } } override fun onBatteryChanged(pluggedIn: Boolean) = - notifyChange(KEY, DataChangeReason.UPDATE) + notifyChange(KEY, PreferenceChangeReason.STATE) } companion object { diff --git a/src/com/android/settings/network/AirplaneModePreference.kt b/src/com/android/settings/network/AirplaneModePreference.kt index 11790d0be26..b870f30eaf1 100644 --- a/src/com/android/settings/network/AirplaneModePreference.kt +++ b/src/com/android/settings/network/AirplaneModePreference.kt @@ -37,11 +37,11 @@ import com.android.settings.network.SatelliteRepository.Companion.isSatelliteOn import com.android.settings.overlay.FeatureFactory.Companion.featureFactory import com.android.settingslib.RestrictedSwitchPreference import com.android.settingslib.datastore.AbstractKeyedDataObservable -import com.android.settingslib.datastore.DataChangeReason import com.android.settingslib.datastore.KeyValueStore import com.android.settingslib.datastore.SettingsGlobalStore import com.android.settingslib.datastore.SettingsStore import com.android.settingslib.metadata.PreferenceAvailabilityProvider +import com.android.settingslib.metadata.PreferenceChangeReason import com.android.settingslib.metadata.PreferenceLifecycleContext import com.android.settingslib.metadata.PreferenceLifecycleProvider import com.android.settingslib.metadata.ReadWritePermit @@ -126,7 +126,7 @@ class AirplaneModePreference : phoneStateListener = object : PhoneStateListener(Looper.getMainLooper()) { override fun onRadioPowerStateChanged(state: Int) { - notifyChange(KEY, DataChangeReason.UPDATE) + notifyChange(KEY, PreferenceChangeReason.VALUE) } } it.listen(phoneStateListener, PhoneStateListener.LISTEN_RADIO_POWER_STATE_CHANGED) diff --git a/src/com/android/settings/restriction/UserRestrictionBindingHelper.kt b/src/com/android/settings/restriction/UserRestrictionBindingHelper.kt index a1329c2ecdf..4dca003d704 100644 --- a/src/com/android/settings/restriction/UserRestrictionBindingHelper.kt +++ b/src/com/android/settings/restriction/UserRestrictionBindingHelper.kt @@ -20,8 +20,8 @@ import android.content.Context import com.android.settings.PreferenceRestrictionMixin import com.android.settingslib.datastore.HandlerExecutor import com.android.settingslib.datastore.KeyedObserver +import com.android.settingslib.metadata.PreferenceChangeReason import com.android.settingslib.preference.PreferenceScreenBindingHelper -import com.android.settingslib.preference.PreferenceScreenBindingHelper.Companion.CHANGE_REASON_STATE /** Helper to rebind preference immediately when user restriction is changed. */ class UserRestrictionBindingHelper( @@ -55,7 +55,7 @@ class UserRestrictionBindingHelper( override fun onKeyChanged(restrictionKey: String, reason: Int) { val keys = restrictionKeysToPreferenceKeys[restrictionKey] ?: return - for (key in keys) screenBindingHelper.notifyChange(key, CHANGE_REASON_STATE) + for (key in keys) screenBindingHelper.notifyChange(key, PreferenceChangeReason.STATE) } override fun close() { diff --git a/src/com/android/settings/restriction/UserRestrictions.kt b/src/com/android/settings/restriction/UserRestrictions.kt index 880aa5d9991..3d78e8e397f 100644 --- a/src/com/android/settings/restriction/UserRestrictions.kt +++ b/src/com/android/settings/restriction/UserRestrictions.kt @@ -24,6 +24,7 @@ import android.os.UserManager import com.android.settingslib.datastore.AbstractKeyedDataObservable import com.android.settingslib.datastore.DataChangeReason import com.android.settingslib.datastore.KeyedObserver +import com.android.settingslib.metadata.PreferenceChangeReason import java.util.concurrent.Executor /** Helper class to monitor user restriction changes. */ @@ -46,7 +47,7 @@ class UserRestrictions private constructor(private val applicationContext: Conte object : BroadcastReceiver() { override fun onReceive(context: Context, intent: Intent) { // there is no way to get the changed keys, just notify all observers - observable.notifyChange(DataChangeReason.UPDATE) + observable.notifyChange(PreferenceChangeReason.STATE) } } diff --git a/src/com/android/settings/wifi/WifiSwitchPreference.kt b/src/com/android/settings/wifi/WifiSwitchPreference.kt index dbe5759a2e4..2b2b3443f60 100644 --- a/src/com/android/settings/wifi/WifiSwitchPreference.kt +++ b/src/com/android/settings/wifi/WifiSwitchPreference.kt @@ -40,9 +40,9 @@ import com.android.settings.wifi.utils.wifiManager import com.android.settingslib.RestrictedSwitchPreference import com.android.settingslib.WirelessUtils import com.android.settingslib.datastore.AbstractKeyedDataObservable -import com.android.settingslib.datastore.DataChangeReason import com.android.settingslib.datastore.KeyValueStore import com.android.settingslib.datastore.Permissions +import com.android.settingslib.metadata.PreferenceChangeReason import com.android.settingslib.metadata.PreferenceLifecycleProvider import com.android.settingslib.metadata.PreferenceMetadata import com.android.settingslib.metadata.ReadWritePermit @@ -163,7 +163,7 @@ class WifiSwitchPreference : wifiState == WifiManager.WIFI_STATE_ENABLED || wifiState == WifiManager.WIFI_STATE_DISABLED ) { - notifyChange(KEY, DataChangeReason.UPDATE) + notifyChange(KEY, PreferenceChangeReason.VALUE) } } } diff --git a/src/com/android/settings/wifi/tether/WifiHotspotSwitchPreference.kt b/src/com/android/settings/wifi/tether/WifiHotspotSwitchPreference.kt index c93099eb9da..3877a026480 100644 --- a/src/com/android/settings/wifi/tether/WifiHotspotSwitchPreference.kt +++ b/src/com/android/settings/wifi/tether/WifiHotspotSwitchPreference.kt @@ -32,7 +32,6 @@ import com.android.settings.PreferenceRestrictionMixin import com.android.settings.R import com.android.settings.Utils 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 import com.android.settings.wifi.utils.tetheringManager import com.android.settings.wifi.utils.wifiApState @@ -41,12 +40,12 @@ import com.android.settings.wifi.utils.wifiSoftApSsid import com.android.settingslib.PrimarySwitchPreference import com.android.settingslib.TetherUtil import com.android.settingslib.datastore.AbstractKeyedDataObservable -import com.android.settingslib.datastore.DataChangeReason import com.android.settingslib.datastore.HandlerExecutor import com.android.settingslib.datastore.KeyValueStore import com.android.settingslib.datastore.KeyedObserver import com.android.settingslib.datastore.Permissions import com.android.settingslib.metadata.PreferenceAvailabilityProvider +import com.android.settingslib.metadata.PreferenceChangeReason import com.android.settingslib.metadata.PreferenceMetadata import com.android.settingslib.metadata.PreferenceSummaryProvider import com.android.settingslib.metadata.ReadWritePermit @@ -54,6 +53,7 @@ import com.android.settingslib.metadata.SensitivityLevel import com.android.settingslib.metadata.SwitchPreference import com.android.settingslib.preference.PreferenceBinding import com.android.settingslib.wifi.WifiUtils.Companion.getWifiTetherSummaryForConnectedDevices +import com.android.settings.datausage.DataSaverMainSwitchPreference.Companion.KEY as DATA_SAVER_KEY // LINT.IfChange class WifiHotspotSwitchPreference(context: Context, dataSaverStore: KeyValueStore) : @@ -186,13 +186,13 @@ class WifiHotspotSwitchPreference(context: Context, dataSaverStore: KeyValueStor Log.d(TAG, "onStateChanged(),state=$state,failureReason=$failureReason") sapFailureReason = failureReason if (state == WifiManager.WIFI_AP_STATE_DISABLED) sapClientsSize = null - notifyChange(KEY, DataChangeReason.UPDATE) + notifyChange(KEY, PreferenceChangeReason.VALUE) } override fun onConnectedClientsChanged(clients: List?) { sapClientsSize = clients?.size ?: 0 Log.d(TAG, "onConnectedClientsChanged(),sapClientsSize=$sapClientsSize") - notifyChange(KEY, DataChangeReason.UPDATE) + notifyChange(KEY, PreferenceChangeReason.STATE) } override fun onTetheringStarted() {} @@ -202,7 +202,7 @@ class WifiHotspotSwitchPreference(context: Context, dataSaverStore: KeyValueStor } override fun onKeyChanged(key: String, reason: Int) = - notifyChange(KEY, DataChangeReason.UPDATE) + notifyChange(KEY, reason) } override fun bind(preference: Preference, metadata: PreferenceMetadata) {