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

Commit 06a79739 authored by Issei Suzuki's avatar Issei Suzuki Committed by Automerger Merge Worker
Browse files

Merge "Fix flicker when device is unlocked from AOD." into sc-dev am:...

Merge "Fix flicker when device is unlocked from AOD." into sc-dev am: aaba1884 am: 47428d13 am: bfd83062

Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15736949

Change-Id: Id1b2141c32d5e743b7e33797269b1d55f9679029
parents 7da51f0b bfd83062
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -109,13 +109,13 @@ class KeyguardController {
    }

    /**
     * @return {@code true} for default display when AOD is showing. Otherwise, same as
     *         {@link #isKeyguardOrAodShowing(int)}
     * @return {@code true} for default display when AOD is showing, not going away. Otherwise, same
     *         as {@link #isKeyguardOrAodShowing(int)}
     * TODO(b/125198167): Replace isKeyguardOrAodShowing() by this logic.
     */
    boolean isKeyguardUnoccludedOrAodShowing(int displayId) {
        if (displayId == DEFAULT_DISPLAY && mAodShowing) {
            return true;
            return !mKeyguardGoingAway;
        }
        return isKeyguardOrAodShowing(displayId);
    }
@@ -488,7 +488,7 @@ class KeyguardController {
        final KeyguardDisplayState state = getDisplayState(displayId);
        if (isKeyguardUnoccludedOrAodShowing(displayId)) {
            state.mSleepTokenAcquirer.acquire(displayId);
        } else if (!isKeyguardUnoccludedOrAodShowing(displayId)) {
        } else {
            state.mSleepTokenAcquirer.release(displayId);
        }
    }
+15 −0
Original line number Diff line number Diff line
@@ -2172,6 +2172,21 @@ public class DisplayContentTests extends WindowTestsBase {
        assertEquals(top, display.topRunningActivity(true /* considerKeyguardState */));
    }

    @Test
    public void testKeyguardGoingAwayWhileAodShown() {
        mDisplayContent.getDisplayPolicy().setAwake(true);

        final WindowState appWin = createWindow(null, TYPE_APPLICATION, mDisplayContent, "appWin");
        final ActivityRecord activity = appWin.mActivityRecord;

        mAtm.mKeyguardController.setKeyguardShown(true /* keyguardShowing */,
                true /* aodShowing */);
        assertFalse(activity.isVisibleRequested());

        mAtm.mKeyguardController.keyguardGoingAway(0 /* flags */);
        assertTrue(activity.isVisibleRequested());
    }

    @Test
    public void testRemoveRootTaskInWindowingModes() {
        removeRootTaskTests(() -> mRootWindowContainer.removeRootTasksInWindowingModes(