summaryrefslogtreecommitdiff
path: root/core/java/android
diff options
context:
space:
mode:
Diffstat (limited to 'core/java/android')
-rw-r--r--core/java/android/app/admin/DevicePolicyManager.java10
-rw-r--r--core/java/android/app/admin/IDevicePolicyManager.aidl2
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();