diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/SignalClusterView.java b/packages/SystemUI/src/com/android/systemui/statusbar/SignalClusterView.java index 1810526ac3d84..a2ad46a0c0e1c 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/SignalClusterView.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/SignalClusterView.java @@ -299,6 +299,14 @@ public class SignalClusterView return; } // Clear out all old subIds. + for (PhoneState state : mPhoneStates) { + if (state.mMobile != null) { + state.maybeStopAnimatableDrawable(state.mMobile); + } + if (state.mMobileDark != null) { + state.maybeStopAnimatableDrawable(state.mMobileDark); + } + } mPhoneStates.clear(); if (mMobileSignalGroup != null) { mMobileSignalGroup.removeAllViews(); @@ -395,6 +403,11 @@ public class SignalClusterView state.mMobile.setImageDrawable(null); state.mLastMobileStrengthId = -1; } + if (state.mMobileDark != null) { + state.maybeStopAnimatableDrawable(state.mMobileDark); + state.mMobileDark.setImageDrawable(null); + state.mLastMobileStrengthId = -1; + } if (state.mMobileType != null) { state.mMobileType.setImageDrawable(null); state.mLastMobileTypeId = -1;