Loading core/java/android/app/ActivityTransitionCoordinator.java +21 −2 Original line number Diff line number Diff line Loading @@ -205,6 +205,7 @@ abstract class ActivityTransitionCoordinator extends ResultReceiver { private boolean mIsStartingTransition; private ArrayList<GhostViewListeners> mGhostViewListeners = new ArrayList<GhostViewListeners>(); private ArrayMap<View, Float> mOriginalAlphas = new ArrayMap<View, Float>(); public ActivityTransitionCoordinator(Window window, ArrayList<String> allSharedElementNames, Loading Loading @@ -580,6 +581,7 @@ abstract class ActivityTransitionCoordinator extends ResultReceiver { mWindow = null; mSharedElements.clear(); mTransitioningViews.clear(); mOriginalAlphas.clear(); mResultReceiver = null; mPendingTransition = null; mListener = null; Loading @@ -589,10 +591,27 @@ abstract class ActivityTransitionCoordinator extends ResultReceiver { return getWindow().getTransitionBackgroundFadeDuration(); } protected static void setTransitionAlpha(ArrayList<View> views, float alpha) { protected void hideViews(ArrayList<View> views) { int count = views.size(); for (int i = 0; i < count; i++) { views.get(i).setTransitionAlpha(alpha); View view = views.get(i); if (!mOriginalAlphas.containsKey(view)) { mOriginalAlphas.put(view, view.getAlpha()); } view.setAlpha(0f); view.setTransitionAlpha(0f); } } protected void showViews(ArrayList<View> views) { int count = views.size(); for (int i = 0; i < count; i++) { View view = views.get(i); Float alpha = mOriginalAlphas.remove(view); if (alpha != null) { view.setAlpha(alpha); view.setTransitionAlpha(1f); } } } Loading core/java/android/app/EnterTransitionCoordinator.java +5 −5 Original line number Diff line number Diff line Loading @@ -112,9 +112,9 @@ class EnterTransitionCoordinator extends ActivityTransitionCoordinator { protected void viewsReady(ArrayMap<String, View> sharedElements) { super.viewsReady(sharedElements); mIsReadyForTransition = true; setTransitionAlpha(mSharedElements, 0); hideViews(mSharedElements); if (getViewsTransition() != null) { setTransitionAlpha(mTransitioningViews, 0); hideViews(mTransitioningViews); } if (mIsReturning) { sendSharedElementDestination(); Loading Loading @@ -240,7 +240,7 @@ class EnterTransitionCoordinator extends ActivityTransitionCoordinator { if (!mIsCanceled) { mIsCanceled = true; if (getViewsTransition() == null || mIsViewsTransitionStarted) { setTransitionAlpha(mSharedElements, 1); showViews(mSharedElements); } else { mTransitioningViews.addAll(mSharedElements); } Loading Loading @@ -300,7 +300,7 @@ class EnterTransitionCoordinator extends ActivityTransitionCoordinator { // Now start shared element transition ArrayList<View> sharedElementSnapshots = createSnapshots(sharedElementState, mSharedElementNames); setTransitionAlpha(mSharedElements, 1); showViews(mSharedElements); scheduleSetSharedElementEnd(sharedElementSnapshots); ArrayList<SharedElementOriginalState> originalImageViewState = setSharedElementState(sharedElementState, sharedElementSnapshots); Loading Loading @@ -411,7 +411,7 @@ class EnterTransitionCoordinator extends ActivityTransitionCoordinator { @Override public void onTransitionStart(Transition transition) { mEnterViewsTransition = transition; setTransitionAlpha(mTransitioningViews, 1); showViews(mTransitioningViews); super.onTransitionStart(transition); } Loading core/java/android/app/ExitTransitionCoordinator.java +5 −5 Original line number Diff line number Diff line Loading @@ -126,8 +126,8 @@ class ExitTransitionCoordinator extends ActivityTransitionCoordinator { } public void resetViews() { setTransitionAlpha(mTransitioningViews, 1); setTransitionAlpha(mSharedElements, 1); showViews(mTransitioningViews); showViews(mSharedElements); mIsHidden = true; if (!mIsReturning && getDecor() != null) { getDecor().suppressLayout(false); Loading Loading @@ -187,7 +187,7 @@ class ExitTransitionCoordinator extends ActivityTransitionCoordinator { private void hideSharedElements() { moveSharedElementsFromOverlay(); if (!mIsHidden) { setTransitionAlpha(mSharedElements, 0); hideViews(mSharedElements); } mSharedElementsHidden = true; finishIfNecessary(); Loading Loading @@ -296,7 +296,7 @@ class ExitTransitionCoordinator extends ActivityTransitionCoordinator { transition.removeListener(this); exitTransitionComplete(); if (mIsHidden) { setTransitionAlpha(mTransitioningViews, 1); showViews(mTransitioningViews); } if (mSharedElementBundle != null) { delayCancel(); Loading @@ -323,7 +323,7 @@ class ExitTransitionCoordinator extends ActivityTransitionCoordinator { transition.removeListener(this); sharedElementTransitionComplete(); if (mIsHidden) { setTransitionAlpha(mSharedElements, 1); showViews(mSharedElements); } } }); Loading Loading
core/java/android/app/ActivityTransitionCoordinator.java +21 −2 Original line number Diff line number Diff line Loading @@ -205,6 +205,7 @@ abstract class ActivityTransitionCoordinator extends ResultReceiver { private boolean mIsStartingTransition; private ArrayList<GhostViewListeners> mGhostViewListeners = new ArrayList<GhostViewListeners>(); private ArrayMap<View, Float> mOriginalAlphas = new ArrayMap<View, Float>(); public ActivityTransitionCoordinator(Window window, ArrayList<String> allSharedElementNames, Loading Loading @@ -580,6 +581,7 @@ abstract class ActivityTransitionCoordinator extends ResultReceiver { mWindow = null; mSharedElements.clear(); mTransitioningViews.clear(); mOriginalAlphas.clear(); mResultReceiver = null; mPendingTransition = null; mListener = null; Loading @@ -589,10 +591,27 @@ abstract class ActivityTransitionCoordinator extends ResultReceiver { return getWindow().getTransitionBackgroundFadeDuration(); } protected static void setTransitionAlpha(ArrayList<View> views, float alpha) { protected void hideViews(ArrayList<View> views) { int count = views.size(); for (int i = 0; i < count; i++) { views.get(i).setTransitionAlpha(alpha); View view = views.get(i); if (!mOriginalAlphas.containsKey(view)) { mOriginalAlphas.put(view, view.getAlpha()); } view.setAlpha(0f); view.setTransitionAlpha(0f); } } protected void showViews(ArrayList<View> views) { int count = views.size(); for (int i = 0; i < count; i++) { View view = views.get(i); Float alpha = mOriginalAlphas.remove(view); if (alpha != null) { view.setAlpha(alpha); view.setTransitionAlpha(1f); } } } Loading
core/java/android/app/EnterTransitionCoordinator.java +5 −5 Original line number Diff line number Diff line Loading @@ -112,9 +112,9 @@ class EnterTransitionCoordinator extends ActivityTransitionCoordinator { protected void viewsReady(ArrayMap<String, View> sharedElements) { super.viewsReady(sharedElements); mIsReadyForTransition = true; setTransitionAlpha(mSharedElements, 0); hideViews(mSharedElements); if (getViewsTransition() != null) { setTransitionAlpha(mTransitioningViews, 0); hideViews(mTransitioningViews); } if (mIsReturning) { sendSharedElementDestination(); Loading Loading @@ -240,7 +240,7 @@ class EnterTransitionCoordinator extends ActivityTransitionCoordinator { if (!mIsCanceled) { mIsCanceled = true; if (getViewsTransition() == null || mIsViewsTransitionStarted) { setTransitionAlpha(mSharedElements, 1); showViews(mSharedElements); } else { mTransitioningViews.addAll(mSharedElements); } Loading Loading @@ -300,7 +300,7 @@ class EnterTransitionCoordinator extends ActivityTransitionCoordinator { // Now start shared element transition ArrayList<View> sharedElementSnapshots = createSnapshots(sharedElementState, mSharedElementNames); setTransitionAlpha(mSharedElements, 1); showViews(mSharedElements); scheduleSetSharedElementEnd(sharedElementSnapshots); ArrayList<SharedElementOriginalState> originalImageViewState = setSharedElementState(sharedElementState, sharedElementSnapshots); Loading Loading @@ -411,7 +411,7 @@ class EnterTransitionCoordinator extends ActivityTransitionCoordinator { @Override public void onTransitionStart(Transition transition) { mEnterViewsTransition = transition; setTransitionAlpha(mTransitioningViews, 1); showViews(mTransitioningViews); super.onTransitionStart(transition); } Loading
core/java/android/app/ExitTransitionCoordinator.java +5 −5 Original line number Diff line number Diff line Loading @@ -126,8 +126,8 @@ class ExitTransitionCoordinator extends ActivityTransitionCoordinator { } public void resetViews() { setTransitionAlpha(mTransitioningViews, 1); setTransitionAlpha(mSharedElements, 1); showViews(mTransitioningViews); showViews(mSharedElements); mIsHidden = true; if (!mIsReturning && getDecor() != null) { getDecor().suppressLayout(false); Loading Loading @@ -187,7 +187,7 @@ class ExitTransitionCoordinator extends ActivityTransitionCoordinator { private void hideSharedElements() { moveSharedElementsFromOverlay(); if (!mIsHidden) { setTransitionAlpha(mSharedElements, 0); hideViews(mSharedElements); } mSharedElementsHidden = true; finishIfNecessary(); Loading Loading @@ -296,7 +296,7 @@ class ExitTransitionCoordinator extends ActivityTransitionCoordinator { transition.removeListener(this); exitTransitionComplete(); if (mIsHidden) { setTransitionAlpha(mTransitioningViews, 1); showViews(mTransitioningViews); } if (mSharedElementBundle != null) { delayCancel(); Loading @@ -323,7 +323,7 @@ class ExitTransitionCoordinator extends ActivityTransitionCoordinator { transition.removeListener(this); sharedElementTransitionComplete(); if (mIsHidden) { setTransitionAlpha(mSharedElements, 1); showViews(mSharedElements); } } }); Loading