diff --git a/services/core/java/com/android/server/wm/TaskFragment.java b/services/core/java/com/android/server/wm/TaskFragment.java index 255e4432753e8..eae6d7e6ffb5a 100644 --- a/services/core/java/com/android/server/wm/TaskFragment.java +++ b/services/core/java/com/android/server/wm/TaskFragment.java @@ -1340,6 +1340,8 @@ class TaskFragment extends WindowContainer { } else { prev.schedulePauseTimeout(); + // Unset readiness since we now need to wait until this pause is complete. + mAtmService.getTransitionController().setReady(this, false /* ready */); return true; } diff --git a/services/core/java/com/android/server/wm/Transition.java b/services/core/java/com/android/server/wm/Transition.java index 6bfa611d7a98b..a55fc4e9c3abe 100644 --- a/services/core/java/com/android/server/wm/Transition.java +++ b/services/core/java/com/android/server/wm/Transition.java @@ -657,7 +657,7 @@ class Transition extends Binder implements BLASTSyncEngine.TransactionReadyListe ArrayMap reasons = new ArrayMap<>(); for (int i = mParticipants.size() - 1; i >= 0; --i) { ActivityRecord r = mParticipants.valueAt(i).asActivityRecord(); - if (r == null) continue; + if (r == null || !r.mVisibleRequested) continue; // At this point, r is "ready", but if it's not "ALL ready" then it is probably only // ready due to starting-window. reasons.put(r, (r.mStartingData instanceof SplashScreenStartingData