Merge "Fix flicker when device is unlocked from AOD." into sc-dev am: aaba1884bb am: 47428d13eb am: bfd83062f9
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/15736949 Change-Id: Id1b2141c32d5e743b7e33797269b1d55f9679029
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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(
|
||||
|
||||
Reference in New Issue
Block a user