Refactor how StatusBarPolicy knows if keyguard is visible.
In the case where the keyguard has never been shown and thus
never been dismissed: StatusBarPolicy thought the keyguard was
still visible.
Instead of StatusBarPolicy keeping its own internal variable
for wether the keyguard is visible, directly use
StatusBarKeyguardViewManager.isShowing()
BUG:28755086
Change-Id: I1b30c0e6985aa7ff35eea41444ab5504c00ff130
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicy.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicy.java
index 823af36..8f24033 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicy.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicy.java
@@ -80,6 +80,7 @@
private final StatusBarIconController mIconController;
private final RotationLockController mRotationLockController;
private final DataSaverController mDataSaver;
+ private StatusBarKeyguardViewManager mStatusBarKeyguardViewManager;
// Assume it's all good unless we hear otherwise. We don't always seem
// to get broadcasts that it *is* there.
@@ -95,7 +96,6 @@
private boolean mManagedProfileIconVisible = false;
private boolean mManagedProfileInQuietMode = false;
- private boolean mKeyguardVisible = true;
private BluetoothController mBluetooth;
public PhoneStatusBarPolicy(Context context, StatusBarIconController iconController,
@@ -192,6 +192,11 @@
mDataSaver.addListener(this);
}
+ public void setStatusBarKeyguardViewManager(
+ StatusBarKeyguardViewManager statusBarKeyguardViewManager) {
+ mStatusBarKeyguardViewManager = statusBarKeyguardViewManager;
+ }
+
public void setZenMode(int zen) {
mZen = zen;
updateVolumeZen();
@@ -385,10 +390,9 @@
private void updateManagedProfile() {
if (DEBUG) Log.v(TAG, "updateManagedProfile: mManagedProfileFocused: "
- + mManagedProfileFocused
- + " mKeyguardVisible: " + mKeyguardVisible);
+ + mManagedProfileFocused);
final boolean showIcon;
- if (mManagedProfileFocused && !mKeyguardVisible) {
+ if (mManagedProfileFocused && !mStatusBarKeyguardViewManager.isShowing()) {
showIcon = true;
mIconController.setIcon(mSlotManagedProfile,
R.drawable.stat_sys_managed_profile_status,
@@ -446,8 +450,7 @@
updateManagedProfile();
}
- public void setKeyguardShowing(boolean visible) {
- mKeyguardVisible = visible;
+ public void notifyKeyguardShowingChanged() {
updateManagedProfile();
}