Loading services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java +13 −11 Original line number Original line Diff line number Diff line Loading @@ -3297,22 +3297,24 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { } } public DeviceAdminInfo findAdmin(ComponentName adminName, int userHandle, public DeviceAdminInfo findAdmin(final ComponentName adminName, final int userHandle, boolean throwForMissingPermission) { boolean throwForMissingPermission) { if (!mHasFeature) { if (!mHasFeature) { return null; return null; } } enforceFullCrossUsersPermission(userHandle); enforceFullCrossUsersPermission(userHandle); ActivityInfo ai = null; final ActivityInfo ai = mInjector.binderWithCleanCallingIdentity(() -> { try { try { ai = mIPackageManager.getReceiverInfo(adminName, return mIPackageManager.getReceiverInfo(adminName, PackageManager.GET_META_DATA | PackageManager.GET_META_DATA PackageManager.MATCH_DISABLED_UNTIL_USED_COMPONENTS | | PackageManager.MATCH_DISABLED_UNTIL_USED_COMPONENTS PackageManager.MATCH_DIRECT_BOOT_AWARE | | PackageManager.MATCH_DIRECT_BOOT_AWARE PackageManager.MATCH_DIRECT_BOOT_UNAWARE, userHandle); | PackageManager.MATCH_DIRECT_BOOT_UNAWARE, userHandle); } catch (RemoteException e) { } catch (RemoteException e) { // shouldn't happen. // shouldn't happen. return null; } } }); if (ai == null) { if (ai == null) { throw new IllegalArgumentException("Unknown admin: " + adminName); throw new IllegalArgumentException("Unknown admin: " + adminName); } } Loading Loading
services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java +13 −11 Original line number Original line Diff line number Diff line Loading @@ -3297,22 +3297,24 @@ public class DevicePolicyManagerService extends BaseIDevicePolicyManager { } } public DeviceAdminInfo findAdmin(ComponentName adminName, int userHandle, public DeviceAdminInfo findAdmin(final ComponentName adminName, final int userHandle, boolean throwForMissingPermission) { boolean throwForMissingPermission) { if (!mHasFeature) { if (!mHasFeature) { return null; return null; } } enforceFullCrossUsersPermission(userHandle); enforceFullCrossUsersPermission(userHandle); ActivityInfo ai = null; final ActivityInfo ai = mInjector.binderWithCleanCallingIdentity(() -> { try { try { ai = mIPackageManager.getReceiverInfo(adminName, return mIPackageManager.getReceiverInfo(adminName, PackageManager.GET_META_DATA | PackageManager.GET_META_DATA PackageManager.MATCH_DISABLED_UNTIL_USED_COMPONENTS | | PackageManager.MATCH_DISABLED_UNTIL_USED_COMPONENTS PackageManager.MATCH_DIRECT_BOOT_AWARE | | PackageManager.MATCH_DIRECT_BOOT_AWARE PackageManager.MATCH_DIRECT_BOOT_UNAWARE, userHandle); | PackageManager.MATCH_DIRECT_BOOT_UNAWARE, userHandle); } catch (RemoteException e) { } catch (RemoteException e) { // shouldn't happen. // shouldn't happen. return null; } } }); if (ai == null) { if (ai == null) { throw new IllegalArgumentException("Unknown admin: " + adminName); throw new IllegalArgumentException("Unknown admin: " + adminName); } } Loading