Loading core/java/android/content/pm/ResolveInfo.java +19 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package android.content.pm; import android.annotation.Nullable; import android.annotation.SystemApi; import android.compat.annotation.UnsupportedAppUsage; import android.content.ComponentName; Loading Loading @@ -106,6 +107,14 @@ public class ResolveInfo implements Parcelable { */ public int match; /** * UserHandle of originating user for ResolveInfo. This will help caller distinguish cross * profile results from intent resolution. * @hide */ @Nullable public UserHandle userHandle; /** * Only set when returned by * {@link PackageManager#queryIntentActivityOptions}, this tells you Loading Loading @@ -418,6 +427,7 @@ public class ResolveInfo implements Parcelable { handleAllWebDataURI = orig.handleAllWebDataURI; mAutoResolutionAllowed = orig.mAutoResolutionAllowed; isInstantAppAvailable = orig.isInstantAppAvailable; userHandle = orig.userHandle; } public String toString() { Loading @@ -441,6 +451,10 @@ public class ResolveInfo implements Parcelable { sb.append(" targetUserId="); sb.append(targetUserId); } sb.append(" userHandle="); sb.append(userHandle); sb.append('}'); return sb.toString(); } Loading Loading @@ -483,6 +497,7 @@ public class ResolveInfo implements Parcelable { dest.writeInt(handleAllWebDataURI ? 1 : 0); dest.writeInt(mAutoResolutionAllowed ? 1 : 0); dest.writeInt(isInstantAppAvailable ? 1 : 0); dest.writeInt(userHandle != null ? userHandle.getIdentifier() : UserHandle.USER_CURRENT); } public static final @android.annotation.NonNull Creator<ResolveInfo> CREATOR Loading Loading @@ -532,6 +547,10 @@ public class ResolveInfo implements Parcelable { handleAllWebDataURI = source.readInt() != 0; mAutoResolutionAllowed = source.readInt() != 0; isInstantAppAvailable = source.readInt() != 0; int userHandleId = source.readInt(); if (userHandleId != UserHandle.USER_CURRENT) { userHandle = UserHandle.of(userHandleId); } } public static class DisplayNameComparator Loading services/core/java/com/android/server/pm/ComputerEngine.java +1 −0 Original line number Diff line number Diff line Loading @@ -1755,6 +1755,7 @@ public class ComputerEngine implements Computer { forwardingResolveInfo.isDefault = true; forwardingResolveInfo.filter = new IntentFilter(filter.getIntentFilter()); forwardingResolveInfo.targetUserId = targetUserId; forwardingResolveInfo.userHandle = UserHandle.of(sourceUserId); return forwardingResolveInfo; } Loading services/core/java/com/android/server/pm/ResolveIntentHelper.java +1 −0 Original line number Diff line number Diff line Loading @@ -281,6 +281,7 @@ final class ResolveIntentHelper { ri.handleAllWebDataURI = browserCount == n; ri.activityInfo = new ActivityInfo(ri.activityInfo); ri.activityInfo.labelRes = ResolverActivity.getLabelRes(intent.getAction()); if (ri.userHandle == null) ri.userHandle = UserHandle.of(userId); // If all of the options come from the same package, show the application's // label and icon instead of the generic resolver's. // Some calls like Intent.resolveActivityInfo query the ResolveInfo from here Loading services/core/java/com/android/server/pm/resolution/ComponentResolver.java +2 −0 Original line number Diff line number Diff line Loading @@ -35,6 +35,7 @@ import android.content.pm.PackageManager; import android.content.pm.ProviderInfo; import android.content.pm.ResolveInfo; import android.content.pm.ServiceInfo; import android.os.UserHandle; import android.util.ArrayMap; import android.util.ArraySet; import android.util.DebugUtils; Loading Loading @@ -1197,6 +1198,7 @@ public class ComponentResolver extends ComponentResolverLocked implements res.iconResourceId = info.getIcon(); res.system = res.activityInfo.applicationInfo.isSystemApp(); res.isInstantAppAvailable = userState.isInstantApp(); res.userHandle = UserHandle.of(userId); return res; } Loading Loading
core/java/android/content/pm/ResolveInfo.java +19 −0 Original line number Diff line number Diff line Loading @@ -16,6 +16,7 @@ package android.content.pm; import android.annotation.Nullable; import android.annotation.SystemApi; import android.compat.annotation.UnsupportedAppUsage; import android.content.ComponentName; Loading Loading @@ -106,6 +107,14 @@ public class ResolveInfo implements Parcelable { */ public int match; /** * UserHandle of originating user for ResolveInfo. This will help caller distinguish cross * profile results from intent resolution. * @hide */ @Nullable public UserHandle userHandle; /** * Only set when returned by * {@link PackageManager#queryIntentActivityOptions}, this tells you Loading Loading @@ -418,6 +427,7 @@ public class ResolveInfo implements Parcelable { handleAllWebDataURI = orig.handleAllWebDataURI; mAutoResolutionAllowed = orig.mAutoResolutionAllowed; isInstantAppAvailable = orig.isInstantAppAvailable; userHandle = orig.userHandle; } public String toString() { Loading @@ -441,6 +451,10 @@ public class ResolveInfo implements Parcelable { sb.append(" targetUserId="); sb.append(targetUserId); } sb.append(" userHandle="); sb.append(userHandle); sb.append('}'); return sb.toString(); } Loading Loading @@ -483,6 +497,7 @@ public class ResolveInfo implements Parcelable { dest.writeInt(handleAllWebDataURI ? 1 : 0); dest.writeInt(mAutoResolutionAllowed ? 1 : 0); dest.writeInt(isInstantAppAvailable ? 1 : 0); dest.writeInt(userHandle != null ? userHandle.getIdentifier() : UserHandle.USER_CURRENT); } public static final @android.annotation.NonNull Creator<ResolveInfo> CREATOR Loading Loading @@ -532,6 +547,10 @@ public class ResolveInfo implements Parcelable { handleAllWebDataURI = source.readInt() != 0; mAutoResolutionAllowed = source.readInt() != 0; isInstantAppAvailable = source.readInt() != 0; int userHandleId = source.readInt(); if (userHandleId != UserHandle.USER_CURRENT) { userHandle = UserHandle.of(userHandleId); } } public static class DisplayNameComparator Loading
services/core/java/com/android/server/pm/ComputerEngine.java +1 −0 Original line number Diff line number Diff line Loading @@ -1755,6 +1755,7 @@ public class ComputerEngine implements Computer { forwardingResolveInfo.isDefault = true; forwardingResolveInfo.filter = new IntentFilter(filter.getIntentFilter()); forwardingResolveInfo.targetUserId = targetUserId; forwardingResolveInfo.userHandle = UserHandle.of(sourceUserId); return forwardingResolveInfo; } Loading
services/core/java/com/android/server/pm/ResolveIntentHelper.java +1 −0 Original line number Diff line number Diff line Loading @@ -281,6 +281,7 @@ final class ResolveIntentHelper { ri.handleAllWebDataURI = browserCount == n; ri.activityInfo = new ActivityInfo(ri.activityInfo); ri.activityInfo.labelRes = ResolverActivity.getLabelRes(intent.getAction()); if (ri.userHandle == null) ri.userHandle = UserHandle.of(userId); // If all of the options come from the same package, show the application's // label and icon instead of the generic resolver's. // Some calls like Intent.resolveActivityInfo query the ResolveInfo from here Loading
services/core/java/com/android/server/pm/resolution/ComponentResolver.java +2 −0 Original line number Diff line number Diff line Loading @@ -35,6 +35,7 @@ import android.content.pm.PackageManager; import android.content.pm.ProviderInfo; import android.content.pm.ResolveInfo; import android.content.pm.ServiceInfo; import android.os.UserHandle; import android.util.ArrayMap; import android.util.ArraySet; import android.util.DebugUtils; Loading Loading @@ -1197,6 +1198,7 @@ public class ComponentResolver extends ComponentResolverLocked implements res.iconResourceId = info.getIcon(); res.system = res.activityInfo.applicationInfo.isSystemApp(); res.isInstantAppAvailable = userState.isInstantApp(); res.userHandle = UserHandle.of(userId); return res; } Loading