diff options
| -rw-r--r-- | packages/SystemUI/src/com/android/systemui/statusbar/NotificationLockscreenUserManagerImpl.java | 31 |
1 files changed, 25 insertions, 6 deletions
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationLockscreenUserManagerImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationLockscreenUserManagerImpl.java index 856052e1a4d9..18c59817435c 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationLockscreenUserManagerImpl.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationLockscreenUserManagerImpl.java @@ -88,9 +88,11 @@ public class NotificationLockscreenUserManagerImpl implements private final DevicePolicyManager mDevicePolicyManager; private final SparseBooleanArray mLockscreenPublicMode = new SparseBooleanArray(); - private final SparseBooleanArray mUsersWithSeperateWorkChallenge = new SparseBooleanArray(); + private final SparseBooleanArray mUsersWithSeparateWorkChallenge = new SparseBooleanArray(); private final SparseBooleanArray mUsersAllowingPrivateNotifications = new SparseBooleanArray(); private final SparseBooleanArray mUsersAllowingNotifications = new SparseBooleanArray(); + private final SparseBooleanArray mUsersInLockdownLatestResult = new SparseBooleanArray(); + private final SparseBooleanArray mShouldHideNotifsLatestResult = new SparseBooleanArray(); private final UserManager mUserManager; private final List<UserChangedListener> mListeners = new ArrayList<>(); private final BroadcastDispatcher mBroadcastDispatcher; @@ -318,7 +320,9 @@ public class NotificationLockscreenUserManagerImpl implements if (userId == UserHandle.USER_ALL) { userId = mCurrentUserId; } - return Dependency.get(KeyguardUpdateMonitor.class).isUserInLockdown(userId); + boolean inLockdown = Dependency.get(KeyguardUpdateMonitor.class).isUserInLockdown(userId); + mUsersInLockdownLatestResult.put(userId, inLockdown); + return inLockdown; } /** @@ -326,9 +330,11 @@ public class NotificationLockscreenUserManagerImpl implements * If so, notifications should be hidden. */ public boolean shouldHideNotifications(int userId) { - return isLockscreenPublicMode(userId) && !userAllowsNotificationsInPublic(userId) + boolean hide = isLockscreenPublicMode(userId) && !userAllowsNotificationsInPublic(userId) || (userId != mCurrentUserId && shouldHideNotifications(mCurrentUserId)) || shouldTemporarilyHideNotifications(userId); + mShouldHideNotifsLatestResult.put(userId, hide); + return hide; } /** @@ -469,7 +475,7 @@ public class NotificationLockscreenUserManagerImpl implements @Override public boolean needsSeparateWorkChallenge(int userId) { - return mUsersWithSeperateWorkChallenge.get(userId, false); + return mUsersWithSeparateWorkChallenge.get(userId, false); } /** @@ -608,7 +614,7 @@ public class NotificationLockscreenUserManagerImpl implements // - device keyguard is shown in secure mode; // - profile is locked with a work challenge. SparseArray<UserInfo> currentProfiles = getCurrentProfiles(); - mUsersWithSeperateWorkChallenge.clear(); + mUsersWithSeparateWorkChallenge.clear(); for (int i = currentProfiles.size() - 1; i >= 0; i--) { final int userId = currentProfiles.valueAt(i).id; boolean isProfilePublic = devicePublic; @@ -622,7 +628,7 @@ public class NotificationLockscreenUserManagerImpl implements isProfilePublic = showingKeyguard || mKeyguardManager.isDeviceLocked(userId); } setLockscreenPublicMode(isProfilePublic, userId); - mUsersWithSeperateWorkChallenge.put(userId, needsSeparateChallenge); + mUsersWithSeparateWorkChallenge.put(userId, needsSeparateChallenge); } getEntryManager().updateNotifications("NotificationLockscreenUserManager.updatePublicMode"); } @@ -689,6 +695,7 @@ public class NotificationLockscreenUserManagerImpl implements pw.print("" + userId + " "); } } + pw.println(); pw.print(" mCurrentManagedProfiles="); synchronized (mLock) { for (int i = mCurrentManagedProfiles.size() - 1; i >= 0; i--) { @@ -696,5 +703,17 @@ public class NotificationLockscreenUserManagerImpl implements } } pw.println(); + pw.print(" mLockscreenPublicMode="); + pw.println(mLockscreenPublicMode); + pw.print(" mUsersWithSeparateWorkChallenge="); + pw.println(mUsersWithSeparateWorkChallenge); + pw.print(" mUsersAllowingPrivateNotifications="); + pw.println(mUsersAllowingPrivateNotifications); + pw.print(" mUsersAllowingNotifications="); + pw.println(mUsersAllowingNotifications); + pw.print(" mUsersInLockdownLatestResult="); + pw.println(mUsersInLockdownLatestResult); + pw.print(" mShouldHideNotifsLatestResult="); + pw.println(mShouldHideNotifsLatestResult); } } |