Merge "Don't use Drawable's level, use our own" into qt-dev

am: 449e01b8b8

Change-Id: I2b85c6645db09e56007afc81e1ac48e89b8e4877
This commit is contained in:
Evan Laird
2019-04-16 17:39:56 -07:00
committed by android-build-merger

View File

@@ -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 // Dual tone implies that battery level is a clipped overlay over top of the whole shape
private var dualTone = false private var dualTone = false
private var batteryLevel = 0
private val invalidateRunnable: () -> Unit = { private val invalidateRunnable: () -> Unit = {
invalidateSelf() invalidateSelf()
} }
@@ -177,9 +179,9 @@ open class ThemedBatteryDrawable(private val context: Context, frameColor: Int)
unifiedPath.reset() unifiedPath.reset()
levelPath.reset() levelPath.reset()
levelRect.set(fillRect) levelRect.set(fillRect)
val fillFraction = level / 100f val fillFraction = batteryLevel / 100f
val fillTop = val fillTop =
if (level >= 95) if (batteryLevel >= 95)
fillRect.top fillRect.top
else else
fillRect.top + (fillRect.height() * (1 - fillFraction)) fillRect.top + (fillRect.height() * (1 - fillFraction))
@@ -223,7 +225,7 @@ open class ThemedBatteryDrawable(private val context: Context, frameColor: Int)
fillPaint.color = levelColor fillPaint.color = levelColor
// Show colorError below this level // Show colorError below this level
if (level <= Companion.CRITICAL_LEVEL && !charging) { if (batteryLevel <= Companion.CRITICAL_LEVEL && !charging) {
c.save() c.save()
c.clipPath(scaledFill) c.clipPath(scaledFill)
c.drawPath(levelPath, fillPaint) c.drawPath(levelPath, fillPaint)
@@ -310,13 +312,13 @@ open class ThemedBatteryDrawable(private val context: Context, frameColor: Int)
*/ */
public open fun setBatteryLevel(l: Int) { public open fun setBatteryLevel(l: Int) {
invertFillIcon = if (l >= 67) true else if (l <= 33) false else invertFillIcon invertFillIcon = if (l >= 67) true else if (l <= 33) false else invertFillIcon
level = l batteryLevel = l
levelColor = batteryColorForLevel(level) levelColor = batteryColorForLevel(batteryLevel)
invalidateSelf() invalidateSelf()
} }
public fun getBatteryLevel(): Int { public fun getBatteryLevel(): Int {
return level return batteryLevel
} }
override fun onBoundsChange(bounds: Rect?) { override fun onBoundsChange(bounds: Rect?) {
@@ -343,7 +345,7 @@ open class ThemedBatteryDrawable(private val context: Context, frameColor: Int)
dualToneBackgroundFill.color = bgColor dualToneBackgroundFill.color = bgColor
// Also update the level color, since fillColor may have changed // Also update the level color, since fillColor may have changed
levelColor = batteryColorForLevel(level) levelColor = batteryColorForLevel(batteryLevel)
invalidateSelf() invalidateSelf()
} }