Loading core/java/android/app/ActivityManager.java +10 −5 Original line number Diff line number Diff line Loading @@ -4699,8 +4699,14 @@ public class ActivityManager { @UnsupportedAppUsage public static int checkComponentPermission(String permission, int uid, int owningUid, boolean exported) { return checkComponentPermission(permission, uid, Context.DEVICE_ID_DEFAULT, owningUid, exported); } /** @hide */ public static int checkComponentPermission(String permission, int uid, int deviceId, int owningUid, boolean exported) { // Root, system server get to do everything. final int appId = UserHandle.getAppId(uid); if (canAccessUnexportedComponents(uid)) { return PackageManager.PERMISSION_GRANTED; } Loading @@ -4727,8 +4733,7 @@ public class ActivityManager { return PackageManager.PERMISSION_GRANTED; } try { return AppGlobals.getPackageManager() .checkUidPermission(permission, uid); return AppGlobals.getPermissionManager().checkUidPermission(uid, permission, deviceId); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } Loading @@ -4737,8 +4742,8 @@ public class ActivityManager { /** @hide */ public static int checkUidPermission(String permission, int uid) { try { return AppGlobals.getPackageManager() .checkUidPermission(permission, uid); return AppGlobals.getPermissionManager().checkUidPermission( uid, permission, Context.DEVICE_ID_DEFAULT); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } Loading core/java/android/app/ApplicationPackageManager.java +2 −1 Original line number Diff line number Diff line Loading @@ -827,7 +827,8 @@ public class ApplicationPackageManager extends PackageManager { @Override public int checkPermission(String permName, String pkgName) { return PermissionManager.checkPackageNamePermission(permName, pkgName, getUserId()); return PermissionManager.checkPackageNamePermission(permName, pkgName, mContext.getDeviceId(), getUserId()); } @Override Loading core/java/android/app/ContextImpl.java +1 −1 Original line number Diff line number Diff line Loading @@ -2262,7 +2262,7 @@ class ContextImpl extends Context { Log.v(TAG, "Treating renounced permission " + permission + " as denied"); return PERMISSION_DENIED; } return PermissionManager.checkPermission(permission, pid, uid); return PermissionManager.checkPermission(permission, pid, uid, getDeviceId()); } /** @hide */ Loading core/java/android/app/IActivityManager.aidl +2 −0 Original line number Diff line number Diff line Loading @@ -924,4 +924,6 @@ interface IActivityManager { void unregisterUidFrozenStateChangedCallback(in IUidFrozenStateChangedCallback callback); @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS)") int[] getUidFrozenState(in int[] uids); int checkPermissionForDevice(in String permission, int pid, int uid, int deviceId); } core/java/android/app/UiAutomationConnection.java +10 −2 Original line number Diff line number Diff line Loading @@ -343,6 +343,9 @@ public final class UiAutomationConnection extends IUiAutomationConnection.Stub { } } /** * Grants permission for the {@link Context#DEVICE_ID_DEFAULT default device} */ @Override public void grantRuntimePermission(String packageName, String permission, int userId) throws RemoteException { Loading @@ -353,12 +356,16 @@ public final class UiAutomationConnection extends IUiAutomationConnection.Stub { } final long identity = Binder.clearCallingIdentity(); try { mPermissionManager.grantRuntimePermission(packageName, permission, userId); mPermissionManager.grantRuntimePermission(packageName, permission, Context.DEVICE_ID_DEFAULT, userId); } finally { Binder.restoreCallingIdentity(identity); } } /** * Revokes permission for the {@link Context#DEVICE_ID_DEFAULT default device} */ @Override public void revokeRuntimePermission(String packageName, String permission, int userId) throws RemoteException { Loading @@ -369,7 +376,8 @@ public final class UiAutomationConnection extends IUiAutomationConnection.Stub { } final long identity = Binder.clearCallingIdentity(); try { mPermissionManager.revokeRuntimePermission(packageName, permission, userId, null); mPermissionManager.revokeRuntimePermission(packageName, permission, Context.DEVICE_ID_DEFAULT, userId, null); } finally { Binder.restoreCallingIdentity(identity); } Loading Loading
core/java/android/app/ActivityManager.java +10 −5 Original line number Diff line number Diff line Loading @@ -4699,8 +4699,14 @@ public class ActivityManager { @UnsupportedAppUsage public static int checkComponentPermission(String permission, int uid, int owningUid, boolean exported) { return checkComponentPermission(permission, uid, Context.DEVICE_ID_DEFAULT, owningUid, exported); } /** @hide */ public static int checkComponentPermission(String permission, int uid, int deviceId, int owningUid, boolean exported) { // Root, system server get to do everything. final int appId = UserHandle.getAppId(uid); if (canAccessUnexportedComponents(uid)) { return PackageManager.PERMISSION_GRANTED; } Loading @@ -4727,8 +4733,7 @@ public class ActivityManager { return PackageManager.PERMISSION_GRANTED; } try { return AppGlobals.getPackageManager() .checkUidPermission(permission, uid); return AppGlobals.getPermissionManager().checkUidPermission(uid, permission, deviceId); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } Loading @@ -4737,8 +4742,8 @@ public class ActivityManager { /** @hide */ public static int checkUidPermission(String permission, int uid) { try { return AppGlobals.getPackageManager() .checkUidPermission(permission, uid); return AppGlobals.getPermissionManager().checkUidPermission( uid, permission, Context.DEVICE_ID_DEFAULT); } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } Loading
core/java/android/app/ApplicationPackageManager.java +2 −1 Original line number Diff line number Diff line Loading @@ -827,7 +827,8 @@ public class ApplicationPackageManager extends PackageManager { @Override public int checkPermission(String permName, String pkgName) { return PermissionManager.checkPackageNamePermission(permName, pkgName, getUserId()); return PermissionManager.checkPackageNamePermission(permName, pkgName, mContext.getDeviceId(), getUserId()); } @Override Loading
core/java/android/app/ContextImpl.java +1 −1 Original line number Diff line number Diff line Loading @@ -2262,7 +2262,7 @@ class ContextImpl extends Context { Log.v(TAG, "Treating renounced permission " + permission + " as denied"); return PERMISSION_DENIED; } return PermissionManager.checkPermission(permission, pid, uid); return PermissionManager.checkPermission(permission, pid, uid, getDeviceId()); } /** @hide */ Loading
core/java/android/app/IActivityManager.aidl +2 −0 Original line number Diff line number Diff line Loading @@ -924,4 +924,6 @@ interface IActivityManager { void unregisterUidFrozenStateChangedCallback(in IUidFrozenStateChangedCallback callback); @JavaPassthrough(annotation="@android.annotation.RequiresPermission(android.Manifest.permission.PACKAGE_USAGE_STATS)") int[] getUidFrozenState(in int[] uids); int checkPermissionForDevice(in String permission, int pid, int uid, int deviceId); }
core/java/android/app/UiAutomationConnection.java +10 −2 Original line number Diff line number Diff line Loading @@ -343,6 +343,9 @@ public final class UiAutomationConnection extends IUiAutomationConnection.Stub { } } /** * Grants permission for the {@link Context#DEVICE_ID_DEFAULT default device} */ @Override public void grantRuntimePermission(String packageName, String permission, int userId) throws RemoteException { Loading @@ -353,12 +356,16 @@ public final class UiAutomationConnection extends IUiAutomationConnection.Stub { } final long identity = Binder.clearCallingIdentity(); try { mPermissionManager.grantRuntimePermission(packageName, permission, userId); mPermissionManager.grantRuntimePermission(packageName, permission, Context.DEVICE_ID_DEFAULT, userId); } finally { Binder.restoreCallingIdentity(identity); } } /** * Revokes permission for the {@link Context#DEVICE_ID_DEFAULT default device} */ @Override public void revokeRuntimePermission(String packageName, String permission, int userId) throws RemoteException { Loading @@ -369,7 +376,8 @@ public final class UiAutomationConnection extends IUiAutomationConnection.Stub { } final long identity = Binder.clearCallingIdentity(); try { mPermissionManager.revokeRuntimePermission(packageName, permission, userId, null); mPermissionManager.revokeRuntimePermission(packageName, permission, Context.DEVICE_ID_DEFAULT, userId, null); } finally { Binder.restoreCallingIdentity(identity); } Loading