Merge "Reduce unnecessary redraw of wallpaper when switching orientation" into udc-dev

This commit is contained in:
Riddle Hsu
2023-05-29 05:44:31 +00:00
committed by Android (Google) Code Review
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;
}