summaryrefslogtreecommitdiffstats
path: root/core/java/com
diff options
context:
space:
mode:
authorAmith Yamasani <yamasani@google.com>2012-10-03 20:16:40 -0700
committerAmith Yamasani <yamasani@google.com>2012-10-03 20:16:40 -0700
commit203a2f464cef0d873ba8a6193e288fd25b6dc907 (patch)
treea9062527ebe7aa2bb00bc9b08c20243b4dc73e67 /core/java/com
parent33c36895a294c7b731fd59017a7ea0f06ac2a356 (diff)
downloadframeworks_base-203a2f464cef0d873ba8a6193e288fd25b6dc907.zip
frameworks_base-203a2f464cef0d873ba8a6193e288fd25b6dc907.tar.gz
frameworks_base-203a2f464cef0d873ba8a6193e288fd25b6dc907.tar.bz2
Fix launching home when there are multiple launchers installed
Bug: 7283782 Since ResolverActivity now runs in the correct user, it doesn't need to explicitly pass in the calling userId. In fact, for the Home case, since ActivityManager is the one requesting resolution of Home activity, Resolver is running as user 0 instead of the current user. Removing explicit calls based on the launchingUid fixes the problem. Change-Id: I4676c155aafaa0dd5cefb1acefa0e7e9c1e20f25
Diffstat (limited to 'core/java/com')
-rw-r--r--core/java/com/android/internal/app/ResolverActivity.java14
1 files changed, 6 insertions, 8 deletions
diff --git a/core/java/com/android/internal/app/ResolverActivity.java b/core/java/com/android/internal/app/ResolverActivity.java
index 4ad0819..e63c57f 100644
--- a/core/java/com/android/internal/app/ResolverActivity.java
+++ b/core/java/com/android/internal/app/ResolverActivity.java
@@ -150,8 +150,7 @@ public class ResolverActivity extends AlertActivity implements AdapterView.OnIte
resizeGrid();
} else if (count == 1) {
- startActivityAsUser(mAdapter.intentForPosition(0),
- new UserHandle(UserHandle.getUserId(mLaunchedFromUid)));
+ startActivity(mAdapter.intentForPosition(0));
mPackageMonitor.unregister();
mRegistered = false;
finish();
@@ -364,12 +363,12 @@ public class ResolverActivity extends AlertActivity implements AdapterView.OnIte
if (r.match > bestMatch) bestMatch = r.match;
}
getPackageManager().addPreferredActivity(filter, bestMatch, set,
- intent.getComponent(), UserHandle.getUserId(mLaunchedFromUid));
+ intent.getComponent());
}
}
if (intent != null) {
- startActivityAsUser(intent, new UserHandle(UserHandle.getUserId(mLaunchedFromUid)));
+ startActivity(intent);
}
}
@@ -377,7 +376,7 @@ public class ResolverActivity extends AlertActivity implements AdapterView.OnIte
Intent in = new Intent().setAction("android.settings.APPLICATION_DETAILS_SETTINGS")
.setData(Uri.fromParts("package", ri.activityInfo.packageName, null))
.addFlags(Intent.FLAG_ACTIVITY_CLEAR_WHEN_TASK_RESET);
- startActivityAsUser(in, new UserHandle(UserHandle.getUserId(mLaunchedFromUid)));
+ startActivity(in);
}
private final class DisplayResolveInfo {
@@ -436,10 +435,9 @@ public class ResolverActivity extends AlertActivity implements AdapterView.OnIte
if (mBaseResolveList != null) {
mCurrentResolveList = mBaseResolveList;
} else {
- mCurrentResolveList = mPm.queryIntentActivitiesAsUser(
+ mCurrentResolveList = mPm.queryIntentActivities(
mIntent, PackageManager.MATCH_DEFAULT_ONLY
- | (mAlwaysUseOption ? PackageManager.GET_RESOLVED_FILTER : 0),
- UserHandle.getUserId(mLaunchedFromUid));
+ | (mAlwaysUseOption ? PackageManager.GET_RESOLVED_FILTER : 0));
// Filter out any activities that the launched uid does not
// have permission for. We don't do this when we have an explicit
// list of resolved activities, because that only happens when