diff --git a/core/api/test-current.txt b/core/api/test-current.txt index 167cd344a2c9a..328708f7091e7 100644 --- a/core/api/test-current.txt +++ b/core/api/test-current.txt @@ -168,11 +168,11 @@ package android.app { } public static interface ActivityOptions.OnAnimationFinishedListener { - method public void onAnimationFinished(); + method public void onAnimationFinished(long); } public static interface ActivityOptions.OnAnimationStartedListener { - method public void onAnimationStarted(); + method public void onAnimationStarted(long); } public class ActivityTaskManager { diff --git a/core/java/android/app/ActivityOptions.java b/core/java/android/app/ActivityOptions.java index 709272ce0e260..2eebc01ccc04c 100644 --- a/core/java/android/app/ActivityOptions.java +++ b/core/java/android/app/ActivityOptions.java @@ -46,6 +46,7 @@ import android.os.Parcel; import android.os.Parcelable; import android.os.RemoteException; import android.os.ResultReceiver; +import android.os.SystemClock; import android.os.UserHandle; import android.transition.TransitionManager; import android.util.Pair; @@ -634,9 +635,10 @@ public class ActivityOptions extends ComponentOptions { mAnimationStartedListener = new IRemoteCallback.Stub() { @Override public void sendResult(Bundle data) throws RemoteException { + final long elapsedRealtime = SystemClock.elapsedRealtime(); handler.post(new Runnable() { @Override public void run() { - listener.onAnimationStarted(); + listener.onAnimationStarted(elapsedRealtime); } }); } @@ -645,13 +647,15 @@ public class ActivityOptions extends ComponentOptions { } /** - * Callback for use with {@link ActivityOptions#makeThumbnailScaleUpAnimation} - * to find out when the given animation has started running. + * Callback for finding out when the given animation has started running. * @hide */ @TestApi public interface OnAnimationStartedListener { - void onAnimationStarted(); + /** + * @param elapsedRealTime {@link SystemClock#elapsedRealTime} when animation started. + */ + void onAnimationStarted(long elapsedRealTime); } private void setOnAnimationFinishedListener(final Handler handler, @@ -660,10 +664,11 @@ public class ActivityOptions extends ComponentOptions { mAnimationFinishedListener = new IRemoteCallback.Stub() { @Override public void sendResult(Bundle data) throws RemoteException { + final long elapsedRealtime = SystemClock.elapsedRealtime(); handler.post(new Runnable() { @Override public void run() { - listener.onAnimationFinished(); + listener.onAnimationFinished(elapsedRealtime); } }); } @@ -672,13 +677,15 @@ public class ActivityOptions extends ComponentOptions { } /** - * Callback for use with {@link ActivityOptions#makeThumbnailAspectScaleDownAnimation} - * to find out when the given animation has drawn its last frame. + * Callback for finding out when the given animation has drawn its last frame. * @hide */ @TestApi public interface OnAnimationFinishedListener { - void onAnimationFinished(); + /** + * @param elapsedRealTime {@link SystemClock#elapsedRealTime} when animation finished. + */ + void onAnimationFinished(long elapsedRealTime); } /** diff --git a/packages/SystemUI/shared/src/com/android/systemui/shared/recents/view/RecentsTransition.java b/packages/SystemUI/shared/src/com/android/systemui/shared/recents/view/RecentsTransition.java index e253360a53641..b8319e51ec3b8 100644 --- a/packages/SystemUI/shared/src/com/android/systemui/shared/recents/view/RecentsTransition.java +++ b/packages/SystemUI/shared/src/com/android/systemui/shared/recents/view/RecentsTransition.java @@ -45,7 +45,7 @@ public class RecentsTransition { private boolean mHandled; @Override - public void onAnimationStarted() { + public void onAnimationStarted(long elapsedRealTime) { // OnAnimationStartedListener can be called numerous times, so debounce here to // prevent multiple callbacks if (mHandled) { diff --git a/packages/SystemUI/shared/src/com/android/systemui/shared/system/ActivityOptionsCompat.java b/packages/SystemUI/shared/src/com/android/systemui/shared/system/ActivityOptionsCompat.java index e38d2bad11b3e..add2d022e893f 100644 --- a/packages/SystemUI/shared/src/com/android/systemui/shared/system/ActivityOptionsCompat.java +++ b/packages/SystemUI/shared/src/com/android/systemui/shared/system/ActivityOptionsCompat.java @@ -67,7 +67,7 @@ public abstract class ActivityOptionsCompat { callbackHandler, new ActivityOptions.OnAnimationStartedListener() { @Override - public void onAnimationStarted() { + public void onAnimationStarted(long elapsedRealTime) { if (callback != null) { callbackHandler.post(callback); }