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

Commit ec50931d authored by Jorim Jaggi's avatar Jorim Jaggi
Browse files

Make sure to call dismissKeyguard after setOccluded

If we call it before, SystemUI will not dismiss the Keyguard as
it is still occluded in that state.

Change-Id: I15cf9cc43b9a2b747bfd224a6dfbd769eee19d69
Fixes: 32202560
parent 9cac4568
Loading
Loading
Loading
Loading
+11 −8
Original line number Diff line number Diff line
@@ -5293,18 +5293,15 @@ public class PhoneWindowManager implements WindowManagerPolicy {
                }
            } else if (mDismissKeyguard != DISMISS_KEYGUARD_NONE) {
                mKeyguardHidden = false;
                boolean willDismiss = false;
                if (mDismissKeyguard == DISMISS_KEYGUARD_START) {
                boolean dismissKeyguard = false;
                final boolean trusted = mKeyguardDelegate.isTrusted();
                    willDismiss = trusted && mKeyguardOccluded && mKeyguardDelegate != null
                            && mKeyguardDelegate.isShowing();
                if (mDismissKeyguard == DISMISS_KEYGUARD_START) {
                    final boolean willDismiss = trusted && mKeyguardOccluded
                            && mKeyguardDelegate != null && mKeyguardDelegate.isShowing();
                    if (willDismiss) {
                        mCurrentlyDismissingKeyguard = true;
                    }

                    // Only launch the next keyguard unlock window once per window.
                    mHandler.post(() -> mKeyguardDelegate.dismiss(
                            trusted /* allowWhileOccluded */));
                    dismissKeyguard = true;
                }

                // If we are currently dismissing Keyguard, there is no need to unocclude it.
@@ -5315,6 +5312,12 @@ public class PhoneWindowManager implements WindowManagerPolicy {
                                | FINISH_LAYOUT_REDO_WALLPAPER;
                    }
                }

                if (dismissKeyguard) {
                    // Only launch the next keyguard unlock window once per window.
                    mHandler.post(() -> mKeyguardDelegate.dismiss(
                            trusted /* allowWhileOccluded */));
                }
            } else {
                mWinDismissingKeyguard = null;
                mSecureDismissingKeyguard = false;