summaryrefslogtreecommitdiffstats
path: root/core/java/android/content/pm
diff options
context:
space:
mode:
authorSvet Ganov <svetoslavganov@google.com>2015-07-10 00:32:11 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2015-07-10 00:32:12 +0000
commit171fe6ac0aa5b0d2dd64ac1cdda25cdcb5f183f3 (patch)
tree281e5fe4812eb30a91a1f5c6b1f754aaa66548fe /core/java/android/content/pm
parent4ee9b23a6f1856bfe7fa810b585b4ced02745d65 (diff)
parentad3b2975574f916c14382628d50c710a78064746 (diff)
downloadframeworks_base-171fe6ac0aa5b0d2dd64ac1cdda25cdcb5f183f3.zip
frameworks_base-171fe6ac0aa5b0d2dd64ac1cdda25cdcb5f183f3.tar.gz
frameworks_base-171fe6ac0aa5b0d2dd64ac1cdda25cdcb5f183f3.tar.bz2
Merge "Add an API for apps to query if a permisison is denied by policy." into mnc-dev
Diffstat (limited to 'core/java/android/content/pm')
-rw-r--r--core/java/android/content/pm/IPackageManager.aidl2
-rw-r--r--core/java/android/content/pm/PackageManager.java17
2 files changed, 18 insertions, 1 deletions
diff --git a/core/java/android/content/pm/IPackageManager.aidl b/core/java/android/content/pm/IPackageManager.aidl
index 2b83d86..103ee29 100644
--- a/core/java/android/content/pm/IPackageManager.aidl
+++ b/core/java/android/content/pm/IPackageManager.aidl
@@ -506,4 +506,6 @@ interface IPackageManager {
int getMountExternalMode(int uid);
void grantDefaultPermissionsToEnabledCarrierApps(in String[] packageNames, int userId);
+
+ boolean isPermissionRevokedByPolicy(String permission, String packageName, int userId);
}
diff --git a/core/java/android/content/pm/PackageManager.java b/core/java/android/content/pm/PackageManager.java
index 62c2e8c..6533bbc 100644
--- a/core/java/android/content/pm/PackageManager.java
+++ b/core/java/android/content/pm/PackageManager.java
@@ -2398,7 +2398,7 @@ public abstract class PackageManager {
* Check whether a particular package has been granted a particular
* permission.
*
- * @param permName The name of the permission you are checking for,
+ * @param permName The name of the permission you are checking for.
* @param pkgName The name of the package you are checking against.
*
* @return If the package has the permission, PERMISSION_GRANTED is
@@ -2412,6 +2412,21 @@ public abstract class PackageManager {
public abstract int checkPermission(String permName, String pkgName);
/**
+ * Checks whether a particular permissions has been revoked for a
+ * package by policy. Typically the device owner or the profile owner
+ * may apply such a policy. The user cannot grant policy revoked
+ * permissions, hence the only way for an app to get such a permission
+ * is by a policy change.
+ *
+ * @param permName The name of the permission you are checking for.
+ * @param pkgName The name of the package you are checking against.
+ *
+ * @return Whether the permission is restricted by policy.
+ */
+ @CheckResult
+ public abstract boolean isPermissionRevokedByPolicy(String permName, String pkgName);
+
+ /**
* Add a new dynamic permission to the system. For this to work, your
* package must have defined a permission tree through the
* {@link android.R.styleable#AndroidManifestPermissionTree