From 705a4bc62341d70a9b75b28f68c64efc88321438 Mon Sep 17 00:00:00 2001 From: Jason Monk Date: Thu, 30 Jun 2016 15:04:11 -0400 Subject: [PATCH] SysUI: Mantain non-weak reference to listener Change-Id: Ie11dfac0af90d65baed40f593eb4ffe7ab0cc0e3 Fixes: 29778623 --- .../policy/UserSwitcherController.java | 34 +++++++++++-------- 1 file changed, 19 insertions(+), 15 deletions(-) diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/UserSwitcherController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/UserSwitcherController.java index 379ad53c6dba5..27ba003c6ef17 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/UserSwitcherController.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/UserSwitcherController.java @@ -431,23 +431,27 @@ public class UserSwitcherController { } private void listenForCallState() { - TelephonyManager.from(mContext).listen(new PhoneStateListener() { - private int mCallState; - @Override - public void onCallStateChanged(int state, String incomingNumber) { - if (mCallState == state) return; - if (DEBUG) Log.v(TAG, "Call state changed: " + state); - mCallState = state; - int currentUserId = ActivityManager.getCurrentUser(); - UserInfo userInfo = mUserManager.getUserInfo(currentUserId); - if (userInfo != null && userInfo.isGuest()) { - showGuestNotification(currentUserId); - } - refreshUsers(UserHandle.USER_NULL); - } - }, PhoneStateListener.LISTEN_CALL_STATE); + TelephonyManager.from(mContext).listen(mPhoneStateListener, + PhoneStateListener.LISTEN_CALL_STATE); } + private final PhoneStateListener mPhoneStateListener = new PhoneStateListener() { + private int mCallState; + + @Override + public void onCallStateChanged(int state, String incomingNumber) { + if (mCallState == state) return; + if (DEBUG) Log.v(TAG, "Call state changed: " + state); + mCallState = state; + int currentUserId = ActivityManager.getCurrentUser(); + UserInfo userInfo = mUserManager.getUserInfo(currentUserId); + if (userInfo != null && userInfo.isGuest()) { + showGuestNotification(currentUserId); + } + refreshUsers(UserHandle.USER_NULL); + } + }; + private BroadcastReceiver mReceiver = new BroadcastReceiver() { @Override public void onReceive(Context context, Intent intent) {