Loading core/java/android/app/ActivityTransitionCoordinator.java +7 −2 Original line number Diff line number Diff line Loading @@ -129,8 +129,8 @@ abstract class ActivityTransitionCoordinator extends ResultReceiver { protected static final String KEY_SCALE_TYPE = "shared_element:scaleType"; protected static final String KEY_IMAGE_MATRIX = "shared_element:imageMatrix"; // The background fade in/out duration. 150ms is pretty quick, but not abrupt. public static final int FADE_BACKGROUND_DURATION_MS = 150; // The background fade in/out duration. TODO: Enable tuning this. public static final int FADE_BACKGROUND_DURATION_MS = 300; protected static final ImageView.ScaleType[] SCALE_TYPE_VALUES = ImageView.ScaleType.values(); Loading Loading @@ -195,6 +195,11 @@ abstract class ActivityTransitionCoordinator extends ResultReceiver { */ public static final int MSG_SHARED_ELEMENT_DESTINATION = 107; /** * Send the shared element positions. */ public static final int MSG_SEND_SHARED_ELEMENT_DESTINATION = 108; final private Window mWindow; final protected ArrayList<String> mAllSharedElementNames; final protected ArrayList<View> mSharedElements = new ArrayList<View>(); Loading core/java/android/app/EnterTransitionCoordinator.java +20 −0 Original line number Diff line number Diff line Loading @@ -29,6 +29,7 @@ import android.transition.TransitionManager; import android.util.ArrayMap; import android.util.Pair; import android.view.View; import android.view.ViewGroup; import android.view.ViewGroupOverlay; import android.view.ViewTreeObserver; import android.widget.ImageView; Loading Loading @@ -72,8 +73,24 @@ class EnterTransitionCoordinator extends ActivityTransitionCoordinator { } }; mHandler.sendEmptyMessageDelayed(MSG_CANCEL, MAX_WAIT_MS); send(MSG_SEND_SHARED_ELEMENT_DESTINATION, null); } } private void sendSharedElementDestination() { ViewGroup decor = getDecor(); if (!decor.isLayoutRequested()) { Bundle state = captureSharedElementState(); mResultReceiver.send(MSG_SHARED_ELEMENT_DESTINATION, state); } else { getDecor().getViewTreeObserver() .addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() { @Override public boolean onPreDraw() { getDecor().getViewTreeObserver().removeOnPreDrawListener(this); return true; } }); } } Loading Loading @@ -105,6 +122,9 @@ class EnterTransitionCoordinator extends ActivityTransitionCoordinator { case MSG_CANCEL: cancel(); break; case MSG_SEND_SHARED_ELEMENT_DESTINATION: sendSharedElementDestination(); break; } } Loading core/java/android/app/ExitTransitionCoordinator.java +1 −1 Original line number Diff line number Diff line Loading @@ -294,7 +294,7 @@ class ExitTransitionCoordinator extends ActivityTransitionCoordinator { } private void finishIfNecessary() { if (mIsReturning && mExitNotified && (mSharedElements.isEmpty() if (mIsReturning && mExitNotified && mActivity != null && (mSharedElements.isEmpty() || mSharedElements.get(0).getVisibility() == View.INVISIBLE)) { mActivity.finish(); mActivity.overridePendingTransition(0, 0); Loading Loading
core/java/android/app/ActivityTransitionCoordinator.java +7 −2 Original line number Diff line number Diff line Loading @@ -129,8 +129,8 @@ abstract class ActivityTransitionCoordinator extends ResultReceiver { protected static final String KEY_SCALE_TYPE = "shared_element:scaleType"; protected static final String KEY_IMAGE_MATRIX = "shared_element:imageMatrix"; // The background fade in/out duration. 150ms is pretty quick, but not abrupt. public static final int FADE_BACKGROUND_DURATION_MS = 150; // The background fade in/out duration. TODO: Enable tuning this. public static final int FADE_BACKGROUND_DURATION_MS = 300; protected static final ImageView.ScaleType[] SCALE_TYPE_VALUES = ImageView.ScaleType.values(); Loading Loading @@ -195,6 +195,11 @@ abstract class ActivityTransitionCoordinator extends ResultReceiver { */ public static final int MSG_SHARED_ELEMENT_DESTINATION = 107; /** * Send the shared element positions. */ public static final int MSG_SEND_SHARED_ELEMENT_DESTINATION = 108; final private Window mWindow; final protected ArrayList<String> mAllSharedElementNames; final protected ArrayList<View> mSharedElements = new ArrayList<View>(); Loading
core/java/android/app/EnterTransitionCoordinator.java +20 −0 Original line number Diff line number Diff line Loading @@ -29,6 +29,7 @@ import android.transition.TransitionManager; import android.util.ArrayMap; import android.util.Pair; import android.view.View; import android.view.ViewGroup; import android.view.ViewGroupOverlay; import android.view.ViewTreeObserver; import android.widget.ImageView; Loading Loading @@ -72,8 +73,24 @@ class EnterTransitionCoordinator extends ActivityTransitionCoordinator { } }; mHandler.sendEmptyMessageDelayed(MSG_CANCEL, MAX_WAIT_MS); send(MSG_SEND_SHARED_ELEMENT_DESTINATION, null); } } private void sendSharedElementDestination() { ViewGroup decor = getDecor(); if (!decor.isLayoutRequested()) { Bundle state = captureSharedElementState(); mResultReceiver.send(MSG_SHARED_ELEMENT_DESTINATION, state); } else { getDecor().getViewTreeObserver() .addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() { @Override public boolean onPreDraw() { getDecor().getViewTreeObserver().removeOnPreDrawListener(this); return true; } }); } } Loading Loading @@ -105,6 +122,9 @@ class EnterTransitionCoordinator extends ActivityTransitionCoordinator { case MSG_CANCEL: cancel(); break; case MSG_SEND_SHARED_ELEMENT_DESTINATION: sendSharedElementDestination(); break; } } Loading
core/java/android/app/ExitTransitionCoordinator.java +1 −1 Original line number Diff line number Diff line Loading @@ -294,7 +294,7 @@ class ExitTransitionCoordinator extends ActivityTransitionCoordinator { } private void finishIfNecessary() { if (mIsReturning && mExitNotified && (mSharedElements.isEmpty() if (mIsReturning && mExitNotified && mActivity != null && (mSharedElements.isEmpty() || mSharedElements.get(0).getVisibility() == View.INVISIBLE)) { mActivity.finish(); mActivity.overridePendingTransition(0, 0); Loading