Merge change 4785 into donut

* changes:
  Fix issue #1753079: running instrumentation in shared processes.
This commit is contained in:
Android (Google) Code Review
2009-06-19 14:24:39 -07:00
2 changed files with 9 additions and 5 deletions

View File

@@ -2088,6 +2088,10 @@ public final class ActivityThread {
return mInitialApplication;
}
public String getProcessName() {
return mBoundApplication.processName;
}
public ApplicationContext getSystemContext() {
synchronized (this) {
if (mSystemContext == null) {

View File

@@ -446,13 +446,13 @@ public class Instrumentation {
if (ai == null) {
throw new RuntimeException("Unable to resolve activity for: " + intent);
}
if (!ai.applicationInfo.processName.equals(
getTargetContext().getPackageName())) {
String myProc = mThread.getProcessName();
if (!ai.processName.equals(myProc)) {
// todo: if this intent is ambiguous, look here to see if
// there is a single match that is in our package.
throw new RuntimeException("Intent resolved to different package "
+ ai.applicationInfo.packageName + ": "
+ intent);
throw new RuntimeException("Intent in process "
+ myProc + " resolved to different process "
+ ai.processName + ": " + intent);
}
intent.setComponent(new ComponentName(