Loading api/current.txt +3 −3 Original line number Diff line number Diff line Loading @@ -1640,7 +1640,6 @@ package android { field public static final int selectAll = 16908319; // 0x102001f field public static final int selectTextMode = 16908333; // 0x102002d field public static final int selectedIcon = 16908302; // 0x102000e field public static final int shared_element = 16908354; // 0x1020042 field public static final int startSelectingText = 16908328; // 0x1020028 field public static final int stopSelectingText = 16908329; // 0x1020029 field public static final int summary = 16908304; // 0x1020010 Loading Loading @@ -3341,6 +3340,8 @@ package android.app { method public void setContentView(android.view.View); method public void setContentView(android.view.View, android.view.ViewGroup.LayoutParams); method public final void setDefaultKeyMode(int); method public void setEnterSharedElementListener(android.app.SharedElementListener); method public void setExitSharedElementListener(android.app.SharedElementListener); method public final void setFeatureDrawable(int, android.graphics.drawable.Drawable); method public final void setFeatureDrawableAlpha(int, int); method public final void setFeatureDrawableResource(int, int); Loading @@ -3356,7 +3357,6 @@ package android.app { method public final void setResult(int); method public final void setResult(int, android.content.Intent); method public final void setSecondaryProgress(int); method public void setSharedElementListener(android.app.SharedElementListener); method public void setTaskDescription(android.app.ActivityManager.TaskDescription); method public void setTitle(java.lang.CharSequence); method public void setTitle(int); Loading Loading @@ -4815,7 +4815,7 @@ package android.app { field public static final int START_STICKY_COMPATIBILITY = 0; // 0x0 } public class SharedElementListener { public abstract class SharedElementListener { ctor public SharedElementListener(); method public void handleRejectedSharedElements(java.util.List<android.view.View>); method public void remapSharedElements(java.util.List<java.lang.String>, java.util.Map<java.lang.String, android.view.View>); core/java/android/app/Activity.java +25 −7 Original line number Diff line number Diff line Loading @@ -779,7 +779,8 @@ public class Activity extends ContextThemeWrapper final Handler mHandler = new Handler(); private ActivityTransitionState mActivityTransitionState = new ActivityTransitionState(); SharedElementListener mTransitionListener = new SharedElementListener(); SharedElementListener mEnterTransitionListener = SharedElementListener.NULL_LISTENER; SharedElementListener mExitTransitionListener = SharedElementListener.NULL_LISTENER; /** Return the intent that started this activity. */ public Intent getIntent() { Loading Loading @@ -5557,16 +5558,32 @@ public class Activity extends ContextThemeWrapper /** * When {@link android.app.ActivityOptions#makeSceneTransitionAnimation(Activity, * android.view.View, String)} was used to start an Activity, <var>listener</var> * will be called to handle shared elements. This requires * will be called to handle shared elements on the <i>launched</i> Activity. This requires * {@link Window#FEATURE_CONTENT_TRANSITIONS}. * * @param listener Used to manipulate how shared element transitions function. * @param listener Used to manipulate shared element transitions on the launched Activity. */ public void setSharedElementListener(SharedElementListener listener) { public void setEnterSharedElementListener(SharedElementListener listener) { if (listener == null) { listener = new SharedElementListener(); listener = SharedElementListener.NULL_LISTENER; } mTransitionListener = listener; mEnterTransitionListener = listener; } /** * When {@link android.app.ActivityOptions#makeSceneTransitionAnimation(Activity, * android.view.View, String)} was used to start an Activity, <var>listener</var> * will be called to handle shared elements on the <i>launching</i> Activity. Most * calls will only come when returning from the started Activity. * This requires {@link Window#FEATURE_CONTENT_TRANSITIONS}. * * @param listener Used to manipulate shared element transitions on the launching Activity. */ public void setExitSharedElementListener(SharedElementListener listener) { if (listener == null) { listener = SharedElementListener.NULL_LISTENER; } mExitTransitionListener = listener; } // ------------------ Internal API ------------------ Loading Loading @@ -5882,7 +5899,8 @@ public class Activity extends ContextThemeWrapper * have completed drawing. This is necessary only after an {@link Activity} has been made * opaque using {@link Activity#convertFromTranslucent()} and before it has been drawn * translucent again following a call to {@link * Activity#convertToTranslucent(TranslucentConversionListener)}. * Activity#convertToTranslucent(android.app.Activity.TranslucentConversionListener, * ActivityOptions)} * * @hide */ Loading core/java/android/app/ActivityTransitionCoordinator.java +19 −2 Original line number Diff line number Diff line Loading @@ -189,15 +189,17 @@ abstract class ActivityTransitionCoordinator extends ResultReceiver { final protected SharedElementListener mListener; protected ResultReceiver mResultReceiver; final private FixedEpicenterCallback mEpicenterCallback = new FixedEpicenterCallback(); final protected boolean mIsReturning; public ActivityTransitionCoordinator(Window window, ArrayList<String> allSharedElementNames, ArrayList<String> accepted, ArrayList<String> localNames, SharedElementListener listener) { SharedElementListener listener, boolean isReturning) { super(new Handler()); mWindow = window; mListener = listener; mAllSharedElementNames = allSharedElementNames; mIsReturning = isReturning; setSharedElements(accepted, localNames); if (getViewsTransition() != null) { getDecor().captureTransitioningViews(mTransitioningViews); Loading Loading @@ -330,7 +332,21 @@ abstract class ActivityTransitionCoordinator extends ResultReceiver { mResultReceiver = resultReceiver; } protected abstract Transition getViewsTransition(); protected Transition getViewsTransition() { if (mIsReturning) { return getWindow().getExitTransition(); } else { return getWindow().getEnterTransition(); } } protected Transition getSharedElementTransition() { if (mIsReturning) { return getWindow().getSharedElementExitTransition(); } else { return getWindow().getSharedElementEnterTransition(); } } private static class FixedEpicenterCallback extends Transition.EpicenterCallback { private Rect mEpicenter; Loading @@ -342,4 +358,5 @@ abstract class ActivityTransitionCoordinator extends ResultReceiver { return mEpicenter; } } } core/java/android/app/EnterTransitionCoordinator.java +7 −12 Original line number Diff line number Diff line Loading @@ -51,7 +51,6 @@ class EnterTransitionCoordinator extends ActivityTransitionCoordinator { private static final long MAX_WAIT_MS = 1500; private boolean mSharedElementTransitionStarted; private boolean mIsReturning; private Activity mActivity; private boolean mHasStopped; private Handler mHandler; Loading @@ -61,9 +60,8 @@ class EnterTransitionCoordinator extends ActivityTransitionCoordinator { ArrayList<String> sharedElementNames, ArrayList<String> acceptedNames, ArrayList<String> mappedNames) { super(activity.getWindow(), sharedElementNames, acceptedNames, mappedNames, activity.mTransitionListener); getListener(activity, acceptedNames), acceptedNames != null); mActivity = activity; mIsReturning = acceptedNames != null; setResultReceiver(resultReceiver); prepareEnter(); Bundle resultReceiverBundle = new Bundle(); Loading @@ -80,6 +78,12 @@ class EnterTransitionCoordinator extends ActivityTransitionCoordinator { } } private static SharedElementListener getListener(Activity activity, ArrayList<String> acceptedNames) { boolean isReturning = acceptedNames != null; return isReturning ? activity.mExitTransitionListener : activity.mEnterTransitionListener; } @Override protected void onReceiveResult(int resultCode, Bundle resultData) { switch (resultCode) { Loading Loading @@ -299,7 +303,6 @@ class EnterTransitionCoordinator extends ActivityTransitionCoordinator { if (sharedElementBundle != null) { Bitmap bitmap = sharedElementBundle.getParcelable(KEY_BITMAP); View snapshot = new View(context); snapshot.setId(com.android.internal.R.id.shared_element); Resources resources = getWindow().getContext().getResources(); snapshot.setBackground(new BitmapDrawable(resources, bitmap)); snapshot.setViewName(name); Loading Loading @@ -420,12 +423,4 @@ class EnterTransitionCoordinator extends ActivityTransitionCoordinator { } } @Override protected Transition getViewsTransition() { return getWindow().getEnterTransition(); } protected Transition getSharedElementTransition() { return getWindow().getSharedElementEnterTransition(); } } core/java/android/app/ExitTransitionCoordinator.java +6 −13 Original line number Diff line number Diff line Loading @@ -53,20 +53,22 @@ class ExitTransitionCoordinator extends ActivityTransitionCoordinator { private boolean mIsBackgroundReady; private boolean mIsReturning; private boolean mIsCanceled; private Handler mHandler; public ExitTransitionCoordinator(Activity activity, ArrayList<String> names, ArrayList<String> accepted, ArrayList<String> mapped, boolean isReturning) { super(activity.getWindow(), names, accepted, mapped, activity.mTransitionListener); mIsReturning = isReturning; super(activity.getWindow(), names, accepted, mapped, getListener(activity, isReturning), isReturning); mIsBackgroundReady = !mIsReturning; mActivity = activity; } private static SharedElementListener getListener(Activity activity, boolean isReturning) { return isReturning ? activity.mExitTransitionListener : activity.mEnterTransitionListener; } @Override protected void onReceiveResult(int resultCode, Bundle resultData) { switch (resultCode) { Loading Loading @@ -271,13 +273,4 @@ class ExitTransitionCoordinator extends ActivityTransitionCoordinator { } return -1; } @Override protected Transition getViewsTransition() { return getWindow().getExitTransition(); } protected Transition getSharedElementTransition() { return getWindow().getSharedElementExitTransition(); } } Loading
api/current.txt +3 −3 Original line number Diff line number Diff line Loading @@ -1640,7 +1640,6 @@ package android { field public static final int selectAll = 16908319; // 0x102001f field public static final int selectTextMode = 16908333; // 0x102002d field public static final int selectedIcon = 16908302; // 0x102000e field public static final int shared_element = 16908354; // 0x1020042 field public static final int startSelectingText = 16908328; // 0x1020028 field public static final int stopSelectingText = 16908329; // 0x1020029 field public static final int summary = 16908304; // 0x1020010 Loading Loading @@ -3341,6 +3340,8 @@ package android.app { method public void setContentView(android.view.View); method public void setContentView(android.view.View, android.view.ViewGroup.LayoutParams); method public final void setDefaultKeyMode(int); method public void setEnterSharedElementListener(android.app.SharedElementListener); method public void setExitSharedElementListener(android.app.SharedElementListener); method public final void setFeatureDrawable(int, android.graphics.drawable.Drawable); method public final void setFeatureDrawableAlpha(int, int); method public final void setFeatureDrawableResource(int, int); Loading @@ -3356,7 +3357,6 @@ package android.app { method public final void setResult(int); method public final void setResult(int, android.content.Intent); method public final void setSecondaryProgress(int); method public void setSharedElementListener(android.app.SharedElementListener); method public void setTaskDescription(android.app.ActivityManager.TaskDescription); method public void setTitle(java.lang.CharSequence); method public void setTitle(int); Loading Loading @@ -4815,7 +4815,7 @@ package android.app { field public static final int START_STICKY_COMPATIBILITY = 0; // 0x0 } public class SharedElementListener { public abstract class SharedElementListener { ctor public SharedElementListener(); method public void handleRejectedSharedElements(java.util.List<android.view.View>); method public void remapSharedElements(java.util.List<java.lang.String>, java.util.Map<java.lang.String, android.view.View>);
core/java/android/app/Activity.java +25 −7 Original line number Diff line number Diff line Loading @@ -779,7 +779,8 @@ public class Activity extends ContextThemeWrapper final Handler mHandler = new Handler(); private ActivityTransitionState mActivityTransitionState = new ActivityTransitionState(); SharedElementListener mTransitionListener = new SharedElementListener(); SharedElementListener mEnterTransitionListener = SharedElementListener.NULL_LISTENER; SharedElementListener mExitTransitionListener = SharedElementListener.NULL_LISTENER; /** Return the intent that started this activity. */ public Intent getIntent() { Loading Loading @@ -5557,16 +5558,32 @@ public class Activity extends ContextThemeWrapper /** * When {@link android.app.ActivityOptions#makeSceneTransitionAnimation(Activity, * android.view.View, String)} was used to start an Activity, <var>listener</var> * will be called to handle shared elements. This requires * will be called to handle shared elements on the <i>launched</i> Activity. This requires * {@link Window#FEATURE_CONTENT_TRANSITIONS}. * * @param listener Used to manipulate how shared element transitions function. * @param listener Used to manipulate shared element transitions on the launched Activity. */ public void setSharedElementListener(SharedElementListener listener) { public void setEnterSharedElementListener(SharedElementListener listener) { if (listener == null) { listener = new SharedElementListener(); listener = SharedElementListener.NULL_LISTENER; } mTransitionListener = listener; mEnterTransitionListener = listener; } /** * When {@link android.app.ActivityOptions#makeSceneTransitionAnimation(Activity, * android.view.View, String)} was used to start an Activity, <var>listener</var> * will be called to handle shared elements on the <i>launching</i> Activity. Most * calls will only come when returning from the started Activity. * This requires {@link Window#FEATURE_CONTENT_TRANSITIONS}. * * @param listener Used to manipulate shared element transitions on the launching Activity. */ public void setExitSharedElementListener(SharedElementListener listener) { if (listener == null) { listener = SharedElementListener.NULL_LISTENER; } mExitTransitionListener = listener; } // ------------------ Internal API ------------------ Loading Loading @@ -5882,7 +5899,8 @@ public class Activity extends ContextThemeWrapper * have completed drawing. This is necessary only after an {@link Activity} has been made * opaque using {@link Activity#convertFromTranslucent()} and before it has been drawn * translucent again following a call to {@link * Activity#convertToTranslucent(TranslucentConversionListener)}. * Activity#convertToTranslucent(android.app.Activity.TranslucentConversionListener, * ActivityOptions)} * * @hide */ Loading
core/java/android/app/ActivityTransitionCoordinator.java +19 −2 Original line number Diff line number Diff line Loading @@ -189,15 +189,17 @@ abstract class ActivityTransitionCoordinator extends ResultReceiver { final protected SharedElementListener mListener; protected ResultReceiver mResultReceiver; final private FixedEpicenterCallback mEpicenterCallback = new FixedEpicenterCallback(); final protected boolean mIsReturning; public ActivityTransitionCoordinator(Window window, ArrayList<String> allSharedElementNames, ArrayList<String> accepted, ArrayList<String> localNames, SharedElementListener listener) { SharedElementListener listener, boolean isReturning) { super(new Handler()); mWindow = window; mListener = listener; mAllSharedElementNames = allSharedElementNames; mIsReturning = isReturning; setSharedElements(accepted, localNames); if (getViewsTransition() != null) { getDecor().captureTransitioningViews(mTransitioningViews); Loading Loading @@ -330,7 +332,21 @@ abstract class ActivityTransitionCoordinator extends ResultReceiver { mResultReceiver = resultReceiver; } protected abstract Transition getViewsTransition(); protected Transition getViewsTransition() { if (mIsReturning) { return getWindow().getExitTransition(); } else { return getWindow().getEnterTransition(); } } protected Transition getSharedElementTransition() { if (mIsReturning) { return getWindow().getSharedElementExitTransition(); } else { return getWindow().getSharedElementEnterTransition(); } } private static class FixedEpicenterCallback extends Transition.EpicenterCallback { private Rect mEpicenter; Loading @@ -342,4 +358,5 @@ abstract class ActivityTransitionCoordinator extends ResultReceiver { return mEpicenter; } } }
core/java/android/app/EnterTransitionCoordinator.java +7 −12 Original line number Diff line number Diff line Loading @@ -51,7 +51,6 @@ class EnterTransitionCoordinator extends ActivityTransitionCoordinator { private static final long MAX_WAIT_MS = 1500; private boolean mSharedElementTransitionStarted; private boolean mIsReturning; private Activity mActivity; private boolean mHasStopped; private Handler mHandler; Loading @@ -61,9 +60,8 @@ class EnterTransitionCoordinator extends ActivityTransitionCoordinator { ArrayList<String> sharedElementNames, ArrayList<String> acceptedNames, ArrayList<String> mappedNames) { super(activity.getWindow(), sharedElementNames, acceptedNames, mappedNames, activity.mTransitionListener); getListener(activity, acceptedNames), acceptedNames != null); mActivity = activity; mIsReturning = acceptedNames != null; setResultReceiver(resultReceiver); prepareEnter(); Bundle resultReceiverBundle = new Bundle(); Loading @@ -80,6 +78,12 @@ class EnterTransitionCoordinator extends ActivityTransitionCoordinator { } } private static SharedElementListener getListener(Activity activity, ArrayList<String> acceptedNames) { boolean isReturning = acceptedNames != null; return isReturning ? activity.mExitTransitionListener : activity.mEnterTransitionListener; } @Override protected void onReceiveResult(int resultCode, Bundle resultData) { switch (resultCode) { Loading Loading @@ -299,7 +303,6 @@ class EnterTransitionCoordinator extends ActivityTransitionCoordinator { if (sharedElementBundle != null) { Bitmap bitmap = sharedElementBundle.getParcelable(KEY_BITMAP); View snapshot = new View(context); snapshot.setId(com.android.internal.R.id.shared_element); Resources resources = getWindow().getContext().getResources(); snapshot.setBackground(new BitmapDrawable(resources, bitmap)); snapshot.setViewName(name); Loading Loading @@ -420,12 +423,4 @@ class EnterTransitionCoordinator extends ActivityTransitionCoordinator { } } @Override protected Transition getViewsTransition() { return getWindow().getEnterTransition(); } protected Transition getSharedElementTransition() { return getWindow().getSharedElementEnterTransition(); } }
core/java/android/app/ExitTransitionCoordinator.java +6 −13 Original line number Diff line number Diff line Loading @@ -53,20 +53,22 @@ class ExitTransitionCoordinator extends ActivityTransitionCoordinator { private boolean mIsBackgroundReady; private boolean mIsReturning; private boolean mIsCanceled; private Handler mHandler; public ExitTransitionCoordinator(Activity activity, ArrayList<String> names, ArrayList<String> accepted, ArrayList<String> mapped, boolean isReturning) { super(activity.getWindow(), names, accepted, mapped, activity.mTransitionListener); mIsReturning = isReturning; super(activity.getWindow(), names, accepted, mapped, getListener(activity, isReturning), isReturning); mIsBackgroundReady = !mIsReturning; mActivity = activity; } private static SharedElementListener getListener(Activity activity, boolean isReturning) { return isReturning ? activity.mExitTransitionListener : activity.mEnterTransitionListener; } @Override protected void onReceiveResult(int resultCode, Bundle resultData) { switch (resultCode) { Loading Loading @@ -271,13 +273,4 @@ class ExitTransitionCoordinator extends ActivityTransitionCoordinator { } return -1; } @Override protected Transition getViewsTransition() { return getWindow().getExitTransition(); } protected Transition getSharedElementTransition() { return getWindow().getSharedElementExitTransition(); } }