Loading api/current.txt +5 −0 Original line number Diff line number Diff line Loading @@ -5310,6 +5310,11 @@ package android.app { method public void onRejectSharedElements(java.util.List<android.view.View>); method public void onSharedElementEnd(java.util.List<java.lang.String>, java.util.List<android.view.View>, java.util.List<android.view.View>); method public void onSharedElementStart(java.util.List<java.lang.String>, java.util.List<android.view.View>, java.util.List<android.view.View>); method public void onSharedElementsArrived(java.util.List<java.lang.String>, java.util.List<android.view.View>, android.app.SharedElementCallback.OnSharedElementsReadyListener); } public static abstract interface SharedElementCallback.OnSharedElementsReadyListener { method public abstract void onSharedElementsReady(); } public deprecated class TabActivity extends android.app.ActivityGroup { api/system-current.txt +5 −0 Original line number Diff line number Diff line Loading @@ -5401,6 +5401,11 @@ package android.app { method public void onRejectSharedElements(java.util.List<android.view.View>); method public void onSharedElementEnd(java.util.List<java.lang.String>, java.util.List<android.view.View>, java.util.List<android.view.View>); method public void onSharedElementStart(java.util.List<java.lang.String>, java.util.List<android.view.View>, java.util.List<android.view.View>); method public void onSharedElementsArrived(java.util.List<java.lang.String>, java.util.List<android.view.View>, android.app.SharedElementCallback.OnSharedElementsReadyListener); } public static abstract interface SharedElementCallback.OnSharedElementsReadyListener { method public abstract void onSharedElementsReady(); } public deprecated class TabActivity extends android.app.ActivityGroup { core/java/android/app/EnterTransitionCoordinator.java +32 −21 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ package android.app; import android.animation.Animator; import android.animation.AnimatorListenerAdapter; import android.animation.ObjectAnimator; import android.app.SharedElementCallback.OnSharedElementsReadyListener; import android.graphics.drawable.Drawable; import android.os.Bundle; import android.os.ResultReceiver; Loading Loading @@ -383,6 +384,9 @@ class EnterTransitionCoordinator extends ActivityTransitionCoordinator { } final Bundle sharedElementState = mSharedElementsBundle; mSharedElementsBundle = null; OnSharedElementsReadyListener listener = new OnSharedElementsReadyListener() { @Override public void onSharedElementsReady() { final View decorView = getDecor(); if (decorView != null) { decorView.getViewTreeObserver() Loading @@ -402,6 +406,13 @@ class EnterTransitionCoordinator extends ActivityTransitionCoordinator { decorView.invalidate(); } } }; if (mListener == null) { listener.onSharedElementsReady(); } else { mListener.onSharedElementsArrived(mSharedElementNames, mSharedElements, listener); } } private void requestLayoutForSharedElements() { int numSharedElements = mSharedElements.size(); Loading core/java/android/app/ExitTransitionCoordinator.java +32 −10 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ package android.app; import android.animation.Animator; import android.animation.AnimatorListenerAdapter; import android.animation.ObjectAnimator; import android.app.SharedElementCallback.OnSharedElementsReadyListener; import android.content.Intent; import android.graphics.Color; import android.graphics.Matrix; Loading @@ -27,6 +28,7 @@ import android.graphics.drawable.Drawable; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.os.ResultReceiver; import android.transition.Transition; import android.transition.TransitionManager; import android.view.View; Loading Loading @@ -408,8 +410,29 @@ class ExitTransitionCoordinator extends ActivityTransitionCoordinator { if (!mSharedElementNotified) { mSharedElementNotified = true; delayCancel(); if (mListener == null) { mResultReceiver.send(MSG_TAKE_SHARED_ELEMENTS, mSharedElementBundle); notifyExitComplete(); } else { final ResultReceiver resultReceiver = mResultReceiver; final Bundle sharedElementBundle = mSharedElementBundle; mListener.onSharedElementsArrived(mSharedElementNames, mSharedElements, new OnSharedElementsReadyListener() { @Override public void onSharedElementsReady() { resultReceiver.send(MSG_TAKE_SHARED_ELEMENTS, sharedElementBundle); notifyExitComplete(); } }); } } else { notifyExitComplete(); } } } private void notifyExitComplete() { if (!mExitNotified && mExitComplete) { mExitNotified = true; mResultReceiver.send(MSG_EXIT_TRANSITION_COMPLETE, null); Loading @@ -421,7 +444,6 @@ class ExitTransitionCoordinator extends ActivityTransitionCoordinator { finishIfNecessary(); } } } private void finishIfNecessary() { if (mIsReturning && mExitNotified && mActivity != null && (mSharedElements.isEmpty() || Loading core/java/android/app/SharedElementCallback.java +38 −0 Original line number Diff line number Diff line Loading @@ -221,4 +221,42 @@ public abstract class SharedElementCallback { } return view; } /** * Called during an Activity Transition when the shared elements have arrived at the * final location and are ready to be transferred. This method is called for both the * source and destination Activities. * <p> * When the shared elements are ready to be transferred, * {@link OnSharedElementsReadyListener#onSharedElementsReady()} * must be called to trigger the transfer. * <p> * The default behavior is to trigger the transfer immediately. * * @param sharedElementNames The names of the shared elements that are being transferred.. * @param sharedElements The shared elements that are part of the View hierarchy. * @param listener The listener to call when the shared elements are ready to be hidden * in the source Activity or shown in the destination Activity. */ public void onSharedElementsArrived(List<String> sharedElementNames, List<View> sharedElements, OnSharedElementsReadyListener listener) { listener.onSharedElementsReady(); } /** * Listener to be called after {@link * SharedElementCallback#onSharedElementsArrived(OnSharedElementsReadyListener)} * when the shared elements are ready to be hidden in the source Activity and shown in the * destination Activity. */ public interface OnSharedElementsReadyListener { /** * Call this method during or after the OnSharedElementsReadyListener has been received * in {@link SharedElementCallback#onSharedElementsArrived(OnSharedElementsReadyListener)} * to indicate that the shared elements are ready to be hidden in the source and shown * in the destination Activity. */ void onSharedElementsReady(); } } Loading
api/current.txt +5 −0 Original line number Diff line number Diff line Loading @@ -5310,6 +5310,11 @@ package android.app { method public void onRejectSharedElements(java.util.List<android.view.View>); method public void onSharedElementEnd(java.util.List<java.lang.String>, java.util.List<android.view.View>, java.util.List<android.view.View>); method public void onSharedElementStart(java.util.List<java.lang.String>, java.util.List<android.view.View>, java.util.List<android.view.View>); method public void onSharedElementsArrived(java.util.List<java.lang.String>, java.util.List<android.view.View>, android.app.SharedElementCallback.OnSharedElementsReadyListener); } public static abstract interface SharedElementCallback.OnSharedElementsReadyListener { method public abstract void onSharedElementsReady(); } public deprecated class TabActivity extends android.app.ActivityGroup {
api/system-current.txt +5 −0 Original line number Diff line number Diff line Loading @@ -5401,6 +5401,11 @@ package android.app { method public void onRejectSharedElements(java.util.List<android.view.View>); method public void onSharedElementEnd(java.util.List<java.lang.String>, java.util.List<android.view.View>, java.util.List<android.view.View>); method public void onSharedElementStart(java.util.List<java.lang.String>, java.util.List<android.view.View>, java.util.List<android.view.View>); method public void onSharedElementsArrived(java.util.List<java.lang.String>, java.util.List<android.view.View>, android.app.SharedElementCallback.OnSharedElementsReadyListener); } public static abstract interface SharedElementCallback.OnSharedElementsReadyListener { method public abstract void onSharedElementsReady(); } public deprecated class TabActivity extends android.app.ActivityGroup {
core/java/android/app/EnterTransitionCoordinator.java +32 −21 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ package android.app; import android.animation.Animator; import android.animation.AnimatorListenerAdapter; import android.animation.ObjectAnimator; import android.app.SharedElementCallback.OnSharedElementsReadyListener; import android.graphics.drawable.Drawable; import android.os.Bundle; import android.os.ResultReceiver; Loading Loading @@ -383,6 +384,9 @@ class EnterTransitionCoordinator extends ActivityTransitionCoordinator { } final Bundle sharedElementState = mSharedElementsBundle; mSharedElementsBundle = null; OnSharedElementsReadyListener listener = new OnSharedElementsReadyListener() { @Override public void onSharedElementsReady() { final View decorView = getDecor(); if (decorView != null) { decorView.getViewTreeObserver() Loading @@ -402,6 +406,13 @@ class EnterTransitionCoordinator extends ActivityTransitionCoordinator { decorView.invalidate(); } } }; if (mListener == null) { listener.onSharedElementsReady(); } else { mListener.onSharedElementsArrived(mSharedElementNames, mSharedElements, listener); } } private void requestLayoutForSharedElements() { int numSharedElements = mSharedElements.size(); Loading
core/java/android/app/ExitTransitionCoordinator.java +32 −10 Original line number Diff line number Diff line Loading @@ -18,6 +18,7 @@ package android.app; import android.animation.Animator; import android.animation.AnimatorListenerAdapter; import android.animation.ObjectAnimator; import android.app.SharedElementCallback.OnSharedElementsReadyListener; import android.content.Intent; import android.graphics.Color; import android.graphics.Matrix; Loading @@ -27,6 +28,7 @@ import android.graphics.drawable.Drawable; import android.os.Bundle; import android.os.Handler; import android.os.Message; import android.os.ResultReceiver; import android.transition.Transition; import android.transition.TransitionManager; import android.view.View; Loading Loading @@ -408,8 +410,29 @@ class ExitTransitionCoordinator extends ActivityTransitionCoordinator { if (!mSharedElementNotified) { mSharedElementNotified = true; delayCancel(); if (mListener == null) { mResultReceiver.send(MSG_TAKE_SHARED_ELEMENTS, mSharedElementBundle); notifyExitComplete(); } else { final ResultReceiver resultReceiver = mResultReceiver; final Bundle sharedElementBundle = mSharedElementBundle; mListener.onSharedElementsArrived(mSharedElementNames, mSharedElements, new OnSharedElementsReadyListener() { @Override public void onSharedElementsReady() { resultReceiver.send(MSG_TAKE_SHARED_ELEMENTS, sharedElementBundle); notifyExitComplete(); } }); } } else { notifyExitComplete(); } } } private void notifyExitComplete() { if (!mExitNotified && mExitComplete) { mExitNotified = true; mResultReceiver.send(MSG_EXIT_TRANSITION_COMPLETE, null); Loading @@ -421,7 +444,6 @@ class ExitTransitionCoordinator extends ActivityTransitionCoordinator { finishIfNecessary(); } } } private void finishIfNecessary() { if (mIsReturning && mExitNotified && mActivity != null && (mSharedElements.isEmpty() || Loading
core/java/android/app/SharedElementCallback.java +38 −0 Original line number Diff line number Diff line Loading @@ -221,4 +221,42 @@ public abstract class SharedElementCallback { } return view; } /** * Called during an Activity Transition when the shared elements have arrived at the * final location and are ready to be transferred. This method is called for both the * source and destination Activities. * <p> * When the shared elements are ready to be transferred, * {@link OnSharedElementsReadyListener#onSharedElementsReady()} * must be called to trigger the transfer. * <p> * The default behavior is to trigger the transfer immediately. * * @param sharedElementNames The names of the shared elements that are being transferred.. * @param sharedElements The shared elements that are part of the View hierarchy. * @param listener The listener to call when the shared elements are ready to be hidden * in the source Activity or shown in the destination Activity. */ public void onSharedElementsArrived(List<String> sharedElementNames, List<View> sharedElements, OnSharedElementsReadyListener listener) { listener.onSharedElementsReady(); } /** * Listener to be called after {@link * SharedElementCallback#onSharedElementsArrived(OnSharedElementsReadyListener)} * when the shared elements are ready to be hidden in the source Activity and shown in the * destination Activity. */ public interface OnSharedElementsReadyListener { /** * Call this method during or after the OnSharedElementsReadyListener has been received * in {@link SharedElementCallback#onSharedElementsArrived(OnSharedElementsReadyListener)} * to indicate that the shared elements are ready to be hidden in the source and shown * in the destination Activity. */ void onSharedElementsReady(); } }