Loading core/java/android/app/ApplicationPackageManager.java +1 −1 Original line number Diff line number Diff line Loading @@ -675,7 +675,7 @@ public class ApplicationPackageManager extends PackageManager { @Override public int checkPermission(String permName, String pkgName) { return PermissionManager .checkPackageNamePermission(permName, pkgName); .checkPackageNamePermission(permName, pkgName, getUserId()); } @Override Loading core/java/android/permission/PermissionManager.java +16 −10 Original line number Diff line number Diff line Loading @@ -561,21 +561,24 @@ public final class PermissionManager { private static final class PackageNamePermissionQuery { final String permName; final String pkgName; final int uid; PackageNamePermissionQuery(@Nullable String permName, @Nullable String pkgName) { PackageNamePermissionQuery(@Nullable String permName, @Nullable String pkgName, int uid) { this.permName = permName; this.pkgName = pkgName; this.uid = uid; } @Override public String toString() { return String.format("PackageNamePermissionQuery(pkgName=\"%s\", permName=\"%s\")", pkgName, permName); return String.format( "PackageNamePermissionQuery(pkgName=\"%s\", permName=\"%s, uid=%s\")", pkgName, permName, uid); } @Override public int hashCode() { return Objects.hashCode(permName) * 13 + Objects.hashCode(pkgName); return Objects.hash(permName, pkgName, uid); } @Override Loading @@ -590,15 +593,17 @@ public final class PermissionManager { return false; } return Objects.equals(permName, other.permName) && Objects.equals(pkgName, other.pkgName); && Objects.equals(pkgName, other.pkgName) && uid == other.uid; } } /* @hide */ private static int checkPackageNamePermissionUncached(String permName, String pkgName) { private static int checkPackageNamePermissionUncached( String permName, String pkgName, int uid) { try { return ActivityThread.getPermissionManager().checkPermission( permName, pkgName, UserHandle.myUserId()); permName, pkgName, uid); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } Loading @@ -611,7 +616,8 @@ public final class PermissionManager { 16, CACHE_KEY_PACKAGE_INFO) { @Override protected Integer recompute(PackageNamePermissionQuery query) { return checkPackageNamePermissionUncached(query.permName, query.pkgName); return checkPackageNamePermissionUncached( query.permName, query.pkgName, query.uid); } }; Loading @@ -620,9 +626,9 @@ public final class PermissionManager { * * @hide */ public static int checkPackageNamePermission(String permName, String pkgName) { public static int checkPackageNamePermission(String permName, String pkgName, int uid) { return sPackageNamePermissionCache.query( new PackageNamePermissionQuery(permName, pkgName)); new PackageNamePermissionQuery(permName, pkgName, uid)); } /** Loading Loading
core/java/android/app/ApplicationPackageManager.java +1 −1 Original line number Diff line number Diff line Loading @@ -675,7 +675,7 @@ public class ApplicationPackageManager extends PackageManager { @Override public int checkPermission(String permName, String pkgName) { return PermissionManager .checkPackageNamePermission(permName, pkgName); .checkPackageNamePermission(permName, pkgName, getUserId()); } @Override Loading
core/java/android/permission/PermissionManager.java +16 −10 Original line number Diff line number Diff line Loading @@ -561,21 +561,24 @@ public final class PermissionManager { private static final class PackageNamePermissionQuery { final String permName; final String pkgName; final int uid; PackageNamePermissionQuery(@Nullable String permName, @Nullable String pkgName) { PackageNamePermissionQuery(@Nullable String permName, @Nullable String pkgName, int uid) { this.permName = permName; this.pkgName = pkgName; this.uid = uid; } @Override public String toString() { return String.format("PackageNamePermissionQuery(pkgName=\"%s\", permName=\"%s\")", pkgName, permName); return String.format( "PackageNamePermissionQuery(pkgName=\"%s\", permName=\"%s, uid=%s\")", pkgName, permName, uid); } @Override public int hashCode() { return Objects.hashCode(permName) * 13 + Objects.hashCode(pkgName); return Objects.hash(permName, pkgName, uid); } @Override Loading @@ -590,15 +593,17 @@ public final class PermissionManager { return false; } return Objects.equals(permName, other.permName) && Objects.equals(pkgName, other.pkgName); && Objects.equals(pkgName, other.pkgName) && uid == other.uid; } } /* @hide */ private static int checkPackageNamePermissionUncached(String permName, String pkgName) { private static int checkPackageNamePermissionUncached( String permName, String pkgName, int uid) { try { return ActivityThread.getPermissionManager().checkPermission( permName, pkgName, UserHandle.myUserId()); permName, pkgName, uid); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } Loading @@ -611,7 +616,8 @@ public final class PermissionManager { 16, CACHE_KEY_PACKAGE_INFO) { @Override protected Integer recompute(PackageNamePermissionQuery query) { return checkPackageNamePermissionUncached(query.permName, query.pkgName); return checkPackageNamePermissionUncached( query.permName, query.pkgName, query.uid); } }; Loading @@ -620,9 +626,9 @@ public final class PermissionManager { * * @hide */ public static int checkPackageNamePermission(String permName, String pkgName) { public static int checkPackageNamePermission(String permName, String pkgName, int uid) { return sPackageNamePermissionCache.query( new PackageNamePermissionQuery(permName, pkgName)); new PackageNamePermissionQuery(permName, pkgName, uid)); } /** Loading