Merge "[Catalyst] Use lifecycleScope for BatterySaverPreference" into main

This commit is contained in:
Treehugger Robot
2024-12-03 04:12:59 +00:00
committed by Android (Google) Code Review

View File

@@ -16,8 +16,6 @@
package com.android.settings.fuelgauge.batterysaver
import android.content.Context
import android.os.Handler
import android.os.Looper
import android.os.PowerManager
import com.android.settings.R
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.ReadWritePermit
import com.android.settingslib.metadata.SensitivityLevel
import kotlinx.coroutines.delay
import kotlinx.coroutines.launch
// LINT.IfChange
class BatterySaverPreference :
@@ -40,7 +40,6 @@ class BatterySaverPreference :
PreferenceLifecycleProvider {
private var batterySaverReceiver: BatterySaverReceiver? = null
private val handler by lazy { Handler(Looper.getMainLooper()) }
override fun storage(context: Context) = BatterySaverStore(context)
@@ -62,10 +61,10 @@ class BatterySaverPreference :
setBatterySaverListener(
object : BatterySaverListener {
override fun onPowerSaveModeChanged() {
handler.postDelayed(
{ context.notifyPreferenceChange(KEY) },
SWITCH_ANIMATION_DURATION,
)
context.lifecycleScope.launch {
delay(SWITCH_ANIMATION_DURATION)
context.notifyPreferenceChange(KEY)
}
}
override fun onBatteryChanged(pluggedIn: Boolean) =
@@ -79,7 +78,6 @@ class BatterySaverPreference :
override fun onStop(context: PreferenceLifecycleContext) {
batterySaverReceiver?.setListening(false)
batterySaverReceiver = null
handler.removeCallbacksAndMessages(null /* token */)
}
@Suppress("UNCHECKED_CAST")