[Catalyst] Update PreferenceLifecycleContext.notifyPreferenceChange
Change the signature from metadata to preference key, so that the API could be used to notify other preferences on the same screen. NO_IFTTT=Catalyst only Bug: 332201912 Flag: com.android.settings.flags.catalyst Test: atest Change-Id: Ibdf5f9004471d5491a0be1e84365cbe9f136c373
This commit is contained in:
@@ -39,7 +39,7 @@ import kotlin.math.roundToInt
|
||||
|
||||
// LINT.IfChange
|
||||
class PeakRefreshRateSwitchPreference :
|
||||
SwitchPreference(PEAK_REFRESH_RATE, R.string.peak_refresh_rate_title),
|
||||
SwitchPreference(KEY, R.string.peak_refresh_rate_title),
|
||||
PreferenceAvailabilityProvider,
|
||||
PreferenceSummaryProvider,
|
||||
PreferenceLifecycleProvider {
|
||||
@@ -69,7 +69,7 @@ class PeakRefreshRateSwitchPreference :
|
||||
// KEY_PEAK_REFRESH_RATE_DEFAULT value could be added, changed, removed or
|
||||
// unchanged.
|
||||
// Just force a UI update for any case.
|
||||
context.notifyPreferenceChange(this)
|
||||
context.notifyPreferenceChange(KEY)
|
||||
}
|
||||
|
||||
propertiesChangedListener = listener
|
||||
@@ -97,14 +97,13 @@ class PeakRefreshRateSwitchPreference :
|
||||
override fun contains(key: String) = settingsStore.contains(key)
|
||||
|
||||
override fun <T : Any> getDefaultValue(key: String, valueType: Class<T>): T? {
|
||||
if (key != PEAK_REFRESH_RATE) return super.getDefaultValue(key, valueType)
|
||||
if (key != KEY) return super.getDefaultValue(key, valueType)
|
||||
return context.defaultPeakRefreshRate.refreshRateAsBoolean(context) as T
|
||||
}
|
||||
|
||||
override fun <T : Any> getValue(key: String, valueType: Class<T>): T? {
|
||||
if (key != PEAK_REFRESH_RATE) return null
|
||||
val refreshRate =
|
||||
settingsStore.getFloat(PEAK_REFRESH_RATE) ?: context.defaultPeakRefreshRate
|
||||
if (key != KEY) return null
|
||||
val refreshRate = settingsStore.getFloat(KEY) ?: context.defaultPeakRefreshRate
|
||||
return refreshRate.refreshRateAsBoolean(context) as T
|
||||
}
|
||||
|
||||
@@ -113,12 +112,12 @@ class PeakRefreshRateSwitchPreference :
|
||||
|
||||
override fun <T : Any> setValue(key: String, valueType: Class<T>, value: T?) =
|
||||
when {
|
||||
key != PEAK_REFRESH_RATE -> {}
|
||||
value == null -> settingsStore.setFloat(PEAK_REFRESH_RATE, null)
|
||||
key != KEY -> {}
|
||||
value == null -> settingsStore.setFloat(KEY, null)
|
||||
else -> {
|
||||
val peakRefreshRate =
|
||||
if (value as Boolean) context.refreshRateIfON() else DEFAULT_REFRESH_RATE
|
||||
settingsStore.setFloat(PEAK_REFRESH_RATE, peakRefreshRate)
|
||||
settingsStore.setFloat(KEY, peakRefreshRate)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -130,6 +129,7 @@ class PeakRefreshRateSwitchPreference :
|
||||
}
|
||||
|
||||
companion object {
|
||||
const val KEY = PEAK_REFRESH_RATE
|
||||
private const val INVALIDATE_REFRESH_RATE: Float = -1f
|
||||
|
||||
private val Context.peakRefreshRate: Float
|
||||
|
||||
Reference in New Issue
Block a user