[Catalyst] Use lifecycleScope for BatterySaverPreference
NO_IFTTT=Catalyst only Bug: 377993674 Flag: com.android.settings.flags.catalyst_battery_saver_screen Test: manual Change-Id: Ie66882cd74300ced4914cd2c67fe130f66530100
This commit is contained in:
@@ -16,8 +16,6 @@
|
|||||||
package com.android.settings.fuelgauge.batterysaver
|
package com.android.settings.fuelgauge.batterysaver
|
||||||
|
|
||||||
import android.content.Context
|
import android.content.Context
|
||||||
import android.os.Handler
|
|
||||||
import android.os.Looper
|
|
||||||
import android.os.PowerManager
|
import android.os.PowerManager
|
||||||
import com.android.settings.R
|
import com.android.settings.R
|
||||||
import com.android.settings.fuelgauge.BatterySaverReceiver
|
import com.android.settings.fuelgauge.BatterySaverReceiver
|
||||||
@@ -33,6 +31,8 @@ import com.android.settingslib.metadata.PreferenceLifecycleContext
|
|||||||
import com.android.settingslib.metadata.PreferenceLifecycleProvider
|
import com.android.settingslib.metadata.PreferenceLifecycleProvider
|
||||||
import com.android.settingslib.metadata.ReadWritePermit
|
import com.android.settingslib.metadata.ReadWritePermit
|
||||||
import com.android.settingslib.metadata.SensitivityLevel
|
import com.android.settingslib.metadata.SensitivityLevel
|
||||||
|
import kotlinx.coroutines.delay
|
||||||
|
import kotlinx.coroutines.launch
|
||||||
|
|
||||||
// LINT.IfChange
|
// LINT.IfChange
|
||||||
class BatterySaverPreference :
|
class BatterySaverPreference :
|
||||||
@@ -40,7 +40,6 @@ class BatterySaverPreference :
|
|||||||
PreferenceLifecycleProvider {
|
PreferenceLifecycleProvider {
|
||||||
|
|
||||||
private var batterySaverReceiver: BatterySaverReceiver? = null
|
private var batterySaverReceiver: BatterySaverReceiver? = null
|
||||||
private val handler by lazy { Handler(Looper.getMainLooper()) }
|
|
||||||
|
|
||||||
override fun storage(context: Context) = BatterySaverStore(context)
|
override fun storage(context: Context) = BatterySaverStore(context)
|
||||||
|
|
||||||
@@ -62,10 +61,10 @@ class BatterySaverPreference :
|
|||||||
setBatterySaverListener(
|
setBatterySaverListener(
|
||||||
object : BatterySaverListener {
|
object : BatterySaverListener {
|
||||||
override fun onPowerSaveModeChanged() {
|
override fun onPowerSaveModeChanged() {
|
||||||
handler.postDelayed(
|
context.lifecycleScope.launch {
|
||||||
{ context.notifyPreferenceChange(KEY) },
|
delay(SWITCH_ANIMATION_DURATION)
|
||||||
SWITCH_ANIMATION_DURATION,
|
context.notifyPreferenceChange(KEY)
|
||||||
)
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onBatteryChanged(pluggedIn: Boolean) =
|
override fun onBatteryChanged(pluggedIn: Boolean) =
|
||||||
@@ -79,7 +78,6 @@ class BatterySaverPreference :
|
|||||||
override fun onStop(context: PreferenceLifecycleContext) {
|
override fun onStop(context: PreferenceLifecycleContext) {
|
||||||
batterySaverReceiver?.setListening(false)
|
batterySaverReceiver?.setListening(false)
|
||||||
batterySaverReceiver = null
|
batterySaverReceiver = null
|
||||||
handler.removeCallbacksAndMessages(null /* token */)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Suppress("UNCHECKED_CAST")
|
@Suppress("UNCHECKED_CAST")
|
||||||
|
Reference in New Issue
Block a user