am b939e352: Merge "Fix issue #7209355, #7214271." into jb-mr1-dev

* commit 'b939e35274334d1f5e71a526efe8d235eb6d7387':
  Fix issue #7209355, #7214271.
This commit is contained in:
Dianne Hackborn
2012-09-24 09:28:18 -07:00
committed by Android Git Automerger
5 changed files with 32 additions and 6 deletions

View File

@@ -6770,6 +6770,7 @@ package android.content.pm {
public class ResolveInfo implements android.os.Parcelable {
ctor public ResolveInfo();
ctor public ResolveInfo(android.content.pm.ResolveInfo);
method public int describeContents();
method public void dump(android.util.Printer, java.lang.String);
method public final int getIconResource();

View File

@@ -230,6 +230,21 @@ public class ResolveInfo implements Parcelable {
public ResolveInfo() {
}
public ResolveInfo(ResolveInfo orig) {
activityInfo = orig.activityInfo;
serviceInfo = orig.serviceInfo;
filter = orig.filter;
priority = orig.priority;
preferredOrder = orig.preferredOrder;
match = orig.match;
specificIndex = orig.specificIndex;
labelRes = orig.labelRes;
nonLocalizedLabel = orig.nonLocalizedLabel;
icon = orig.icon;
resolvePackageName = orig.resolvePackageName;
system = orig.system;
}
public String toString() {
ComponentInfo ci = activityInfo != null ? activityInfo : serviceInfo;
return "ResolveInfo{"

View File

@@ -538,12 +538,14 @@ public class RecentsPanelView extends FrameLayout implements OnItemClickListener
}
private void updateUiElements() {
final int items = mRecentTaskDescriptions.size();
final int items = mRecentTaskDescriptions != null
? mRecentTaskDescriptions.size() : 0;
mRecentsContainer.setVisibility(items > 0 ? View.VISIBLE : View.GONE);
// Set description for accessibility
int numRecentApps = mRecentTaskDescriptions.size();
int numRecentApps = mRecentTaskDescriptions != null
? mRecentTaskDescriptions.size() : 0;
String recentAppsAccessibilityDescription;
if (numRecentApps == 0) {
recentAppsAccessibilityDescription =

View File

@@ -4390,6 +4390,8 @@ final class ActivityStack {
while (j < NA) {
ActivityRecord ar = mHistory.get(j);
if (!ar.finishing && ar.task.taskId == taskId) {
thumbs.root = ar;
thumbs.rootIndex = j;
holder = ar.thumbHolder;
if (holder != null) {
thumbs.mainThumbnail = holder.lastThumbnail;
@@ -4404,9 +4406,6 @@ final class ActivityStack {
return thumbs;
}
thumbs.root = mHistory.get(j);
thumbs.rootIndex = j;
ArrayList<TaskAccessInfo.SubTask> subtasks = new ArrayList<TaskAccessInfo.SubTask>();
thumbs.subtasks = subtasks;
while (j < NA) {

View File

@@ -2488,6 +2488,15 @@ public class PackageManagerService extends IPackageManager.Stub {
if (ri != null) {
return ri;
}
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;
}
}
@@ -3668,7 +3677,7 @@ public class PackageManagerService extends IPackageManager.Stub {
mResolveActivity.applicationInfo = mAndroidApplication;
mResolveActivity.name = ResolverActivity.class.getName();
mResolveActivity.packageName = mAndroidApplication.packageName;
mResolveActivity.processName = mAndroidApplication.processName;
mResolveActivity.processName = "system:ui";
mResolveActivity.launchMode = ActivityInfo.LAUNCH_MULTIPLE;
mResolveActivity.flags = ActivityInfo.FLAG_EXCLUDE_FROM_RECENTS;
mResolveActivity.theme = com.android.internal.R.style.Theme_Holo_Dialog_Alert;