diff options
| author | Amith Yamasani <yamasani@google.com> | 2015-05-22 13:00:51 -0700 |
|---|---|---|
| committer | Amith Yamasani <yamasani@google.com> | 2015-05-22 13:55:57 -0700 |
| commit | 184b3753de54241c67799089f5bc59a1ede4438a (patch) | |
| tree | 974f857c7e0e88ef2236a71c9b2c0bdf688ba402 /core/java/android/app/admin | |
| parent | b0eb08b521d2b76531df3946cece002ed72fa363 (diff) | |
| download | frameworks_base-184b3753de54241c67799089f5bc59a1ede4438a.zip frameworks_base-184b3753de54241c67799089f5bc59a1ede4438a.tar.gz frameworks_base-184b3753de54241c67799089f5bc59a1ede4438a.tar.bz2 | |
Add getPermissionGrantState method in device policy
This is to have a way to query what permission state was set by
the profile owner.
Bug: 21356830
Change-Id: Ie396e946b4285267c1d95f82b9d9765b43697d3c
Diffstat (limited to 'core/java/android/app/admin')
| -rw-r--r-- | core/java/android/app/admin/DevicePolicyManager.java | 27 | ||||
| -rw-r--r-- | core/java/android/app/admin/IDevicePolicyManager.aidl | 1 |
2 files changed, 28 insertions, 0 deletions
diff --git a/core/java/android/app/admin/DevicePolicyManager.java b/core/java/android/app/admin/DevicePolicyManager.java index a8f2311..52ccd7b 100644 --- a/core/java/android/app/admin/DevicePolicyManager.java +++ b/core/java/android/app/admin/DevicePolicyManager.java @@ -4448,4 +4448,31 @@ public class DevicePolicyManager { return false; } } + + /** + * Returns the current grant state of a runtime permission for a specific application. + * + * @param admin Which profile or device owner this request is associated with. + * @param packageName The application to check the grant state for. + * @param permission The permission to check for. + * @return the current grant state specified by device policy. If the profile or device owner + * has not set a grant state, the return value is {@link #PERMISSION_GRANT_STATE_DEFAULT}. + * This does not indicate whether or not the permission is currently granted for the package. + * + * <p/>If a grant state was set by the profile or device owner, then the return value will + * be one of {@link #PERMISSION_GRANT_STATE_DENIED} or {@link #PERMISSION_GRANT_STATE_GRANTED}, + * which indicates if the permission is currently denied or granted. + * + * @see #setPermissionGrantState(ComponentName, String, String, int) + * @see PackageManager#checkPermission(String, String) + */ + public int getPermissionGrantState(ComponentName admin, String packageName, + String permission) { + try { + return mService.getPermissionGrantState(admin, packageName, permission); + } catch (RemoteException re) { + Log.w(TAG, "Failed talking with device policy service", re); + return PERMISSION_GRANT_STATE_DEFAULT; + } + } } diff --git a/core/java/android/app/admin/IDevicePolicyManager.aidl b/core/java/android/app/admin/IDevicePolicyManager.aidl index 10b0941..477a338 100644 --- a/core/java/android/app/admin/IDevicePolicyManager.aidl +++ b/core/java/android/app/admin/IDevicePolicyManager.aidl @@ -236,4 +236,5 @@ interface IDevicePolicyManager { int getPermissionPolicy(in ComponentName admin); boolean setPermissionGrantState(in ComponentName admin, String packageName, String permission, int grantState); + int getPermissionGrantState(in ComponentName admin, String packageName, String permission); } |
