summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--api/current.txt5
-rw-r--r--api/system-current.txt5
-rw-r--r--core/java/android/app/EnterTransitionCoordinator.java53
-rw-r--r--core/java/android/app/ExitTransitionCoordinator.java42
-rw-r--r--core/java/android/app/SharedElementCallback.java38
5 files changed, 31 insertions, 112 deletions
diff --git a/api/current.txt b/api/current.txt
index 5e81c39..1e57d19 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -5310,11 +5310,6 @@ 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 {
diff --git a/api/system-current.txt b/api/system-current.txt
index 1b07b1d..544cbb3 100644
--- a/api/system-current.txt
+++ b/api/system-current.txt
@@ -5401,11 +5401,6 @@ 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 {
diff --git a/core/java/android/app/EnterTransitionCoordinator.java b/core/java/android/app/EnterTransitionCoordinator.java
index e84a8da..c053c83 100644
--- a/core/java/android/app/EnterTransitionCoordinator.java
+++ b/core/java/android/app/EnterTransitionCoordinator.java
@@ -18,7 +18,6 @@ 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;
@@ -141,13 +140,13 @@ class EnterTransitionCoordinator extends ActivityTransitionCoordinator {
} else {
decor.getViewTreeObserver()
.addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
- @Override
- public boolean onPreDraw() {
- decor.getViewTreeObserver().removeOnPreDrawListener(this);
- viewsReady(sharedElements);
- return true;
- }
- });
+ @Override
+ public boolean onPreDraw() {
+ decor.getViewTreeObserver().removeOnPreDrawListener(this);
+ viewsReady(sharedElements);
+ return true;
+ }
+ });
}
}
@@ -384,33 +383,23 @@ 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()
- .addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
+ final View decorView = getDecor();
+ if (decorView != null) {
+ decorView.getViewTreeObserver()
+ .addOnPreDrawListener(new ViewTreeObserver.OnPreDrawListener() {
+ @Override
+ public boolean onPreDraw() {
+ decorView.getViewTreeObserver().removeOnPreDrawListener(this);
+ startTransition(new Runnable() {
@Override
- public boolean onPreDraw() {
- decorView.getViewTreeObserver().removeOnPreDrawListener(this);
- startTransition(new Runnable() {
- @Override
- public void run() {
- startSharedElementTransition(sharedElementState);
- }
- });
- return false;
+ public void run() {
+ startSharedElementTransition(sharedElementState);
}
});
- decorView.invalidate();
- }
- }
- };
- if (mListener == null) {
- listener.onSharedElementsReady();
- } else {
- mListener.onSharedElementsArrived(mSharedElementNames, mSharedElements, listener);
+ return false;
+ }
+ });
+ decorView.invalidate();
}
}
diff --git a/core/java/android/app/ExitTransitionCoordinator.java b/core/java/android/app/ExitTransitionCoordinator.java
index 169952a..dd3df47 100644
--- a/core/java/android/app/ExitTransitionCoordinator.java
+++ b/core/java/android/app/ExitTransitionCoordinator.java
@@ -18,7 +18,6 @@ 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;
@@ -28,7 +27,6 @@ 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;
@@ -410,38 +408,18 @@ 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();
+ mResultReceiver.send(MSG_TAKE_SHARED_ELEMENTS, mSharedElementBundle);
}
- }
- }
-
- private void notifyExitComplete() {
- if (!mExitNotified && mExitComplete) {
- mExitNotified = true;
- mResultReceiver.send(MSG_EXIT_TRANSITION_COMPLETE, null);
- mResultReceiver = null; // done talking
- ViewGroup decorView = getDecor();
- if (!mIsReturning && decorView != null) {
- decorView.suppressLayout(false);
+ if (!mExitNotified && mExitComplete) {
+ mExitNotified = true;
+ mResultReceiver.send(MSG_EXIT_TRANSITION_COMPLETE, null);
+ mResultReceiver = null; // done talking
+ ViewGroup decorView = getDecor();
+ if (!mIsReturning && decorView != null) {
+ decorView.suppressLayout(false);
+ }
+ finishIfNecessary();
}
- finishIfNecessary();
}
}
diff --git a/core/java/android/app/SharedElementCallback.java b/core/java/android/app/SharedElementCallback.java
index 9c70f1d..6ac2401 100644
--- a/core/java/android/app/SharedElementCallback.java
+++ b/core/java/android/app/SharedElementCallback.java
@@ -221,42 +221,4 @@ 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();
- }
}