diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/charging/WiredChargingRippleController.kt b/packages/SystemUI/src/com/android/systemui/statusbar/charging/WiredChargingRippleController.kt index fd060e6d486d8..c27aa5768a469 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/charging/WiredChargingRippleController.kt +++ b/packages/SystemUI/src/com/android/systemui/statusbar/charging/WiredChargingRippleController.kt @@ -103,7 +103,10 @@ class WiredChargingRippleController @Inject constructor( } fun startRipple() { - if (rippleView.rippleInProgress) { + if (rippleView.rippleInProgress || rippleView.parent != null) { + // Skip if ripple is still playing, or not playing but already added the parent + // (which might happen just before the animation starts or right after + // the animation ends.) return } val mWM = context.getSystemService(Context.WINDOW_SERVICE) as WindowManager