Merge "Don't use Drawable's level, use our own" into qt-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
449e01b8b8
@@ -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()
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user