Loading core/java/android/app/ActivityTransitionCoordinator.java +11 −0 Original line number Diff line number Diff line Loading @@ -933,6 +933,17 @@ abstract class ActivityTransitionCoordinator extends ResultReceiver { return -1; } protected void setTransitioningViewsVisiblity(int visiblity, boolean invalidate) { final int numElements = mTransitioningViews == null ? 0 : mTransitioningViews.size(); for (int i = 0; i < numElements; i++) { final View view = mTransitioningViews.get(i); view.setTransitionVisibility(visiblity); if (invalidate) { view.invalidate(); } } } private static class FixedEpicenterCallback extends Transition.EpicenterCallback { private Rect mEpicenter; Loading core/java/android/app/EnterTransitionCoordinator.java +9 −4 Original line number Diff line number Diff line Loading @@ -263,6 +263,7 @@ class EnterTransitionCoordinator extends ActivityTransitionCoordinator { mViewsReadyListener = null; } showViews(mTransitioningViews, true); setTransitioningViewsVisiblity(View.VISIBLE, true); mSharedElements.clear(); mAllSharedElementNames.clear(); mTransitioningViews.clear(); Loading @@ -280,6 +281,7 @@ class EnterTransitionCoordinator extends ActivityTransitionCoordinator { if (!mIsViewsTransitionStarted) { mIsViewsTransitionStarted = true; showViews(mTransitioningViews, true); setTransitioningViewsVisiblity(View.VISIBLE, true); mTransitioningViews.clear(); viewsTransitionComplete(); } Loading Loading @@ -506,7 +508,6 @@ class EnterTransitionCoordinator extends ActivityTransitionCoordinator { if (viewsTransition == null) { viewsTransitionComplete(); } else { viewsTransition.forceVisibility(View.INVISIBLE, true); final ArrayList<View> transitioningViews = mTransitioningViews; viewsTransition.addListener(new ContinueTransitionListener() { @Override Loading @@ -532,12 +533,15 @@ class EnterTransitionCoordinator extends ActivityTransitionCoordinator { Transition transition = mergeTransitions(sharedElementTransition, viewsTransition); if (transition != null) { transition.addListener(new ContinueTransitionListener()); if (startEnterTransition) { setTransitioningViewsVisiblity(View.INVISIBLE, false); } TransitionManager.beginDelayedTransition(decorView, transition); if (startSharedElementTransition && !mSharedElementNames.isEmpty()) { mSharedElements.get(0).invalidate(); } else if (startEnterTransition && mTransitioningViews != null && !mTransitioningViews.isEmpty()) { mTransitioningViews.get(0).invalidate(); } if (startEnterTransition) { setTransitioningViewsVisiblity(View.VISIBLE, true); } } else { transitionStarted(); Loading Loading @@ -613,6 +617,7 @@ class EnterTransitionCoordinator extends ActivityTransitionCoordinator { moveSharedElementsFromOverlay(); if (mTransitioningViews != null) { showViews(mTransitioningViews, true); setTransitioningViewsVisiblity(View.VISIBLE, true); } showViews(mSharedElements, true); clearState(); Loading core/java/android/app/ExitTransitionCoordinator.java +10 −13 Original line number Diff line number Diff line Loading @@ -48,27 +48,16 @@ class ExitTransitionCoordinator extends ActivityTransitionCoordinator { private static final long MAX_WAIT_MS = 1000; private Bundle mSharedElementBundle; private boolean mExitNotified; private boolean mSharedElementNotified; private Activity mActivity; private boolean mIsBackgroundReady; private boolean mIsCanceled; private Handler mHandler; private ObjectAnimator mBackgroundAnimator; private boolean mIsHidden; private Bundle mExitSharedElementBundle; private boolean mIsExitStarted; private boolean mSharedElementsHidden; public ExitTransitionCoordinator(Activity activity, ArrayList<String> names, Loading Loading @@ -129,6 +118,7 @@ class ExitTransitionCoordinator extends ActivityTransitionCoordinator { public void resetViews() { if (mTransitioningViews != null) { showViews(mTransitioningViews, true); setTransitioningViewsVisiblity(View.VISIBLE, true); } showViews(mSharedElements, true); mIsHidden = true; Loading Loading @@ -276,8 +266,9 @@ class ExitTransitionCoordinator extends ActivityTransitionCoordinator { Transition transition = getExitTransition(); ViewGroup decorView = getDecor(); if (transition != null && decorView != null && mTransitioningViews != null) { setTransitioningViewsVisiblity(View.VISIBLE, false); TransitionManager.beginDelayedTransition(decorView, transition); mTransitioningViews.get(0).invalidate(); setTransitioningViewsVisiblity(View.INVISIBLE, true); } else { transitionStarted(); } Loading Loading @@ -325,6 +316,7 @@ class ExitTransitionCoordinator extends ActivityTransitionCoordinator { viewsTransitionComplete(); if (mIsHidden && transitioningViews != null) { showViews(transitioningViews, true); setTransitioningViewsVisiblity(View.VISIBLE, true); } if (mSharedElementBundle != null) { delayCancel(); Loading @@ -332,7 +324,6 @@ class ExitTransitionCoordinator extends ActivityTransitionCoordinator { super.onTransitionEnd(transition); } }); viewsTransition.forceVisibility(View.INVISIBLE, false); } return viewsTransition; } Loading Loading @@ -369,9 +360,15 @@ class ExitTransitionCoordinator extends ActivityTransitionCoordinator { if (transition != null && decorView != null) { setGhostVisibility(View.INVISIBLE); scheduleGhostVisibilityChange(View.INVISIBLE); if (viewsTransition != null) { setTransitioningViewsVisiblity(View.VISIBLE, false); } TransitionManager.beginDelayedTransition(decorView, transition); scheduleGhostVisibilityChange(View.VISIBLE); setGhostVisibility(View.VISIBLE); if (viewsTransition != null) { setTransitioningViewsVisiblity(View.INVISIBLE, true); } decorView.invalidate(); } else { transitionStarted(); Loading core/java/android/transition/Transition.java +0 −3 Original line number Diff line number Diff line Loading @@ -2191,9 +2191,6 @@ public abstract class Transition implements Cloneable { return mNameOverrides; } /** @hide */ public void forceVisibility(int visibility, boolean isStartValue) {} @Override public String toString() { return toString(""); Loading core/java/android/transition/TransitionSet.java +0 −9 Original line number Diff line number Diff line Loading @@ -318,15 +318,6 @@ public class TransitionSet extends Transition { } } /** @hide */ @Override public void forceVisibility(int visibility, boolean isStartValue) { int numTransitions = mTransitions.size(); for (int i = 0; i < numTransitions; i++) { mTransitions.get(i).forceVisibility(visibility, isStartValue); } } /** * Removes the specified child transition from this set. * Loading Loading
core/java/android/app/ActivityTransitionCoordinator.java +11 −0 Original line number Diff line number Diff line Loading @@ -933,6 +933,17 @@ abstract class ActivityTransitionCoordinator extends ResultReceiver { return -1; } protected void setTransitioningViewsVisiblity(int visiblity, boolean invalidate) { final int numElements = mTransitioningViews == null ? 0 : mTransitioningViews.size(); for (int i = 0; i < numElements; i++) { final View view = mTransitioningViews.get(i); view.setTransitionVisibility(visiblity); if (invalidate) { view.invalidate(); } } } private static class FixedEpicenterCallback extends Transition.EpicenterCallback { private Rect mEpicenter; Loading
core/java/android/app/EnterTransitionCoordinator.java +9 −4 Original line number Diff line number Diff line Loading @@ -263,6 +263,7 @@ class EnterTransitionCoordinator extends ActivityTransitionCoordinator { mViewsReadyListener = null; } showViews(mTransitioningViews, true); setTransitioningViewsVisiblity(View.VISIBLE, true); mSharedElements.clear(); mAllSharedElementNames.clear(); mTransitioningViews.clear(); Loading @@ -280,6 +281,7 @@ class EnterTransitionCoordinator extends ActivityTransitionCoordinator { if (!mIsViewsTransitionStarted) { mIsViewsTransitionStarted = true; showViews(mTransitioningViews, true); setTransitioningViewsVisiblity(View.VISIBLE, true); mTransitioningViews.clear(); viewsTransitionComplete(); } Loading Loading @@ -506,7 +508,6 @@ class EnterTransitionCoordinator extends ActivityTransitionCoordinator { if (viewsTransition == null) { viewsTransitionComplete(); } else { viewsTransition.forceVisibility(View.INVISIBLE, true); final ArrayList<View> transitioningViews = mTransitioningViews; viewsTransition.addListener(new ContinueTransitionListener() { @Override Loading @@ -532,12 +533,15 @@ class EnterTransitionCoordinator extends ActivityTransitionCoordinator { Transition transition = mergeTransitions(sharedElementTransition, viewsTransition); if (transition != null) { transition.addListener(new ContinueTransitionListener()); if (startEnterTransition) { setTransitioningViewsVisiblity(View.INVISIBLE, false); } TransitionManager.beginDelayedTransition(decorView, transition); if (startSharedElementTransition && !mSharedElementNames.isEmpty()) { mSharedElements.get(0).invalidate(); } else if (startEnterTransition && mTransitioningViews != null && !mTransitioningViews.isEmpty()) { mTransitioningViews.get(0).invalidate(); } if (startEnterTransition) { setTransitioningViewsVisiblity(View.VISIBLE, true); } } else { transitionStarted(); Loading Loading @@ -613,6 +617,7 @@ class EnterTransitionCoordinator extends ActivityTransitionCoordinator { moveSharedElementsFromOverlay(); if (mTransitioningViews != null) { showViews(mTransitioningViews, true); setTransitioningViewsVisiblity(View.VISIBLE, true); } showViews(mSharedElements, true); clearState(); Loading
core/java/android/app/ExitTransitionCoordinator.java +10 −13 Original line number Diff line number Diff line Loading @@ -48,27 +48,16 @@ class ExitTransitionCoordinator extends ActivityTransitionCoordinator { private static final long MAX_WAIT_MS = 1000; private Bundle mSharedElementBundle; private boolean mExitNotified; private boolean mSharedElementNotified; private Activity mActivity; private boolean mIsBackgroundReady; private boolean mIsCanceled; private Handler mHandler; private ObjectAnimator mBackgroundAnimator; private boolean mIsHidden; private Bundle mExitSharedElementBundle; private boolean mIsExitStarted; private boolean mSharedElementsHidden; public ExitTransitionCoordinator(Activity activity, ArrayList<String> names, Loading Loading @@ -129,6 +118,7 @@ class ExitTransitionCoordinator extends ActivityTransitionCoordinator { public void resetViews() { if (mTransitioningViews != null) { showViews(mTransitioningViews, true); setTransitioningViewsVisiblity(View.VISIBLE, true); } showViews(mSharedElements, true); mIsHidden = true; Loading Loading @@ -276,8 +266,9 @@ class ExitTransitionCoordinator extends ActivityTransitionCoordinator { Transition transition = getExitTransition(); ViewGroup decorView = getDecor(); if (transition != null && decorView != null && mTransitioningViews != null) { setTransitioningViewsVisiblity(View.VISIBLE, false); TransitionManager.beginDelayedTransition(decorView, transition); mTransitioningViews.get(0).invalidate(); setTransitioningViewsVisiblity(View.INVISIBLE, true); } else { transitionStarted(); } Loading Loading @@ -325,6 +316,7 @@ class ExitTransitionCoordinator extends ActivityTransitionCoordinator { viewsTransitionComplete(); if (mIsHidden && transitioningViews != null) { showViews(transitioningViews, true); setTransitioningViewsVisiblity(View.VISIBLE, true); } if (mSharedElementBundle != null) { delayCancel(); Loading @@ -332,7 +324,6 @@ class ExitTransitionCoordinator extends ActivityTransitionCoordinator { super.onTransitionEnd(transition); } }); viewsTransition.forceVisibility(View.INVISIBLE, false); } return viewsTransition; } Loading Loading @@ -369,9 +360,15 @@ class ExitTransitionCoordinator extends ActivityTransitionCoordinator { if (transition != null && decorView != null) { setGhostVisibility(View.INVISIBLE); scheduleGhostVisibilityChange(View.INVISIBLE); if (viewsTransition != null) { setTransitioningViewsVisiblity(View.VISIBLE, false); } TransitionManager.beginDelayedTransition(decorView, transition); scheduleGhostVisibilityChange(View.VISIBLE); setGhostVisibility(View.VISIBLE); if (viewsTransition != null) { setTransitioningViewsVisiblity(View.INVISIBLE, true); } decorView.invalidate(); } else { transitionStarted(); Loading
core/java/android/transition/Transition.java +0 −3 Original line number Diff line number Diff line Loading @@ -2191,9 +2191,6 @@ public abstract class Transition implements Cloneable { return mNameOverrides; } /** @hide */ public void forceVisibility(int visibility, boolean isStartValue) {} @Override public String toString() { return toString(""); Loading
core/java/android/transition/TransitionSet.java +0 −9 Original line number Diff line number Diff line Loading @@ -318,15 +318,6 @@ public class TransitionSet extends Transition { } } /** @hide */ @Override public void forceVisibility(int visibility, boolean isStartValue) { int numTransitions = mTransitions.size(); for (int i = 0; i < numTransitions; i++) { mTransitions.get(i).forceVisibility(visibility, isStartValue); } } /** * Removes the specified child transition from this set. * Loading