diff --git a/packages/SystemUI/src/com/android/systemui/volume/VolumeDialog.java b/packages/SystemUI/src/com/android/systemui/volume/VolumeDialog.java index c6992aad068e1..1973e058e3e98 100644 --- a/packages/SystemUI/src/com/android/systemui/volume/VolumeDialog.java +++ b/packages/SystemUI/src/com/android/systemui/volume/VolumeDialog.java @@ -977,6 +977,7 @@ public class VolumeDialog implements TunerService.Tunable { final int density = newConfig.densityDpi; if (density != mDensity) { mDialog.dismiss(); + mZenFooter.cleanup(); initDialog(); } updateWindowWidthH(); diff --git a/packages/SystemUI/src/com/android/systemui/volume/ZenFooter.java b/packages/SystemUI/src/com/android/systemui/volume/ZenFooter.java index 65975d9e9f33b..f01e95fa38735 100644 --- a/packages/SystemUI/src/com/android/systemui/volume/ZenFooter.java +++ b/packages/SystemUI/src/com/android/systemui/volume/ZenFooter.java @@ -79,18 +79,11 @@ public class ZenFooter extends LinearLayout { mZen = controller.getZen(); mConfig = controller.getConfig(); mController = controller; + mController.addCallback(mZenCallback); update(); } - @Override - protected void onAttachedToWindow() { - super.onAttachedToWindow(); - mController.addCallback(mZenCallback); - } - - @Override - protected void onDetachedFromWindow() { - super.onDetachedFromWindow(); + public void cleanup() { mController.removeCallback(mZenCallback); }