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

Commit f9600f10 authored by wilsonshih's avatar wilsonshih
Browse files

[Shell-Trans] Update keyguard occluded status to KeyguardService

...even if no change involved.
The occluded status could change while screen off, so there will
no visibility change in that transition. But we should allow that
transition to dispatched to KeyguardService so the occluding status
can align.

Bug: 266953625
Test: run testLaunchNoHistoryActivityOnNewDisplay with enable keyguard.
Verify the KeyguardService won't stuck in occluded after test finish.

Change-Id: I7438de3c1892bccaf80ce644548a4c86c078cd17
parent d491ea05
Loading
Loading
Loading
Loading
+4 −1
Original line number Diff line number Diff line
@@ -20,6 +20,7 @@ import static android.view.WindowManager.TRANSIT_CHANGE;
import static android.view.WindowManager.TRANSIT_CLOSE;
import static android.view.WindowManager.TRANSIT_FIRST_CUSTOM;
import static android.view.WindowManager.TRANSIT_KEYGUARD_GOING_AWAY;
import static android.view.WindowManager.TRANSIT_KEYGUARD_UNOCCLUDE;
import static android.view.WindowManager.TRANSIT_OPEN;
import static android.view.WindowManager.TRANSIT_TO_BACK;
import static android.view.WindowManager.TRANSIT_TO_FRONT;
@@ -504,7 +505,9 @@ public class Transitions implements RemoteCallable<Transitions> {
            mObservers.get(i).onTransitionReady(transitionToken, info, t, finishT);
        }

        if (!info.getRootLeash().isValid()) {
        // Allow to notify keyguard un-occluding state to KeyguardService, which can happen while
        // screen-off, so there might no visibility change involved.
        if (!info.getRootLeash().isValid() && info.getType() != TRANSIT_KEYGUARD_UNOCCLUDE) {
            // Invalid root-leash implies that the transition is empty/no-op, so just do
            // housekeeping and return.
            ProtoLog.v(ShellProtoLogGroup.WM_SHELL_TRANSITIONS, "Invalid root leash (%s): %s",