diff --git a/core/java/android/app/ApplicationPackageManager.java b/core/java/android/app/ApplicationPackageManager.java index 2d172c5b688de..245baf0880db7 100644 --- a/core/java/android/app/ApplicationPackageManager.java +++ b/core/java/android/app/ApplicationPackageManager.java @@ -1014,13 +1014,17 @@ public class ApplicationPackageManager extends PackageManager { } } @Override + protected boolean bypass(Integer uid) { + return uid < 0; + } + @Override public String queryToString(Integer uid) { return String.format("uid=%d", uid.intValue()); } }; @Override - public String[] getPackagesForUid(int uid) { + public String[] getPackagesForUid(@UserIdInt int uid) { return mGetPackagesForUidCache.query(uid).value(); } @@ -1035,7 +1039,7 @@ public class ApplicationPackageManager extends PackageManager { } @Override - public String getNameForUid(int uid) { + public String getNameForUid(@UserIdInt int uid) { try { return mPM.getNameForUid(uid); } catch (RemoteException e) { diff --git a/core/java/android/content/pm/PackageManager.java b/core/java/android/content/pm/PackageManager.java index c2f3ef0caaf4b..7101d1a58a6f2 100644 --- a/core/java/android/content/pm/PackageManager.java +++ b/core/java/android/content/pm/PackageManager.java @@ -9085,6 +9085,7 @@ public abstract class PackageManager { private static final class ApplicationInfoQuery { final String packageName; final int flags; + @UserIdInt final int userId; ApplicationInfoQuery(@Nullable String packageName, int flags, int userId) { @@ -9146,6 +9147,10 @@ public abstract class PackageManager { query.packageName, query.flags, query.userId); } @Override + protected boolean bypass(ApplicationInfoQuery query) { + return query.userId < 0; + } + @Override protected ApplicationInfo maybeCheckConsistency( ApplicationInfoQuery query, ApplicationInfo proposedResult) { // Implementing this debug check for ApplicationInfo would require a @@ -9156,7 +9161,7 @@ public abstract class PackageManager { /** @hide */ public static ApplicationInfo getApplicationInfoAsUserCached( - String packageName, int flags, int userId) { + String packageName, int flags, @UserIdInt int userId) { return sApplicationInfoCache.query( new ApplicationInfoQuery(packageName, flags, userId)); } @@ -9188,6 +9193,7 @@ public abstract class PackageManager { private static final class PackageInfoQuery { final String packageName; final int flags; + @UserIdInt final int userId; PackageInfoQuery(@Nullable String packageName, int flags, int userId) { @@ -9248,6 +9254,10 @@ public abstract class PackageManager { query.packageName, query.flags, query.userId); } @Override + protected boolean bypass(PackageInfoQuery query) { + return query.userId < 0; + } + @Override protected PackageInfo maybeCheckConsistency( PackageInfoQuery query, PackageInfo proposedResult) { // Implementing this debug check for PackageInfo would require a @@ -9258,7 +9268,7 @@ public abstract class PackageManager { /** @hide */ public static PackageInfo getPackageInfoAsUserCached( - String packageName, int flags, int userId) { + String packageName, int flags, @UserIdInt int userId) { return sPackageInfoCache.query(new PackageInfoQuery(packageName, flags, userId)); }