Merge "Don't set client visibility to false while resumed" into udc-qpr-dev
diff --git a/services/core/java/com/android/server/wm/ActivityRecord.java b/services/core/java/com/android/server/wm/ActivityRecord.java
index 71502c6..a38c79a 100644
--- a/services/core/java/com/android/server/wm/ActivityRecord.java
+++ b/services/core/java/com/android/server/wm/ActivityRecord.java
@@ -5651,9 +5651,10 @@
// to be some edge cases where we change our visibility but client visibility never gets
// updated.
// If we're becoming invisible, update the client visibility if we are not running an
- // animation. Otherwise, we'll update client visibility in onAnimationFinished.
- if (visible || usingShellTransitions
- || !isAnimating(PARENTS, ANIMATION_TYPE_APP_TRANSITION | ANIMATION_TYPE_RECENTS)) {
+ // animation and aren't in RESUMED state. Otherwise, we'll update client visibility in
+ // onAnimationFinished or activityStopped.
+ if (visible || (mState != RESUMED && (usingShellTransitions || !isAnimating(
+ PARENTS, ANIMATION_TYPE_APP_TRANSITION | ANIMATION_TYPE_RECENTS)))) {
setClientVisible(visible);
}