diff options
Diffstat (limited to 'core/java/android')
| -rw-r--r-- | core/java/android/app/admin/DevicePolicyManager.java | 10 | ||||
| -rw-r--r-- | core/java/android/app/admin/IDevicePolicyManager.aidl | 2 |
2 files changed, 8 insertions, 4 deletions
diff --git a/core/java/android/app/admin/DevicePolicyManager.java b/core/java/android/app/admin/DevicePolicyManager.java index b7d9b80e9a53..fe5c45f21ede 100644 --- a/core/java/android/app/admin/DevicePolicyManager.java +++ b/core/java/android/app/admin/DevicePolicyManager.java @@ -31,6 +31,7 @@ import android.content.Context; import android.content.Intent; import android.content.IntentFilter; import android.content.pm.PackageManager; +import android.content.pm.PackageManager.NameNotFoundException; import android.content.pm.ParceledListSlice; import android.content.pm.UserInfo; import android.graphics.Bitmap; @@ -3980,18 +3981,21 @@ public class DevicePolicyManager { * {@code null} value or uninstalling the managing package. * <p> * The supplied application restriction managing package must be installed when calling this - * API, otherwise an {@link IllegalArgumentException} will be thrown. + * API, otherwise an {@link NameNotFoundException} will be thrown. * * @param admin Which {@link DeviceAdminReceiver} this request is associated with. * @param packageName The package name which will be given access to application restrictions * APIs. If {@code null} is given the current package will be cleared. * @throws SecurityException if {@code admin} is not a device or profile owner. + * @throws NameNotFoundException if {@code packageName} is not found */ public void setApplicationRestrictionsManagingPackage(@NonNull ComponentName admin, - @Nullable String packageName) { + @Nullable String packageName) throws NameNotFoundException { if (mService != null) { try { - mService.setApplicationRestrictionsManagingPackage(admin, packageName); + if (!mService.setApplicationRestrictionsManagingPackage(admin, packageName)) { + throw new NameNotFoundException(packageName); + } } catch (RemoteException e) { throw e.rethrowFromSystemServer(); } diff --git a/core/java/android/app/admin/IDevicePolicyManager.aidl b/core/java/android/app/admin/IDevicePolicyManager.aidl index 3ba5bd839d2d..aed220dd5705 100644 --- a/core/java/android/app/admin/IDevicePolicyManager.aidl +++ b/core/java/android/app/admin/IDevicePolicyManager.aidl @@ -161,7 +161,7 @@ interface IDevicePolicyManager { void setApplicationRestrictions(in ComponentName who, in String packageName, in Bundle settings); Bundle getApplicationRestrictions(in ComponentName who, in String packageName); - void setApplicationRestrictionsManagingPackage(in ComponentName admin, in String packageName); + boolean setApplicationRestrictionsManagingPackage(in ComponentName admin, in String packageName); String getApplicationRestrictionsManagingPackage(in ComponentName admin); boolean isCallerApplicationRestrictionsManagingPackage(); |
