summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packages/SystemUI/src/com/android/systemui/statusbar/NotificationLockscreenUserManagerImpl.java31
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);
}
}