Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 410d8084 authored by Pavel Grafov's avatar Pavel Grafov
Browse files

Show work profile status bar icon for lockscreen app.

If currently active app is in work profile and is shown on top of
keyguard (i.e. keyguard is occluded), we need to show work profile icon.

Bug: 31796748
Test: manually, running navigation in Google Maps.
Change-Id: I25e12ccf6a5def6efbee22f41bfa216c8acc3b26
parent 7162057f
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -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,
+2 −1
Original line number Diff line number Diff line
@@ -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();
    }
}
+6 −0
Original line number Diff line number Diff line
@@ -58,6 +58,7 @@ public class KeyguardMonitorImpl extends KeyguardUpdateMonitorCallback
        };
    }

    @Override
    public void addCallback(Callback callback) {
        mCallbacks.add(callback);
        if (mCallbacks.size() != 0 && !mListening) {
@@ -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;
@@ -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;
    }
+5 −0
Original line number Diff line number Diff line
@@ -46,6 +46,11 @@ public class FakeKeyguardMonitor implements KeyguardMonitor {
        return false;
    }

    @Override
    public boolean isOccluded() {
        return false;
    }

    @Override
    public boolean isKeyguardFadingAway() {
        return false;