Loading core/java/android/app/ActivityTransitionCoordinator.java +14 −6 Original line number Diff line number Diff line Loading @@ -288,16 +288,22 @@ abstract class ActivityTransitionCoordinator extends ResultReceiver { } } protected static Transition addTargets(Transition transition, Collection<View> views) { if (transition == null || views == null || views.isEmpty()) { protected Transition setTargets(Transition transition, boolean add) { if (transition == null || (add && (mTransitioningViews == null || mTransitioningViews.isEmpty()))) { return null; } // Add the targets to a set containing transition so that transition // remains unaffected. We don't want to modify the targets of transition itself. TransitionSet set = new TransitionSet(); if (views != null) { for (View view : views) { if (mTransitioningViews != null) { for (int i = mTransitioningViews.size() - 1; i >= 0; i--) { View view = mTransitioningViews.get(i); if (add) { set.addTarget(view); } else { set.excludeTarget(view, true); } } } // By adding the transition after addTarget, we prevent addTarget from Loading @@ -306,10 +312,12 @@ abstract class ActivityTransitionCoordinator extends ResultReceiver { return set; } protected Transition configureTransition(Transition transition) { protected Transition configureTransition(Transition transition, boolean includeTransitioningViews) { if (transition != null) { transition = transition.clone(); transition.setEpicenterCallback(mEpicenterCallback); transition = setTargets(transition, includeTransitioningViews); } return transition; } Loading core/java/android/app/EnterTransitionCoordinator.java +2 −5 Original line number Diff line number Diff line Loading @@ -254,7 +254,6 @@ class EnterTransitionCoordinator extends ActivityTransitionCoordinator { } private void startSharedElementTransition(Bundle sharedElementState) { setEpicenter(); // Remove rejected shared elements ArrayList<String> rejectedNames = new ArrayList<String>(mAllSharedElementNames); rejectedNames.removeAll(mSharedElementNames); Loading Loading @@ -327,14 +326,13 @@ class EnterTransitionCoordinator extends ActivityTransitionCoordinator { boolean startSharedElementTransition) { Transition sharedElementTransition = null; if (startSharedElementTransition && !mSharedElementNames.isEmpty()) { sharedElementTransition = configureTransition(getSharedElementTransition()); sharedElementTransition = configureTransition(getSharedElementTransition(), false); } Transition viewsTransition = null; if (startEnterTransition && !mTransitioningViews.isEmpty()) { viewsTransition = configureTransition(getViewsTransition()); viewsTransition = configureTransition(getViewsTransition(), true); if (viewsTransition != null) { stripOffscreenViews(); viewsTransition = addTargets(viewsTransition, mTransitioningViews); } } Loading Loading @@ -465,7 +463,6 @@ class EnterTransitionCoordinator extends ActivityTransitionCoordinator { startTransition(new Runnable() { @Override public void run() { setEpicenter(); boolean startEnterTransition = true; boolean startSharedElementTransition = false; Transition transition = beginTransition(startEnterTransition, Loading core/java/android/app/ExitTransitionCoordinator.java +2 −2 Original line number Diff line number Diff line Loading @@ -256,7 +256,7 @@ class ExitTransitionCoordinator extends ActivityTransitionCoordinator { private Transition getExitTransition() { Transition viewsTransition = null; if (!mTransitioningViews.isEmpty()) { viewsTransition = configureTransition(getViewsTransition()); viewsTransition = configureTransition(getViewsTransition(), true); } if (viewsTransition == null) { exitTransitionComplete(); Loading @@ -283,7 +283,7 @@ class ExitTransitionCoordinator extends ActivityTransitionCoordinator { private Transition getSharedElementExitTransition() { Transition sharedElementTransition = null; if (!mSharedElements.isEmpty()) { sharedElementTransition = configureTransition(getSharedElementTransition()); sharedElementTransition = configureTransition(getSharedElementTransition(), false); } if (sharedElementTransition == null) { sharedElementTransitionComplete(); Loading Loading
core/java/android/app/ActivityTransitionCoordinator.java +14 −6 Original line number Diff line number Diff line Loading @@ -288,16 +288,22 @@ abstract class ActivityTransitionCoordinator extends ResultReceiver { } } protected static Transition addTargets(Transition transition, Collection<View> views) { if (transition == null || views == null || views.isEmpty()) { protected Transition setTargets(Transition transition, boolean add) { if (transition == null || (add && (mTransitioningViews == null || mTransitioningViews.isEmpty()))) { return null; } // Add the targets to a set containing transition so that transition // remains unaffected. We don't want to modify the targets of transition itself. TransitionSet set = new TransitionSet(); if (views != null) { for (View view : views) { if (mTransitioningViews != null) { for (int i = mTransitioningViews.size() - 1; i >= 0; i--) { View view = mTransitioningViews.get(i); if (add) { set.addTarget(view); } else { set.excludeTarget(view, true); } } } // By adding the transition after addTarget, we prevent addTarget from Loading @@ -306,10 +312,12 @@ abstract class ActivityTransitionCoordinator extends ResultReceiver { return set; } protected Transition configureTransition(Transition transition) { protected Transition configureTransition(Transition transition, boolean includeTransitioningViews) { if (transition != null) { transition = transition.clone(); transition.setEpicenterCallback(mEpicenterCallback); transition = setTargets(transition, includeTransitioningViews); } return transition; } Loading
core/java/android/app/EnterTransitionCoordinator.java +2 −5 Original line number Diff line number Diff line Loading @@ -254,7 +254,6 @@ class EnterTransitionCoordinator extends ActivityTransitionCoordinator { } private void startSharedElementTransition(Bundle sharedElementState) { setEpicenter(); // Remove rejected shared elements ArrayList<String> rejectedNames = new ArrayList<String>(mAllSharedElementNames); rejectedNames.removeAll(mSharedElementNames); Loading Loading @@ -327,14 +326,13 @@ class EnterTransitionCoordinator extends ActivityTransitionCoordinator { boolean startSharedElementTransition) { Transition sharedElementTransition = null; if (startSharedElementTransition && !mSharedElementNames.isEmpty()) { sharedElementTransition = configureTransition(getSharedElementTransition()); sharedElementTransition = configureTransition(getSharedElementTransition(), false); } Transition viewsTransition = null; if (startEnterTransition && !mTransitioningViews.isEmpty()) { viewsTransition = configureTransition(getViewsTransition()); viewsTransition = configureTransition(getViewsTransition(), true); if (viewsTransition != null) { stripOffscreenViews(); viewsTransition = addTargets(viewsTransition, mTransitioningViews); } } Loading Loading @@ -465,7 +463,6 @@ class EnterTransitionCoordinator extends ActivityTransitionCoordinator { startTransition(new Runnable() { @Override public void run() { setEpicenter(); boolean startEnterTransition = true; boolean startSharedElementTransition = false; Transition transition = beginTransition(startEnterTransition, Loading
core/java/android/app/ExitTransitionCoordinator.java +2 −2 Original line number Diff line number Diff line Loading @@ -256,7 +256,7 @@ class ExitTransitionCoordinator extends ActivityTransitionCoordinator { private Transition getExitTransition() { Transition viewsTransition = null; if (!mTransitioningViews.isEmpty()) { viewsTransition = configureTransition(getViewsTransition()); viewsTransition = configureTransition(getViewsTransition(), true); } if (viewsTransition == null) { exitTransitionComplete(); Loading @@ -283,7 +283,7 @@ class ExitTransitionCoordinator extends ActivityTransitionCoordinator { private Transition getSharedElementExitTransition() { Transition sharedElementTransition = null; if (!mSharedElements.isEmpty()) { sharedElementTransition = configureTransition(getSharedElementTransition()); sharedElementTransition = configureTransition(getSharedElementTransition(), false); } if (sharedElementTransition == null) { sharedElementTransitionComplete(); Loading