summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristopher Tate <ctate@google.com>2015-08-27 15:09:53 -0700
committerThe Android Automerger <android-build@google.com>2015-08-28 19:53:57 -0700
commitb9880c44f8626151aaa4479d7b22124b87d2ecc2 (patch)
tree0077eeff65e1a9bcfa0889227b6942bba52ead09
parentcfa1c51af1e70e499410453861e28622066ebf86 (diff)
downloadbase-b9880c44f8626151aaa4479d7b22124b87d2ecc2.tar.gz
Show the ResolverActivity in dock mode
If there are multiple dock apps present the end result should be the disambiguation UI, not a fast-forward to the 'normal' home app. Bug 23501598 Change-Id: Iebc106b136cb1e446d1e93935738335504f5b812
-rw-r--r--services/core/java/com/android/server/pm/PackageManagerService.java14
1 files changed, 8 insertions, 6 deletions
diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java
index 74200cb61526..6c3e78f2a16b 100644
--- a/services/core/java/com/android/server/pm/PackageManagerService.java
+++ b/services/core/java/com/android/server/pm/PackageManagerService.java
@@ -4230,16 +4230,18 @@ public class PackageManagerService extends IPackageManager.Stub {
if (ri != null) {
return ri;
}
+ ri = new ResolveInfo(mResolveInfo);
+ ri.activityInfo = new ActivityInfo(ri.activityInfo);
+ ri.activityInfo.applicationInfo = new ApplicationInfo(
+ ri.activityInfo.applicationInfo);
if (userId != 0) {
- ri = new ResolveInfo(mResolveInfo);
- ri.activityInfo = new ActivityInfo(ri.activityInfo);
- ri.activityInfo.applicationInfo = new ApplicationInfo(
- ri.activityInfo.applicationInfo);
ri.activityInfo.applicationInfo.uid = UserHandle.getUid(userId,
UserHandle.getAppId(ri.activityInfo.applicationInfo.uid));
- return ri;
}
- return mResolveInfo;
+ // Make sure that the resolver is displayable in car mode
+ if (ri.activityInfo.metaData == null) ri.activityInfo.metaData = new Bundle();
+ ri.activityInfo.metaData.putBoolean(Intent.METADATA_DOCK_HOME, true);
+ return ri;
}
}
return null;