Merge "Reduce unnecessary redraw of wallpaper when switching orientation" into udc-dev am: 72d126cd8d am: 91f472e969

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

Change-Id: Ibfbda7a9e4162bf997eaaac7800acb4fea0c434e
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Riddle Hsu
2023-05-29 07:31:19 +00:00
committed by Automerger Merge Worker
2 changed files with 9 additions and 3 deletions

View File

@@ -5630,11 +5630,18 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A
setClientVisible(visible);
}
final DisplayContent displayContent = getDisplayContent();
if (!visible) {
mImeInsetsFrozenUntilStartInput = true;
if (usingShellTransitions) {
final WindowState wallpaperTarget =
displayContent.mWallpaperController.getWallpaperTarget();
if (wallpaperTarget != null && wallpaperTarget.mActivityRecord == this) {
displayContent.mWallpaperController.hideWallpapers(wallpaperTarget);
}
}
}
final DisplayContent displayContent = getDisplayContent();
if (!displayContent.mClosingApps.contains(this)
&& !displayContent.mOpeningApps.contains(this)
&& !fromTransition) {

View File

@@ -146,11 +146,10 @@ class WallpaperController {
}
} else {
final ActivityRecord ar = w.mActivityRecord;
final TransitionController tc = w.mTransitionController;
// The animating window can still be visible on screen if it is in transition, so we
// should check whether this window can be wallpaper target even when visibleRequested
// is false.
if (ar != null && !ar.isVisibleRequested() && !tc.inTransition(ar)) {
if (ar != null && !ar.isVisibleRequested() && !ar.isVisible()) {
// An activity that is not going to remain visible shouldn't be the target.
return false;
}