Add hidden API for whether permission review mode is on. am: 7b89a7b1f7 am: 7c230c6f3c
am: dd91db5515
Change-Id: I936449f717e3c2919622181c9068ec8a48b452ad
diff --git a/api/test-current.txt b/api/test-current.txt
index 334f4e6..0a5f065 100644
--- a/api/test-current.txt
+++ b/api/test-current.txt
@@ -10214,6 +10214,7 @@
method public abstract android.content.res.XmlResourceParser getXml(java.lang.String, int, android.content.pm.ApplicationInfo);
method public abstract boolean hasSystemFeature(java.lang.String);
method public abstract boolean hasSystemFeature(java.lang.String, int);
+ method public abstract boolean isPermissionReviewModeEnabled();
method public abstract boolean isPermissionRevokedByPolicy(java.lang.String, java.lang.String);
method public abstract boolean isSafeMode();
method public abstract java.util.List<android.content.pm.ResolveInfo> queryBroadcastReceivers(android.content.Intent, int);
@@ -39791,6 +39792,7 @@
method public android.content.res.XmlResourceParser getXml(java.lang.String, int, android.content.pm.ApplicationInfo);
method public boolean hasSystemFeature(java.lang.String);
method public boolean hasSystemFeature(java.lang.String, int);
+ method public boolean isPermissionReviewModeEnabled();
method public boolean isPermissionRevokedByPolicy(java.lang.String, java.lang.String);
method public boolean isSafeMode();
method public java.util.List<android.content.pm.ResolveInfo> queryBroadcastReceivers(android.content.Intent, int);
diff --git a/core/java/android/app/ApplicationPackageManager.java b/core/java/android/app/ApplicationPackageManager.java
index 9f2fffd..2c2b279 100644
--- a/core/java/android/app/ApplicationPackageManager.java
+++ b/core/java/android/app/ApplicationPackageManager.java
@@ -310,6 +310,12 @@
}
@Override
+ public boolean isPermissionReviewModeEnabled() {
+ return mContext.getResources().getBoolean(
+ com.android.internal.R.bool.config_permissionReviewRequired);
+ }
+
+ @Override
public PermissionGroupInfo getPermissionGroupInfo(String name,
int flags) throws NameNotFoundException {
try {
diff --git a/core/java/android/content/pm/PackageManager.java b/core/java/android/content/pm/PackageManager.java
index 184f1856..76c69ca 100644
--- a/core/java/android/content/pm/PackageManager.java
+++ b/core/java/android/content/pm/PackageManager.java
@@ -2969,6 +2969,14 @@
@PermissionInfoFlags int flags) throws NameNotFoundException;
/**
+ * Returns true if Permission Review Mode is enabled, false otherwise.
+ *
+ * @hide
+ */
+ @TestApi
+ public abstract boolean isPermissionReviewModeEnabled();
+
+ /**
* Retrieve all of the information we know about a particular group of
* permissions.
*
diff --git a/test-runner/src/android/test/mock/MockPackageManager.java b/test-runner/src/android/test/mock/MockPackageManager.java
index fe4e330..71c9c73 100644
--- a/test-runner/src/android/test/mock/MockPackageManager.java
+++ b/test-runner/src/android/test/mock/MockPackageManager.java
@@ -149,6 +149,12 @@
throw new UnsupportedOperationException();
}
+ /** @hide */
+ @Override
+ public boolean isPermissionReviewModeEnabled() {
+ return false;
+ }
+
@Override
public PermissionGroupInfo getPermissionGroupInfo(String name,
int flags) throws NameNotFoundException {
diff --git a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgePackageManager.java b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgePackageManager.java
index d325ee9..de04c43 100644
--- a/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgePackageManager.java
+++ b/tools/layoutlib/bridge/src/com/android/layoutlib/bridge/android/BridgePackageManager.java
@@ -145,6 +145,11 @@
}
@Override
+ public boolean isPermissionReviewModeEnabled() {
+ return false;
+ }
+
+ @Override
public PermissionGroupInfo getPermissionGroupInfo(String name, int flags)
throws NameNotFoundException {
return null;