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 20439b1050e74..b69e15606a683 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 4ddeefeb8385f..b5ba18745973a 100644 --- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicy.java +++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicy.java @@ -83,6 +83,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. @@ -98,7 +99,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, @@ -196,6 +196,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(); @@ -389,10 +394,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, @@ -457,8 +461,7 @@ public class PhoneStatusBarPolicy implements Callback, RotationLockController.Ro updateManagedProfile(); } - public void setKeyguardShowing(boolean visible) { - mKeyguardVisible = visible; + public void notifyKeyguardShowingChanged() { updateManagedProfile(); }