Loading api/current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -3392,6 +3392,7 @@ package android.app { method public android.view.View onCreateView(android.view.View, java.lang.String, android.content.Context, android.util.AttributeSet); method protected void onDestroy(); method public void onDetachedFromWindow(); method public void onEnterAnimationComplete(); method public boolean onGenericMotionEvent(android.view.MotionEvent); method public boolean onKeyDown(int, android.view.KeyEvent); method public boolean onKeyLongPress(int, android.view.KeyEvent); core/java/android/app/Activity.java +8 −0 Original line number Diff line number Diff line Loading @@ -5500,6 +5500,14 @@ public class Activity extends ContextThemeWrapper public void onBackgroundMediaPlayingChanged(boolean playing) { } /** * Activities cannot draw during the period that their windows are animating in. In order * to know when it is safe to begin drawing they can override this method which will be * called when the entering animation has completed. */ public void onEnterAnimationComplete() { } /** * Adjust the current immersive mode setting. * Loading core/java/android/app/ActivityManagerNative.java +21 −0 Original line number Diff line number Diff line Loading @@ -2231,6 +2231,14 @@ public abstract class ActivityManagerNative extends Binder implements IActivityM reply.writeNoException(); return true; } case NOTIFY_ENTER_ANIMATION_COMPLETE_TRANSACTION: { data.enforceInterface(IActivityManager.descriptor); IBinder token = data.readStrongBinder(); notifyEnterAnimationComplete(token); reply.writeNoException(); return true; } } return super.onTransact(code, data, reply, flags); Loading Loading @@ -5146,5 +5154,18 @@ class ActivityManagerProxy implements IActivityManager reply.recycle(); } @Override public void notifyEnterAnimationComplete(IBinder token) throws RemoteException { Parcel data = Parcel.obtain(); Parcel reply = Parcel.obtain(); data.writeInterfaceToken(IActivityManager.descriptor); data.writeStrongBinder(token); mRemote.transact(NOTIFY_ENTER_ANIMATION_COMPLETE_TRANSACTION, data, reply, IBinder.FLAG_ONEWAY); reply.readException(); data.recycle(); reply.recycle(); } private IBinder mRemote; } core/java/android/app/ActivityThread.java +16 −0 Original line number Diff line number Diff line Loading @@ -1163,6 +1163,10 @@ public final class ActivityThread { public void scheduleBackgroundMediaPlayingChanged(IBinder token, boolean playing) { sendMessage(H.BACKGROUND_MEDIA_PLAYING_CHANGED, token, playing ? 1 : 0); } public void scheduleEnterAnimationComplete(IBinder token) { sendMessage(H.ENTER_ANIMATION_COMPLETE, token); } } private class H extends Handler { Loading Loading @@ -1215,6 +1219,7 @@ public final class ActivityThread { public static final int ON_NEW_ACTIVITY_OPTIONS = 146; public static final int STOP_MEDIA_PLAYING = 147; public static final int BACKGROUND_MEDIA_PLAYING_CHANGED = 148; public static final int ENTER_ANIMATION_COMPLETE = 149; String codeToString(int code) { if (DEBUG_MESSAGES) { Loading Loading @@ -1267,6 +1272,7 @@ public final class ActivityThread { case ON_NEW_ACTIVITY_OPTIONS: return "ON_NEW_ACTIVITY_OPTIONS"; case STOP_MEDIA_PLAYING: return "STOP_MEDIA_PLAYING"; case BACKGROUND_MEDIA_PLAYING_CHANGED: return "BACKGROUND_MEDIA_PLAYING_CHANGED"; case ENTER_ANIMATION_COMPLETE: return "ENTER_ANIMATION_COMPLETE"; } } return Integer.toString(code); Loading Loading @@ -1491,6 +1497,9 @@ public final class ActivityThread { case BACKGROUND_MEDIA_PLAYING_CHANGED: handleOnBackgroundMediaPlayingChanged((IBinder) msg.obj, msg.arg1 > 0); break; case ENTER_ANIMATION_COMPLETE: handleEnterAnimationComplete((IBinder) msg.obj); break; } if (DEBUG_MESSAGES) Slog.v(TAG, "<<< done: " + codeToString(msg.what)); } Loading Loading @@ -2509,6 +2518,13 @@ public final class ActivityThread { installContentProviders(mInitialApplication, Lists.newArrayList(info)); } private void handleEnterAnimationComplete(IBinder token) { ActivityClientRecord r = mActivities.get(token); if (r != null) { r.activity.onEnterAnimationComplete(); } } private static final ThreadLocal<Intent> sCurrentBroadcastIntent = new ThreadLocal<Intent>(); /** Loading core/java/android/app/ApplicationThreadNative.java +18 −0 Original line number Diff line number Diff line Loading @@ -666,6 +666,15 @@ public abstract class ApplicationThreadNative extends Binder reply.writeNoException(); return true; } case ENTER_ANIMATION_COMPLETE_TRANSACTION: { data.enforceInterface(IApplicationThread.descriptor); IBinder token = data.readStrongBinder(); scheduleEnterAnimationComplete(token); reply.writeNoException(); return true; } } return super.onTransact(code, data, reply, flags); Loading Loading @@ -1342,4 +1351,13 @@ class ApplicationThreadProxy implements IApplicationThread { mRemote.transact(BACKGROUND_MEDIA_PLAYING_CHANGED_TRANSACTION, data, null, IBinder.FLAG_ONEWAY); data.recycle(); } @Override public void scheduleEnterAnimationComplete(IBinder token) throws RemoteException { Parcel data = Parcel.obtain(); data.writeInterfaceToken(IApplicationThread.descriptor); data.writeStrongBinder(token); mRemote.transact(ENTER_ANIMATION_COMPLETE_TRANSACTION, data, null, IBinder.FLAG_ONEWAY); data.recycle(); } } Loading
api/current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -3392,6 +3392,7 @@ package android.app { method public android.view.View onCreateView(android.view.View, java.lang.String, android.content.Context, android.util.AttributeSet); method protected void onDestroy(); method public void onDetachedFromWindow(); method public void onEnterAnimationComplete(); method public boolean onGenericMotionEvent(android.view.MotionEvent); method public boolean onKeyDown(int, android.view.KeyEvent); method public boolean onKeyLongPress(int, android.view.KeyEvent);
core/java/android/app/Activity.java +8 −0 Original line number Diff line number Diff line Loading @@ -5500,6 +5500,14 @@ public class Activity extends ContextThemeWrapper public void onBackgroundMediaPlayingChanged(boolean playing) { } /** * Activities cannot draw during the period that their windows are animating in. In order * to know when it is safe to begin drawing they can override this method which will be * called when the entering animation has completed. */ public void onEnterAnimationComplete() { } /** * Adjust the current immersive mode setting. * Loading
core/java/android/app/ActivityManagerNative.java +21 −0 Original line number Diff line number Diff line Loading @@ -2231,6 +2231,14 @@ public abstract class ActivityManagerNative extends Binder implements IActivityM reply.writeNoException(); return true; } case NOTIFY_ENTER_ANIMATION_COMPLETE_TRANSACTION: { data.enforceInterface(IActivityManager.descriptor); IBinder token = data.readStrongBinder(); notifyEnterAnimationComplete(token); reply.writeNoException(); return true; } } return super.onTransact(code, data, reply, flags); Loading Loading @@ -5146,5 +5154,18 @@ class ActivityManagerProxy implements IActivityManager reply.recycle(); } @Override public void notifyEnterAnimationComplete(IBinder token) throws RemoteException { Parcel data = Parcel.obtain(); Parcel reply = Parcel.obtain(); data.writeInterfaceToken(IActivityManager.descriptor); data.writeStrongBinder(token); mRemote.transact(NOTIFY_ENTER_ANIMATION_COMPLETE_TRANSACTION, data, reply, IBinder.FLAG_ONEWAY); reply.readException(); data.recycle(); reply.recycle(); } private IBinder mRemote; }
core/java/android/app/ActivityThread.java +16 −0 Original line number Diff line number Diff line Loading @@ -1163,6 +1163,10 @@ public final class ActivityThread { public void scheduleBackgroundMediaPlayingChanged(IBinder token, boolean playing) { sendMessage(H.BACKGROUND_MEDIA_PLAYING_CHANGED, token, playing ? 1 : 0); } public void scheduleEnterAnimationComplete(IBinder token) { sendMessage(H.ENTER_ANIMATION_COMPLETE, token); } } private class H extends Handler { Loading Loading @@ -1215,6 +1219,7 @@ public final class ActivityThread { public static final int ON_NEW_ACTIVITY_OPTIONS = 146; public static final int STOP_MEDIA_PLAYING = 147; public static final int BACKGROUND_MEDIA_PLAYING_CHANGED = 148; public static final int ENTER_ANIMATION_COMPLETE = 149; String codeToString(int code) { if (DEBUG_MESSAGES) { Loading Loading @@ -1267,6 +1272,7 @@ public final class ActivityThread { case ON_NEW_ACTIVITY_OPTIONS: return "ON_NEW_ACTIVITY_OPTIONS"; case STOP_MEDIA_PLAYING: return "STOP_MEDIA_PLAYING"; case BACKGROUND_MEDIA_PLAYING_CHANGED: return "BACKGROUND_MEDIA_PLAYING_CHANGED"; case ENTER_ANIMATION_COMPLETE: return "ENTER_ANIMATION_COMPLETE"; } } return Integer.toString(code); Loading Loading @@ -1491,6 +1497,9 @@ public final class ActivityThread { case BACKGROUND_MEDIA_PLAYING_CHANGED: handleOnBackgroundMediaPlayingChanged((IBinder) msg.obj, msg.arg1 > 0); break; case ENTER_ANIMATION_COMPLETE: handleEnterAnimationComplete((IBinder) msg.obj); break; } if (DEBUG_MESSAGES) Slog.v(TAG, "<<< done: " + codeToString(msg.what)); } Loading Loading @@ -2509,6 +2518,13 @@ public final class ActivityThread { installContentProviders(mInitialApplication, Lists.newArrayList(info)); } private void handleEnterAnimationComplete(IBinder token) { ActivityClientRecord r = mActivities.get(token); if (r != null) { r.activity.onEnterAnimationComplete(); } } private static final ThreadLocal<Intent> sCurrentBroadcastIntent = new ThreadLocal<Intent>(); /** Loading
core/java/android/app/ApplicationThreadNative.java +18 −0 Original line number Diff line number Diff line Loading @@ -666,6 +666,15 @@ public abstract class ApplicationThreadNative extends Binder reply.writeNoException(); return true; } case ENTER_ANIMATION_COMPLETE_TRANSACTION: { data.enforceInterface(IApplicationThread.descriptor); IBinder token = data.readStrongBinder(); scheduleEnterAnimationComplete(token); reply.writeNoException(); return true; } } return super.onTransact(code, data, reply, flags); Loading Loading @@ -1342,4 +1351,13 @@ class ApplicationThreadProxy implements IApplicationThread { mRemote.transact(BACKGROUND_MEDIA_PLAYING_CHANGED_TRANSACTION, data, null, IBinder.FLAG_ONEWAY); data.recycle(); } @Override public void scheduleEnterAnimationComplete(IBinder token) throws RemoteException { Parcel data = Parcel.obtain(); data.writeInterfaceToken(IApplicationThread.descriptor); data.writeStrongBinder(token); mRemote.transact(ENTER_ANIMATION_COMPLETE_TRANSACTION, data, null, IBinder.FLAG_ONEWAY); data.recycle(); } }