From 8b0249da3ee6fd9f23ba59ee03eb19d9ee8efa92 Mon Sep 17 00:00:00 2001 From: John Spurlock Date: Thu, 17 Jul 2014 15:53:32 -0400 Subject: [PATCH] QS: Fix crash switching users. Bug:16375449 Change-Id: I971c5b043edcffe669c29bbc566b80696b6251b2 --- .../systemui/statusbar/policy/ZenModeControllerImpl.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/ZenModeControllerImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/ZenModeControllerImpl.java index ae037f951d9e8..a3cdd410d9491 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/ZenModeControllerImpl.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/ZenModeControllerImpl.java @@ -55,6 +55,7 @@ public class ZenModeControllerImpl implements ZenModeController { private int mUserId; private boolean mRequesting; + private boolean mRegistered; public ZenModeControllerImpl(Context context, Handler handler) { mContext = context; @@ -141,8 +142,12 @@ public class ZenModeControllerImpl implements ZenModeController { @Override public void setUserId(int userId) { mUserId = userId; + if (mRegistered) { + mContext.unregisterReceiver(mReceiver); + } mContext.registerReceiverAsUser(mReceiver, new UserHandle(mUserId), new IntentFilter(AlarmManager.ACTION_NEXT_ALARM_CLOCK_CHANGED), null, null); + mRegistered = true; } private void fireNextAlarmChanged() {