Loading core/java/android/app/ActivityTransitionCoordinator.java +17 −6 Original line number Diff line number Diff line Loading @@ -219,7 +219,9 @@ abstract class ActivityTransitionCoordinator extends ResultReceiver { protected void viewsReady(ArrayMap<String, View> sharedElements) { sharedElements.retainAll(mAllSharedElementNames); if (mListener != null) { mListener.onMapSharedElements(mAllSharedElementNames, sharedElements); } mSharedElementNames.addAll(sharedElements.keySet()); mSharedElements.addAll(sharedElements.values()); if (getViewsTransition() != null && mTransitioningViews != null) { Loading Loading @@ -461,7 +463,8 @@ abstract class ActivityTransitionCoordinator extends ResultReceiver { if (sharedElementState != null) { Matrix tempMatrix = new Matrix(); RectF tempRect = new RectF(); for (int i = 0; i < mSharedElementNames.size(); i++) { final int numSharedElements = mSharedElements.size(); for (int i = 0; i < numSharedElements; i++) { View sharedElement = mSharedElements.get(i); String name = mSharedElementNames.get(i); SharedElementOriginalState originalState = getOldSharedElementState(sharedElement, Loading @@ -471,13 +474,17 @@ abstract class ActivityTransitionCoordinator extends ResultReceiver { tempMatrix, tempRect, null); } } if (mListener != null) { mListener.onSharedElementStart(mSharedElementNames, mSharedElements, snapshots); } return originalImageState; } protected void notifySharedElementEnd(ArrayList<View> snapshots) { if (mListener != null) { mListener.onSharedElementEnd(mSharedElementNames, mSharedElements, snapshots); } } protected void scheduleSetSharedElementEnd(final ArrayList<View> snapshots) { final View decorView = getDecor(); Loading Loading @@ -544,7 +551,7 @@ abstract class ActivityTransitionCoordinator extends ResultReceiver { if (sharedElementBundle != null) { Parcelable parcelable = sharedElementBundle.getParcelable(KEY_SNAPSHOT); View snapshot = null; if (parcelable != null) { if (parcelable != null && mListener != null) { snapshot = mListener.onCreateSnapshotView(context, parcelable); } if (snapshot != null) { Loading Loading @@ -659,7 +666,11 @@ abstract class ActivityTransitionCoordinator extends ResultReceiver { sharedElementBundle.putFloat(KEY_TRANSLATION_Z, view.getTranslationZ()); sharedElementBundle.putFloat(KEY_ELEVATION, view.getElevation()); Parcelable bitmap = mListener.onCaptureSharedElementSnapshot(view, tempMatrix, tempBounds); Parcelable bitmap = null; if (mListener != null) { bitmap = mListener.onCaptureSharedElementSnapshot(view, tempMatrix, tempBounds); } if (bitmap != null) { sharedElementBundle.putParcelable(KEY_SNAPSHOT, bitmap); } Loading core/java/android/app/EnterTransitionCoordinator.java +3 −1 Original line number Diff line number Diff line Loading @@ -306,7 +306,9 @@ class EnterTransitionCoordinator extends ActivityTransitionCoordinator { ArrayList<String> rejectedNames = new ArrayList<String>(mAllSharedElementNames); rejectedNames.removeAll(mSharedElementNames); ArrayList<View> rejectedSnapshots = createSnapshots(sharedElementState, rejectedNames); if (mListener != null) { mListener.onRejectSharedElements(rejectedSnapshots); } startRejectedAnimations(rejectedSnapshots); // Now start shared element transition Loading core/java/android/app/ExitTransitionCoordinator.java +4 −1 Original line number Diff line number Diff line Loading @@ -181,7 +181,10 @@ class ExitTransitionCoordinator extends ActivityTransitionCoordinator { }); setGhostVisibility(View.INVISIBLE); scheduleGhostVisibilityChange(View.INVISIBLE); mListener.onSharedElementEnd(mSharedElementNames, mSharedElements, sharedElementSnapshots); if (mListener != null) { mListener.onSharedElementEnd(mSharedElementNames, mSharedElements, sharedElementSnapshots); } TransitionManager.beginDelayedTransition(decorView, transition); scheduleGhostVisibilityChange(View.VISIBLE); setGhostVisibility(View.VISIBLE); Loading Loading
core/java/android/app/ActivityTransitionCoordinator.java +17 −6 Original line number Diff line number Diff line Loading @@ -219,7 +219,9 @@ abstract class ActivityTransitionCoordinator extends ResultReceiver { protected void viewsReady(ArrayMap<String, View> sharedElements) { sharedElements.retainAll(mAllSharedElementNames); if (mListener != null) { mListener.onMapSharedElements(mAllSharedElementNames, sharedElements); } mSharedElementNames.addAll(sharedElements.keySet()); mSharedElements.addAll(sharedElements.values()); if (getViewsTransition() != null && mTransitioningViews != null) { Loading Loading @@ -461,7 +463,8 @@ abstract class ActivityTransitionCoordinator extends ResultReceiver { if (sharedElementState != null) { Matrix tempMatrix = new Matrix(); RectF tempRect = new RectF(); for (int i = 0; i < mSharedElementNames.size(); i++) { final int numSharedElements = mSharedElements.size(); for (int i = 0; i < numSharedElements; i++) { View sharedElement = mSharedElements.get(i); String name = mSharedElementNames.get(i); SharedElementOriginalState originalState = getOldSharedElementState(sharedElement, Loading @@ -471,13 +474,17 @@ abstract class ActivityTransitionCoordinator extends ResultReceiver { tempMatrix, tempRect, null); } } if (mListener != null) { mListener.onSharedElementStart(mSharedElementNames, mSharedElements, snapshots); } return originalImageState; } protected void notifySharedElementEnd(ArrayList<View> snapshots) { if (mListener != null) { mListener.onSharedElementEnd(mSharedElementNames, mSharedElements, snapshots); } } protected void scheduleSetSharedElementEnd(final ArrayList<View> snapshots) { final View decorView = getDecor(); Loading Loading @@ -544,7 +551,7 @@ abstract class ActivityTransitionCoordinator extends ResultReceiver { if (sharedElementBundle != null) { Parcelable parcelable = sharedElementBundle.getParcelable(KEY_SNAPSHOT); View snapshot = null; if (parcelable != null) { if (parcelable != null && mListener != null) { snapshot = mListener.onCreateSnapshotView(context, parcelable); } if (snapshot != null) { Loading Loading @@ -659,7 +666,11 @@ abstract class ActivityTransitionCoordinator extends ResultReceiver { sharedElementBundle.putFloat(KEY_TRANSLATION_Z, view.getTranslationZ()); sharedElementBundle.putFloat(KEY_ELEVATION, view.getElevation()); Parcelable bitmap = mListener.onCaptureSharedElementSnapshot(view, tempMatrix, tempBounds); Parcelable bitmap = null; if (mListener != null) { bitmap = mListener.onCaptureSharedElementSnapshot(view, tempMatrix, tempBounds); } if (bitmap != null) { sharedElementBundle.putParcelable(KEY_SNAPSHOT, bitmap); } Loading
core/java/android/app/EnterTransitionCoordinator.java +3 −1 Original line number Diff line number Diff line Loading @@ -306,7 +306,9 @@ class EnterTransitionCoordinator extends ActivityTransitionCoordinator { ArrayList<String> rejectedNames = new ArrayList<String>(mAllSharedElementNames); rejectedNames.removeAll(mSharedElementNames); ArrayList<View> rejectedSnapshots = createSnapshots(sharedElementState, rejectedNames); if (mListener != null) { mListener.onRejectSharedElements(rejectedSnapshots); } startRejectedAnimations(rejectedSnapshots); // Now start shared element transition Loading
core/java/android/app/ExitTransitionCoordinator.java +4 −1 Original line number Diff line number Diff line Loading @@ -181,7 +181,10 @@ class ExitTransitionCoordinator extends ActivityTransitionCoordinator { }); setGhostVisibility(View.INVISIBLE); scheduleGhostVisibilityChange(View.INVISIBLE); mListener.onSharedElementEnd(mSharedElementNames, mSharedElements, sharedElementSnapshots); if (mListener != null) { mListener.onSharedElementEnd(mSharedElementNames, mSharedElements, sharedElementSnapshots); } TransitionManager.beginDelayedTransition(decorView, transition); scheduleGhostVisibilityChange(View.VISIBLE); setGhostVisibility(View.VISIBLE); Loading