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 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")