diff options
| -rw-r--r-- | packages/SettingsLib/src/com/android/settingslib/graph/ThemedBatteryDrawable.kt | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/packages/SettingsLib/src/com/android/settingslib/graph/ThemedBatteryDrawable.kt b/packages/SettingsLib/src/com/android/settingslib/graph/ThemedBatteryDrawable.kt index 239b1d464ea3..7f5171fb5756 100644 --- a/packages/SettingsLib/src/com/android/settingslib/graph/ThemedBatteryDrawable.kt +++ b/packages/SettingsLib/src/com/android/settingslib/graph/ThemedBatteryDrawable.kt @@ -83,6 +83,8 @@ open class ThemedBatteryDrawable(private val context: Context, frameColor: Int) // Dual tone implies that battery level is a clipped overlay over top of the whole shape private var dualTone = false + private var batteryLevel = 0 + private val invalidateRunnable: () -> Unit = { invalidateSelf() } @@ -176,9 +178,9 @@ open class ThemedBatteryDrawable(private val context: Context, frameColor: Int) unifiedPath.reset() levelPath.reset() levelRect.set(fillRect) - val fillFraction = level / 100f + val fillFraction = batteryLevel / 100f val fillTop = - if (level >= 95) + if (batteryLevel >= 95) fillRect.top else fillRect.top + (fillRect.height() * (1 - fillFraction)) @@ -222,7 +224,7 @@ open class ThemedBatteryDrawable(private val context: Context, frameColor: Int) fillPaint.color = levelColor // Show colorError below this level - if (level <= Companion.CRITICAL_LEVEL && !charging) { + if (batteryLevel <= Companion.CRITICAL_LEVEL && !charging) { c.save() c.clipPath(scaledFill) c.drawPath(levelPath, fillPaint) @@ -308,13 +310,13 @@ open class ThemedBatteryDrawable(private val context: Context, frameColor: Int) */ public open fun setBatteryLevel(l: Int) { invertFillIcon = if (l >= 67) true else if (l <= 33) false else invertFillIcon - level = l - levelColor = batteryColorForLevel(level) + batteryLevel = l + levelColor = batteryColorForLevel(batteryLevel) invalidateSelf() } public fun getBatteryLevel(): Int { - return level + return batteryLevel } override fun onBoundsChange(bounds: Rect?) { @@ -341,7 +343,7 @@ open class ThemedBatteryDrawable(private val context: Context, frameColor: Int) dualToneBackgroundFill.color = bgColor // Also update the level color, since fillColor may have changed - levelColor = batteryColorForLevel(level) + levelColor = batteryColorForLevel(batteryLevel) invalidateSelf() } |