diff --git a/services/core/java/com/android/server/wm/Transition.java b/services/core/java/com/android/server/wm/Transition.java index 0059f0b382f50..79a54c3cfb32d 100644 --- a/services/core/java/com/android/server/wm/Transition.java +++ b/services/core/java/com/android/server/wm/Transition.java @@ -2674,7 +2674,10 @@ class Transition implements BLASTSyncEngine.TransactionReadyListener { mController.mStateValidators.add(() -> { for (int i = mTargets.size() - 1; i >= 0; --i) { final ChangeInfo change = mTargets.get(i); - if (!change.mContainer.isVisibleRequested()) continue; + if (!change.mContainer.isVisibleRequested() + || change.mContainer.mSurfaceControl == null) { + continue; + } Slog.e(TAG, "Force show for visible " + change.mContainer + " which may be hidden by transition unexpectedly"); change.mContainer.getSyncTransaction().show(change.mContainer.mSurfaceControl);