diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java index 73648387d2352..e3ce1e27f3e68 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBar.java @@ -1178,6 +1178,7 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, mKeyguardIndicationController.setStatusBarKeyguardViewManager( mStatusBarKeyguardViewManager); mFingerprintUnlockController.setStatusBarKeyguardViewManager(mStatusBarKeyguardViewManager); + mIconPolicy.setStatusBarKeyguardViewManager(mStatusBarKeyguardViewManager); mRemoteInputController.addCallback(mStatusBarKeyguardViewManager); if (FORCE_REMOTE_INPUT_HISTORY) { @@ -4067,12 +4068,10 @@ public class PhoneStatusBar extends BaseStatusBar implements DemoMode, } if (mState == StatusBarState.KEYGUARD || mState == StatusBarState.SHADE_LOCKED) { mScrimController.setKeyguardShowing(true); - mIconPolicy.setKeyguardShowing(true); } else { mScrimController.setKeyguardShowing(false); - mIconPolicy.setKeyguardShowing(false); } - + mIconPolicy.notifyKeyguardShowingChanged(); mNotificationPanel.setBarState(mState, mKeyguardFadingAway, goingToFullShade); updateDozingState(); updatePublicMode(); 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 823af36fff5a9..8f24033e0beec 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 @@ public class PhoneStatusBarPolicy implements Callback, RotationLockController.Ro 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 @@ public class PhoneStatusBarPolicy implements Callback, RotationLockController.Ro 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 @@ public class PhoneStatusBarPolicy implements Callback, RotationLockController.Ro mDataSaver.addListener(this); } + public void setStatusBarKeyguardViewManager( + StatusBarKeyguardViewManager statusBarKeyguardViewManager) { + mStatusBarKeyguardViewManager = statusBarKeyguardViewManager; + } + public void setZenMode(int zen) { mZen = zen; updateVolumeZen(); @@ -385,10 +390,9 @@ public class PhoneStatusBarPolicy implements Callback, RotationLockController.Ro 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 @@ public class PhoneStatusBarPolicy implements Callback, RotationLockController.Ro updateManagedProfile(); } - public void setKeyguardShowing(boolean visible) { - mKeyguardVisible = visible; + public void notifyKeyguardShowingChanged() { updateManagedProfile(); }