Loading packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicy.java +2 −1 Original line number Diff line number Diff line Loading @@ -484,7 +484,8 @@ public class PhoneStatusBarPolicy implements Callback, Callbacks, boolean isManagedProfile = mUserManager.isManagedProfile(userId); mHandler.post(() -> { final boolean showIcon; if (isManagedProfile && !mKeyguardMonitor.isShowing()) { if (isManagedProfile && (!mKeyguardMonitor.isShowing() || mKeyguardMonitor.isOccluded())) { showIcon = true; mIconController.setIcon(mSlotManagedProfile, R.drawable.stat_sys_managed_profile_status, Loading packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyguardMonitor.java +2 −1 Original line number Diff line number Diff line Loading @@ -21,12 +21,13 @@ public interface KeyguardMonitor extends CallbackController<Callback> { boolean isSecure(); boolean canSkipBouncer(); boolean isShowing(); boolean isOccluded(); boolean isKeyguardFadingAway(); boolean isKeyguardGoingAway(); long getKeyguardFadingAwayDuration(); long getKeyguardFadingAwayDelay(); public interface Callback { interface Callback { void onKeyguardShowingChanged(); } } packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyguardMonitorImpl.java +6 −0 Original line number Diff line number Diff line Loading @@ -58,6 +58,7 @@ public class KeyguardMonitorImpl extends KeyguardUpdateMonitorCallback }; } @Override public void addCallback(Callback callback) { mCallbacks.add(callback); if (mCallbacks.size() != 0 && !mListening) { Loading @@ -69,6 +70,7 @@ public class KeyguardMonitorImpl extends KeyguardUpdateMonitorCallback } } @Override public void removeCallback(Callback callback) { if (mCallbacks.remove(callback) && mCallbacks.size() == 0 && mListening) { mListening = false; Loading @@ -77,18 +79,22 @@ public class KeyguardMonitorImpl extends KeyguardUpdateMonitorCallback } } @Override public boolean isShowing() { return mShowing; } @Override public boolean isSecure() { return mSecure; } @Override public boolean isOccluded() { return mOccluded; } @Override public boolean canSkipBouncer() { return mCanSkipBouncer; } Loading packages/SystemUI/tests/src/com/android/systemui/utils/leaks/FakeKeyguardMonitor.java +5 −0 Original line number Diff line number Diff line Loading @@ -46,6 +46,11 @@ public class FakeKeyguardMonitor implements KeyguardMonitor { return false; } @Override public boolean isOccluded() { return false; } @Override public boolean isKeyguardFadingAway() { return false; Loading Loading
packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicy.java +2 −1 Original line number Diff line number Diff line Loading @@ -484,7 +484,8 @@ public class PhoneStatusBarPolicy implements Callback, Callbacks, boolean isManagedProfile = mUserManager.isManagedProfile(userId); mHandler.post(() -> { final boolean showIcon; if (isManagedProfile && !mKeyguardMonitor.isShowing()) { if (isManagedProfile && (!mKeyguardMonitor.isShowing() || mKeyguardMonitor.isOccluded())) { showIcon = true; mIconController.setIcon(mSlotManagedProfile, R.drawable.stat_sys_managed_profile_status, Loading
packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyguardMonitor.java +2 −1 Original line number Diff line number Diff line Loading @@ -21,12 +21,13 @@ public interface KeyguardMonitor extends CallbackController<Callback> { boolean isSecure(); boolean canSkipBouncer(); boolean isShowing(); boolean isOccluded(); boolean isKeyguardFadingAway(); boolean isKeyguardGoingAway(); long getKeyguardFadingAwayDuration(); long getKeyguardFadingAwayDelay(); public interface Callback { interface Callback { void onKeyguardShowingChanged(); } }
packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyguardMonitorImpl.java +6 −0 Original line number Diff line number Diff line Loading @@ -58,6 +58,7 @@ public class KeyguardMonitorImpl extends KeyguardUpdateMonitorCallback }; } @Override public void addCallback(Callback callback) { mCallbacks.add(callback); if (mCallbacks.size() != 0 && !mListening) { Loading @@ -69,6 +70,7 @@ public class KeyguardMonitorImpl extends KeyguardUpdateMonitorCallback } } @Override public void removeCallback(Callback callback) { if (mCallbacks.remove(callback) && mCallbacks.size() == 0 && mListening) { mListening = false; Loading @@ -77,18 +79,22 @@ public class KeyguardMonitorImpl extends KeyguardUpdateMonitorCallback } } @Override public boolean isShowing() { return mShowing; } @Override public boolean isSecure() { return mSecure; } @Override public boolean isOccluded() { return mOccluded; } @Override public boolean canSkipBouncer() { return mCanSkipBouncer; } Loading
packages/SystemUI/tests/src/com/android/systemui/utils/leaks/FakeKeyguardMonitor.java +5 −0 Original line number Diff line number Diff line Loading @@ -46,6 +46,11 @@ public class FakeKeyguardMonitor implements KeyguardMonitor { return false; } @Override public boolean isOccluded() { return false; } @Override public boolean isKeyguardFadingAway() { return false; Loading