Merge "FIx occlusion status mismatch issue when screen turns off and on quickly" into tm-qpr-dev

This commit is contained in:
TreeHugger Robot
2023-02-15 19:55:20 +00:00
committed by Android (Google) Code Review
4 changed files with 9 additions and 6 deletions

View File

@@ -3324,8 +3324,8 @@ public class PhoneWindowManager implements WindowManagerPolicy {
}
@Override
public void onKeyguardOccludedChangedLw(boolean occluded) {
if (mKeyguardDelegate != null && mKeyguardDelegate.isShowing()) {
public void onKeyguardOccludedChangedLw(boolean occluded, boolean waitAppTransition) {
if (mKeyguardDelegate != null && waitAppTransition) {
mPendingKeyguardOccluded = occluded;
mKeyguardOccludedChanged = true;
} else {

View File

@@ -166,9 +166,10 @@ public interface WindowManagerPolicy extends WindowManagerPolicyConstants {
/**
* Called when the Keyguard occluded state changed.
*
* @param occluded Whether Keyguard is currently occluded or not.
*/
void onKeyguardOccludedChangedLw(boolean occluded);
void onKeyguardOccludedChangedLw(boolean occluded, boolean waitAppTransition);
/**
* Applies a keyguard occlusion change if one happened.

View File

@@ -403,8 +403,10 @@ class KeyguardController {
return;
}
mWindowManager.mPolicy.onKeyguardOccludedChangedLw(isDisplayOccluded(DEFAULT_DISPLAY));
if (isKeyguardLocked(displayId)) {
final boolean waitAppTransition = isKeyguardLocked(displayId);
mWindowManager.mPolicy.onKeyguardOccludedChangedLw(isDisplayOccluded(DEFAULT_DISPLAY),
waitAppTransition);
if (waitAppTransition) {
mService.deferWindowLayout();
try {
mRootWindowContainer.getDefaultDisplay()

View File

@@ -222,7 +222,7 @@ class TestWindowManagerPolicy implements WindowManagerPolicy {
}
@Override
public void onKeyguardOccludedChangedLw(boolean occluded) {
public void onKeyguardOccludedChangedLw(boolean occluded, boolean waitAppTransition) {
}
public void setSafeMode(boolean safeMode) {