From 2a6291069187756a1c45786215716db3f37097f7 Mon Sep 17 00:00:00 2001 From: Adrian Roos Date: Fri, 15 Apr 2016 16:28:03 -0700 Subject: [PATCH] Fix broken statusbar disable flags Fixes a bug where the disable flags were always applied to user 0 instead of the current user because the user switch dispatch from WindowManager was broken. Change-Id: Ib2faf0777c5367af5bf07cb2d11c51ed0222d65c Fixes: 28062568 --- .../java/com/android/server/policy/PhoneWindowManager.java | 5 +++-- .../android/server/statusbar/StatusBarManagerService.java | 3 ++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/services/core/java/com/android/server/policy/PhoneWindowManager.java b/services/core/java/com/android/server/policy/PhoneWindowManager.java index 5ce451fb71260..518c30e174b0f 100644 --- a/services/core/java/com/android/server/policy/PhoneWindowManager.java +++ b/services/core/java/com/android/server/policy/PhoneWindowManager.java @@ -7459,9 +7459,10 @@ public class PhoneWindowManager implements WindowManagerPolicy { if (mKeyguardDelegate != null) { mKeyguardDelegate.setCurrentUser(newUserId); } - if (mStatusBarService != null) { + IStatusBarService statusBar = getStatusBarService(); + if (statusBar != null) { try { - mStatusBarService.setCurrentUser(newUserId); + statusBar.setCurrentUser(newUserId); } catch (RemoteException e) { // oh well } diff --git a/services/core/java/com/android/server/statusbar/StatusBarManagerService.java b/services/core/java/com/android/server/statusbar/StatusBarManagerService.java index dbbaa5ebf75ff..e18c926937d89 100644 --- a/services/core/java/com/android/server/statusbar/StatusBarManagerService.java +++ b/services/core/java/com/android/server/statusbar/StatusBarManagerService.java @@ -68,7 +68,7 @@ public class StatusBarManagerService extends IStatusBarService.Stub { private int mDisabled1 = 0; private int mDisabled2 = 0; - private Object mLock = new Object(); + private final Object mLock = new Object(); // encompasses lights-out mode and other flags defined on View private int mSystemUiVisibility = 0; private int mFullscreenStackSysUiVisibility; @@ -926,6 +926,7 @@ public class StatusBarManagerService extends IStatusBarService.Stub { + " pkg=" + tok.pkg + " token=" + tok.token); } + pw.println(" mCurrentUserId=" + mCurrentUserId); } } }