Loading api/current.txt +4 −0 Original line number Diff line number Diff line Loading @@ -4228,6 +4228,7 @@ package android.app { method public void onCreate(); method public void onDestroy(); method public void onLowMemory(); method public void onProvideAssistData(android.os.Bundle); method public void onRebind(android.content.Intent); method public deprecated void onStart(android.content.Intent, int); method public int onStartCommand(android.content.Intent, int, int); Loading Loading @@ -6273,6 +6274,8 @@ package android.content { field public static final deprecated java.lang.String EXTRA_ALLOW_REPLACE = "android.intent.extra.ALLOW_REPLACE"; field public static final java.lang.String EXTRA_ASSIST_CONTEXT = "android.intent.extra.ASSIST_CONTEXT"; field public static final java.lang.String EXTRA_ASSIST_PACKAGE = "android.intent.extra.ASSIST_PACKAGE"; field public static final java.lang.String EXTRA_ASSIST_SERVICES_CONTEXTS = "android.intent.extra.ASSIST_SERVICES_CONTEXTS"; field public static final java.lang.String EXTRA_ASSIST_SERVICES_PACKAGES = "android.intent.extra.ASSIST_SERVICES_PACKAGES"; field public static final java.lang.String EXTRA_BCC = "android.intent.extra.BCC"; field public static final java.lang.String EXTRA_BUG_REPORT = "android.intent.extra.BUG_REPORT"; field public static final java.lang.String EXTRA_CC = "android.intent.extra.CC"; Loading Loading @@ -7337,6 +7340,7 @@ package android.content.pm { method public void dump(android.util.Printer, java.lang.String); field public static final android.os.Parcelable.Creator CREATOR; field public static final int FLAG_ISOLATED_PROCESS = 2; // 0x2 field public static final int FLAG_PROVIDE_ASSIST_DATA = 4; // 0x4 field public static final int FLAG_SINGLE_USER = 1073741824; // 0x40000000 field public static final int FLAG_STOP_WITH_TASK = 1; // 0x1 field public int flags; core/java/android/app/ActivityManagerNative.java +11 −8 Original line number Diff line number Diff line Loading @@ -1921,20 +1921,21 @@ public abstract class ActivityManagerNative extends Binder implements IActivityM return true; } case GET_TOP_ACTIVITY_EXTRAS_TRANSACTION: { case GET_ASSIST_CONTEXT_EXTRAS_TRANSACTION: { data.enforceInterface(IActivityManager.descriptor); int requestType = data.readInt(); Bundle res = getTopActivityExtras(requestType); Bundle res = getAssistContextExtras(requestType); reply.writeNoException(); reply.writeBundle(res); return true; } case REPORT_TOP_ACTIVITY_EXTRAS_TRANSACTION: { case REPORT_ASSIST_CONTEXT_EXTRAS_TRANSACTION: { data.enforceInterface(IActivityManager.descriptor); IBinder token = data.readStrongBinder(); Bundle extras = data.readBundle(); reportTopActivityExtras(token, extras); int index = data.readInt(); reportAssistContextExtras(token, extras, index); reply.writeNoException(); return true; } Loading Loading @@ -4456,12 +4457,12 @@ class ActivityManagerProxy implements IActivityManager return res; } public Bundle getTopActivityExtras(int requestType) throws RemoteException { public Bundle getAssistContextExtras(int requestType) throws RemoteException { Parcel data = Parcel.obtain(); Parcel reply = Parcel.obtain(); data.writeInterfaceToken(IActivityManager.descriptor); data.writeInt(requestType); mRemote.transact(GET_TOP_ACTIVITY_EXTRAS_TRANSACTION, data, reply, 0); mRemote.transact(GET_ASSIST_CONTEXT_EXTRAS_TRANSACTION, data, reply, 0); reply.readException(); Bundle res = reply.readBundle(); data.recycle(); Loading @@ -4469,13 +4470,15 @@ class ActivityManagerProxy implements IActivityManager return res; } public void reportTopActivityExtras(IBinder token, Bundle extras) throws RemoteException { public void reportAssistContextExtras(IBinder token, Bundle extras, int index) throws RemoteException { Parcel data = Parcel.obtain(); Parcel reply = Parcel.obtain(); data.writeInterfaceToken(IActivityManager.descriptor); data.writeStrongBinder(token); data.writeBundle(extras); mRemote.transact(REPORT_TOP_ACTIVITY_EXTRAS_TRANSACTION, data, reply, 0); data.writeInt(index); mRemote.transact(REPORT_ASSIST_CONTEXT_EXTRAS_TRANSACTION, data, reply, 0); reply.readException(); data.recycle(); reply.recycle(); Loading core/java/android/app/ActivityThread.java +18 −11 Original line number Diff line number Diff line Loading @@ -529,10 +529,11 @@ public final class ActivityThread { CompatibilityInfo info; } static final class RequestActivityExtras { static final class RequestAssistContextExtras { IBinder activityToken; IBinder requestToken; int requestType; int index; } private native void dumpGraphicsInfo(FileDescriptor fd); Loading Loading @@ -1197,13 +1198,14 @@ public final class ActivityThread { } @Override public void requestActivityExtras(IBinder activityToken, IBinder requestToken, int requestType) { RequestActivityExtras cmd = new RequestActivityExtras(); public void requestAssistContextExtras(IBinder activityToken, IBinder requestToken, int requestType, int index) { RequestAssistContextExtras cmd = new RequestAssistContextExtras(); cmd.activityToken = activityToken; cmd.requestToken = requestToken; cmd.requestType = requestType; queueOrSendMessage(H.REQUEST_ACTIVITY_EXTRAS, cmd); cmd.index = index; queueOrSendMessage(H.REQUEST_ASSIST_CONTEXT_EXTRAS, cmd); } private void printRow(PrintWriter pw, String format, Object...objs) { Loading Loading @@ -1292,7 +1294,7 @@ public final class ActivityThread { public static final int TRIM_MEMORY = 140; public static final int DUMP_PROVIDER = 141; public static final int UNSTABLE_PROVIDER_DIED = 142; public static final int REQUEST_ACTIVITY_EXTRAS = 143; public static final int REQUEST_ASSIST_CONTEXT_EXTRAS = 143; public static final int TRANSLUCENT_CONVERSION_COMPLETE = 144; String codeToString(int code) { if (DEBUG_MESSAGES) { Loading Loading @@ -1340,7 +1342,7 @@ public final class ActivityThread { case TRIM_MEMORY: return "TRIM_MEMORY"; case DUMP_PROVIDER: return "DUMP_PROVIDER"; case UNSTABLE_PROVIDER_DIED: return "UNSTABLE_PROVIDER_DIED"; case REQUEST_ACTIVITY_EXTRAS: return "REQUEST_ACTIVITY_EXTRAS"; case REQUEST_ASSIST_CONTEXT_EXTRAS: return "REQUEST_ASSIST_CONTEXT_EXTRAS"; case TRANSLUCENT_CONVERSION_COMPLETE: return "TRANSLUCENT_CONVERSION_COMPLETE"; } } Loading Loading @@ -1553,8 +1555,8 @@ public final class ActivityThread { case UNSTABLE_PROVIDER_DIED: handleUnstableProviderDied((IBinder)msg.obj, false); break; case REQUEST_ACTIVITY_EXTRAS: handleRequestActivityExtras((RequestActivityExtras)msg.obj); case REQUEST_ASSIST_CONTEXT_EXTRAS: handleRequestAssistContextExtras((RequestAssistContextExtras)msg.obj); break; case TRANSLUCENT_CONVERSION_COMPLETE: handleTranslucentConversionComplete((IBinder)msg.obj, msg.arg1 == 1); Loading Loading @@ -2275,19 +2277,24 @@ public final class ActivityThread { performNewIntents(data.token, data.intents); } public void handleRequestActivityExtras(RequestActivityExtras cmd) { public void handleRequestAssistContextExtras(RequestAssistContextExtras cmd) { Bundle data = new Bundle(); ActivityClientRecord r = mActivities.get(cmd.activityToken); if (r != null) { r.activity.getApplication().dispatchOnProvideAssistData(r.activity, data); r.activity.onProvideAssistData(data); } else { Service service = mServices.get(cmd.activityToken); if (service != null) { service.onProvideAssistData(data); } } if (data.isEmpty()) { data = null; } IActivityManager mgr = ActivityManagerNative.getDefault(); try { mgr.reportTopActivityExtras(cmd.requestToken, data); mgr.reportAssistContextExtras(cmd.requestToken, data, cmd.index); } catch (RemoteException e) { } } Loading core/java/android/app/ApplicationThreadNative.java +8 −5 Original line number Diff line number Diff line Loading @@ -600,13 +600,14 @@ public abstract class ApplicationThreadNative extends Binder return true; } case REQUEST_ACTIVITY_EXTRAS_TRANSACTION: case REQUEST_ASSIST_CONTEXT_EXTRAS_TRANSACTION: { data.enforceInterface(IApplicationThread.descriptor); IBinder activityToken = data.readStrongBinder(); IBinder requestToken = data.readStrongBinder(); int requestType = data.readInt(); requestActivityExtras(activityToken, requestToken, requestType); int index = data.readInt(); requestAssistContextExtras(activityToken, requestToken, requestType, index); reply.writeNoException(); return true; } Loading Loading @@ -1241,14 +1242,16 @@ class ApplicationThreadProxy implements IApplicationThread { } @Override public void requestActivityExtras(IBinder activityToken, IBinder requestToken, int requestType) throws RemoteException { public void requestAssistContextExtras(IBinder activityToken, IBinder requestToken, int requestType, int index) throws RemoteException { Parcel data = Parcel.obtain(); data.writeInterfaceToken(IApplicationThread.descriptor); data.writeStrongBinder(activityToken); data.writeStrongBinder(requestToken); data.writeInt(requestType); mRemote.transact(REQUEST_ACTIVITY_EXTRAS_TRANSACTION, data, null, IBinder.FLAG_ONEWAY); data.writeInt(index); mRemote.transact(REQUEST_ASSIST_CONTEXT_EXTRAS_TRANSACTION, data, null, IBinder.FLAG_ONEWAY); data.recycle(); } Loading core/java/android/app/IActivityManager.java +5 −4 Original line number Diff line number Diff line Loading @@ -386,9 +386,10 @@ public interface IActivityManager extends IInterface { public long inputDispatchingTimedOut(int pid, boolean aboveSystem) throws RemoteException; public Bundle getTopActivityExtras(int requestType) throws RemoteException; public Bundle getAssistContextExtras(int requestType) throws RemoteException; public void reportTopActivityExtras(IBinder token, Bundle extras) throws RemoteException; public void reportAssistContextExtras(IBinder token, Bundle extras, int index) throws RemoteException; public void killUid(int uid, String reason) throws RemoteException; Loading Loading @@ -662,8 +663,8 @@ public interface IActivityManager extends IInterface { int INPUT_DISPATCHING_TIMED_OUT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+158; int CLEAR_PENDING_BACKUP_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+159; int GET_INTENT_FOR_INTENT_SENDER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+160; int GET_TOP_ACTIVITY_EXTRAS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+161; int REPORT_TOP_ACTIVITY_EXTRAS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+162; int GET_ASSIST_CONTEXT_EXTRAS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+161; int REPORT_ASSIST_CONTEXT_EXTRAS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+162; int GET_LAUNCHED_FROM_PACKAGE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+163; int KILL_UID_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+164; int SET_USER_IS_MONKEY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+165; Loading Loading
api/current.txt +4 −0 Original line number Diff line number Diff line Loading @@ -4228,6 +4228,7 @@ package android.app { method public void onCreate(); method public void onDestroy(); method public void onLowMemory(); method public void onProvideAssistData(android.os.Bundle); method public void onRebind(android.content.Intent); method public deprecated void onStart(android.content.Intent, int); method public int onStartCommand(android.content.Intent, int, int); Loading Loading @@ -6273,6 +6274,8 @@ package android.content { field public static final deprecated java.lang.String EXTRA_ALLOW_REPLACE = "android.intent.extra.ALLOW_REPLACE"; field public static final java.lang.String EXTRA_ASSIST_CONTEXT = "android.intent.extra.ASSIST_CONTEXT"; field public static final java.lang.String EXTRA_ASSIST_PACKAGE = "android.intent.extra.ASSIST_PACKAGE"; field public static final java.lang.String EXTRA_ASSIST_SERVICES_CONTEXTS = "android.intent.extra.ASSIST_SERVICES_CONTEXTS"; field public static final java.lang.String EXTRA_ASSIST_SERVICES_PACKAGES = "android.intent.extra.ASSIST_SERVICES_PACKAGES"; field public static final java.lang.String EXTRA_BCC = "android.intent.extra.BCC"; field public static final java.lang.String EXTRA_BUG_REPORT = "android.intent.extra.BUG_REPORT"; field public static final java.lang.String EXTRA_CC = "android.intent.extra.CC"; Loading Loading @@ -7337,6 +7340,7 @@ package android.content.pm { method public void dump(android.util.Printer, java.lang.String); field public static final android.os.Parcelable.Creator CREATOR; field public static final int FLAG_ISOLATED_PROCESS = 2; // 0x2 field public static final int FLAG_PROVIDE_ASSIST_DATA = 4; // 0x4 field public static final int FLAG_SINGLE_USER = 1073741824; // 0x40000000 field public static final int FLAG_STOP_WITH_TASK = 1; // 0x1 field public int flags;
core/java/android/app/ActivityManagerNative.java +11 −8 Original line number Diff line number Diff line Loading @@ -1921,20 +1921,21 @@ public abstract class ActivityManagerNative extends Binder implements IActivityM return true; } case GET_TOP_ACTIVITY_EXTRAS_TRANSACTION: { case GET_ASSIST_CONTEXT_EXTRAS_TRANSACTION: { data.enforceInterface(IActivityManager.descriptor); int requestType = data.readInt(); Bundle res = getTopActivityExtras(requestType); Bundle res = getAssistContextExtras(requestType); reply.writeNoException(); reply.writeBundle(res); return true; } case REPORT_TOP_ACTIVITY_EXTRAS_TRANSACTION: { case REPORT_ASSIST_CONTEXT_EXTRAS_TRANSACTION: { data.enforceInterface(IActivityManager.descriptor); IBinder token = data.readStrongBinder(); Bundle extras = data.readBundle(); reportTopActivityExtras(token, extras); int index = data.readInt(); reportAssistContextExtras(token, extras, index); reply.writeNoException(); return true; } Loading Loading @@ -4456,12 +4457,12 @@ class ActivityManagerProxy implements IActivityManager return res; } public Bundle getTopActivityExtras(int requestType) throws RemoteException { public Bundle getAssistContextExtras(int requestType) throws RemoteException { Parcel data = Parcel.obtain(); Parcel reply = Parcel.obtain(); data.writeInterfaceToken(IActivityManager.descriptor); data.writeInt(requestType); mRemote.transact(GET_TOP_ACTIVITY_EXTRAS_TRANSACTION, data, reply, 0); mRemote.transact(GET_ASSIST_CONTEXT_EXTRAS_TRANSACTION, data, reply, 0); reply.readException(); Bundle res = reply.readBundle(); data.recycle(); Loading @@ -4469,13 +4470,15 @@ class ActivityManagerProxy implements IActivityManager return res; } public void reportTopActivityExtras(IBinder token, Bundle extras) throws RemoteException { public void reportAssistContextExtras(IBinder token, Bundle extras, int index) throws RemoteException { Parcel data = Parcel.obtain(); Parcel reply = Parcel.obtain(); data.writeInterfaceToken(IActivityManager.descriptor); data.writeStrongBinder(token); data.writeBundle(extras); mRemote.transact(REPORT_TOP_ACTIVITY_EXTRAS_TRANSACTION, data, reply, 0); data.writeInt(index); mRemote.transact(REPORT_ASSIST_CONTEXT_EXTRAS_TRANSACTION, data, reply, 0); reply.readException(); data.recycle(); reply.recycle(); Loading
core/java/android/app/ActivityThread.java +18 −11 Original line number Diff line number Diff line Loading @@ -529,10 +529,11 @@ public final class ActivityThread { CompatibilityInfo info; } static final class RequestActivityExtras { static final class RequestAssistContextExtras { IBinder activityToken; IBinder requestToken; int requestType; int index; } private native void dumpGraphicsInfo(FileDescriptor fd); Loading Loading @@ -1197,13 +1198,14 @@ public final class ActivityThread { } @Override public void requestActivityExtras(IBinder activityToken, IBinder requestToken, int requestType) { RequestActivityExtras cmd = new RequestActivityExtras(); public void requestAssistContextExtras(IBinder activityToken, IBinder requestToken, int requestType, int index) { RequestAssistContextExtras cmd = new RequestAssistContextExtras(); cmd.activityToken = activityToken; cmd.requestToken = requestToken; cmd.requestType = requestType; queueOrSendMessage(H.REQUEST_ACTIVITY_EXTRAS, cmd); cmd.index = index; queueOrSendMessage(H.REQUEST_ASSIST_CONTEXT_EXTRAS, cmd); } private void printRow(PrintWriter pw, String format, Object...objs) { Loading Loading @@ -1292,7 +1294,7 @@ public final class ActivityThread { public static final int TRIM_MEMORY = 140; public static final int DUMP_PROVIDER = 141; public static final int UNSTABLE_PROVIDER_DIED = 142; public static final int REQUEST_ACTIVITY_EXTRAS = 143; public static final int REQUEST_ASSIST_CONTEXT_EXTRAS = 143; public static final int TRANSLUCENT_CONVERSION_COMPLETE = 144; String codeToString(int code) { if (DEBUG_MESSAGES) { Loading Loading @@ -1340,7 +1342,7 @@ public final class ActivityThread { case TRIM_MEMORY: return "TRIM_MEMORY"; case DUMP_PROVIDER: return "DUMP_PROVIDER"; case UNSTABLE_PROVIDER_DIED: return "UNSTABLE_PROVIDER_DIED"; case REQUEST_ACTIVITY_EXTRAS: return "REQUEST_ACTIVITY_EXTRAS"; case REQUEST_ASSIST_CONTEXT_EXTRAS: return "REQUEST_ASSIST_CONTEXT_EXTRAS"; case TRANSLUCENT_CONVERSION_COMPLETE: return "TRANSLUCENT_CONVERSION_COMPLETE"; } } Loading Loading @@ -1553,8 +1555,8 @@ public final class ActivityThread { case UNSTABLE_PROVIDER_DIED: handleUnstableProviderDied((IBinder)msg.obj, false); break; case REQUEST_ACTIVITY_EXTRAS: handleRequestActivityExtras((RequestActivityExtras)msg.obj); case REQUEST_ASSIST_CONTEXT_EXTRAS: handleRequestAssistContextExtras((RequestAssistContextExtras)msg.obj); break; case TRANSLUCENT_CONVERSION_COMPLETE: handleTranslucentConversionComplete((IBinder)msg.obj, msg.arg1 == 1); Loading Loading @@ -2275,19 +2277,24 @@ public final class ActivityThread { performNewIntents(data.token, data.intents); } public void handleRequestActivityExtras(RequestActivityExtras cmd) { public void handleRequestAssistContextExtras(RequestAssistContextExtras cmd) { Bundle data = new Bundle(); ActivityClientRecord r = mActivities.get(cmd.activityToken); if (r != null) { r.activity.getApplication().dispatchOnProvideAssistData(r.activity, data); r.activity.onProvideAssistData(data); } else { Service service = mServices.get(cmd.activityToken); if (service != null) { service.onProvideAssistData(data); } } if (data.isEmpty()) { data = null; } IActivityManager mgr = ActivityManagerNative.getDefault(); try { mgr.reportTopActivityExtras(cmd.requestToken, data); mgr.reportAssistContextExtras(cmd.requestToken, data, cmd.index); } catch (RemoteException e) { } } Loading
core/java/android/app/ApplicationThreadNative.java +8 −5 Original line number Diff line number Diff line Loading @@ -600,13 +600,14 @@ public abstract class ApplicationThreadNative extends Binder return true; } case REQUEST_ACTIVITY_EXTRAS_TRANSACTION: case REQUEST_ASSIST_CONTEXT_EXTRAS_TRANSACTION: { data.enforceInterface(IApplicationThread.descriptor); IBinder activityToken = data.readStrongBinder(); IBinder requestToken = data.readStrongBinder(); int requestType = data.readInt(); requestActivityExtras(activityToken, requestToken, requestType); int index = data.readInt(); requestAssistContextExtras(activityToken, requestToken, requestType, index); reply.writeNoException(); return true; } Loading Loading @@ -1241,14 +1242,16 @@ class ApplicationThreadProxy implements IApplicationThread { } @Override public void requestActivityExtras(IBinder activityToken, IBinder requestToken, int requestType) throws RemoteException { public void requestAssistContextExtras(IBinder activityToken, IBinder requestToken, int requestType, int index) throws RemoteException { Parcel data = Parcel.obtain(); data.writeInterfaceToken(IApplicationThread.descriptor); data.writeStrongBinder(activityToken); data.writeStrongBinder(requestToken); data.writeInt(requestType); mRemote.transact(REQUEST_ACTIVITY_EXTRAS_TRANSACTION, data, null, IBinder.FLAG_ONEWAY); data.writeInt(index); mRemote.transact(REQUEST_ASSIST_CONTEXT_EXTRAS_TRANSACTION, data, null, IBinder.FLAG_ONEWAY); data.recycle(); } Loading
core/java/android/app/IActivityManager.java +5 −4 Original line number Diff line number Diff line Loading @@ -386,9 +386,10 @@ public interface IActivityManager extends IInterface { public long inputDispatchingTimedOut(int pid, boolean aboveSystem) throws RemoteException; public Bundle getTopActivityExtras(int requestType) throws RemoteException; public Bundle getAssistContextExtras(int requestType) throws RemoteException; public void reportTopActivityExtras(IBinder token, Bundle extras) throws RemoteException; public void reportAssistContextExtras(IBinder token, Bundle extras, int index) throws RemoteException; public void killUid(int uid, String reason) throws RemoteException; Loading Loading @@ -662,8 +663,8 @@ public interface IActivityManager extends IInterface { int INPUT_DISPATCHING_TIMED_OUT_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+158; int CLEAR_PENDING_BACKUP_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+159; int GET_INTENT_FOR_INTENT_SENDER_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+160; int GET_TOP_ACTIVITY_EXTRAS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+161; int REPORT_TOP_ACTIVITY_EXTRAS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+162; int GET_ASSIST_CONTEXT_EXTRAS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+161; int REPORT_ASSIST_CONTEXT_EXTRAS_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+162; int GET_LAUNCHED_FROM_PACKAGE_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+163; int KILL_UID_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+164; int SET_USER_IS_MONKEY_TRANSACTION = IBinder.FIRST_CALL_TRANSACTION+165; Loading