diff --git a/packages/SettingsLib/src/com/android/settingslib/graph/ThemedBatteryDrawable.kt b/packages/SettingsLib/src/com/android/settingslib/graph/ThemedBatteryDrawable.kt index 239b1d464ea36..eff02d24431e8 100644 --- a/packages/SettingsLib/src/com/android/settingslib/graph/ThemedBatteryDrawable.kt +++ b/packages/SettingsLib/src/com/android/settingslib/graph/ThemedBatteryDrawable.kt @@ -173,6 +173,7 @@ open class ThemedBatteryDrawable(private val context: Context, frameColor: Int) } override fun draw(c: Canvas) { + c.saveLayer(null, null) unifiedPath.reset() levelPath.reset() levelRect.set(fillRect) @@ -243,6 +244,7 @@ open class ThemedBatteryDrawable(private val context: Context, frameColor: Int) // And draw the plus sign on top of the fill c.drawPath(scaledPlus, errorPaint) } + c.restore() } private fun batteryColorForLevel(level: Int): Int { diff --git a/packages/SystemUI/src/com/android/systemui/BatteryMeterView.java b/packages/SystemUI/src/com/android/systemui/BatteryMeterView.java index 329b001a0a7cd..7985dfc75ad47 100644 --- a/packages/SystemUI/src/com/android/systemui/BatteryMeterView.java +++ b/packages/SystemUI/src/com/android/systemui/BatteryMeterView.java @@ -180,10 +180,6 @@ public class BatteryMeterView extends LinearLayout implements setClipChildren(false); setClipToPadding(false); Dependency.get(ConfigurationController.class).observe(viewAttachLifecycle(this), this); - - // Needed for PorderDuff.Mode.CLEAR operations to work properly, but redraws don't happen - // enough to justify a hardware layer. - setLayerType(LAYER_TYPE_SOFTWARE, null); } private void setupLayoutTransition() {