summaryrefslogtreecommitdiffstats
path: root/core/java/android/app/ActivityThread.java
diff options
context:
space:
mode:
authorMatt Casey <mrcasey@google.com>2013-08-08 09:33:07 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2013-08-08 09:33:08 +0000
commit77ece7b192d45351b313ee23270caab373d3c477 (patch)
treecc2ebf80b6dc0d4489bbeee0eeabda6c344ff551 /core/java/android/app/ActivityThread.java
parent81ba97841089bd23b82c7c6feadd3112ad22966c (diff)
parentdfc7fd7818cda46b914c8a9d69d1ba00443ffe5b (diff)
downloadframeworks_base-77ece7b192d45351b313ee23270caab373d3c477.zip
frameworks_base-77ece7b192d45351b313ee23270caab373d3c477.tar.gz
frameworks_base-77ece7b192d45351b313ee23270caab373d3c477.tar.bz2
Merge "Extend assist context to foreground services"
Diffstat (limited to 'core/java/android/app/ActivityThread.java')
-rw-r--r--core/java/android/app/ActivityThread.java29
1 files changed, 18 insertions, 11 deletions
diff --git a/core/java/android/app/ActivityThread.java b/core/java/android/app/ActivityThread.java
index 5300eca..2a28b76 100644
--- a/core/java/android/app/ActivityThread.java
+++ b/core/java/android/app/ActivityThread.java
@@ -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);
@@ -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) {
@@ -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) {
@@ -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";
}
}
@@ -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);
@@ -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) {
}
}