Merge "Account for recents animation when reporting client visibility" into sc-dev

This commit is contained in:
Winson Chung
2021-07-16 23:44:41 +00:00
committed by Android (Google) Code Review

View File

@@ -4725,7 +4725,8 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A
*/ */
private void postApplyAnimation(boolean visible) { private void postApplyAnimation(boolean visible) {
final boolean delayed = isAnimating(PARENTS | CHILDREN, final boolean delayed = isAnimating(PARENTS | CHILDREN,
ANIMATION_TYPE_APP_TRANSITION | ANIMATION_TYPE_WINDOW_ANIMATION); ANIMATION_TYPE_APP_TRANSITION | ANIMATION_TYPE_WINDOW_ANIMATION
| ANIMATION_TYPE_RECENTS);
if (!delayed) { if (!delayed) {
// We aren't delayed anything, but exiting windows rely on the animation finished // We aren't delayed anything, but exiting windows rely on the animation finished
// callback being called in case the ActivityRecord was pretending to be delayed, // callback being called in case the ActivityRecord was pretending to be delayed,
@@ -4745,7 +4746,8 @@ final class ActivityRecord extends WindowToken implements WindowManagerService.A
// updated. // updated.
// If we're becoming invisible, update the client visibility if we are not running an // If we're becoming invisible, update the client visibility if we are not running an
// animation. Otherwise, we'll update client visibility in onAnimationFinished. // animation. Otherwise, we'll update client visibility in onAnimationFinished.
if (visible || !isAnimating(PARENTS, ANIMATION_TYPE_APP_TRANSITION)) { if (visible || !isAnimating(PARENTS,
ANIMATION_TYPE_APP_TRANSITION | ANIMATION_TYPE_RECENTS)) {
setClientVisible(visible); setClientVisible(visible);
} }