diff --git a/core/java/android/app/ActivityTransitionCoordinator.java b/core/java/android/app/ActivityTransitionCoordinator.java index 9062892efde9d..d0d9d7153eaf4 100644 --- a/core/java/android/app/ActivityTransitionCoordinator.java +++ b/core/java/android/app/ActivityTransitionCoordinator.java @@ -641,17 +641,18 @@ abstract class ActivityTransitionCoordinator extends ResultReceiver { Matrix tempMatrix = new Matrix(); for (String name: names) { Bundle sharedElementBundle = state.getBundle(name); + View snapshot = null; if (sharedElementBundle != null) { Parcelable parcelable = sharedElementBundle.getParcelable(KEY_SNAPSHOT); - View snapshot = null; if (parcelable != null && mListener != null) { snapshot = mListener.onCreateSnapshotView(context, parcelable); } if (snapshot != null) { setSharedElementState(snapshot, name, state, tempMatrix, null, decorLoc); } - snapshots.add(snapshot); } + // Even null snapshots are added so they remain in the same order as shared elements. + snapshots.add(snapshot); } return snapshots; }