From 7b89a7b1f7c208eaac19290b34c5f505a9fd5eba Mon Sep 17 00:00:00 2001 From: Paul Navin Date: Thu, 26 Jan 2017 23:56:08 +0000 Subject: [PATCH] Add hidden API for whether permission review mode is on. BUG: 34240393 Change-Id: I68e55767a7da1d457a6cedd210aac9e339fb996c --- api/test-current.txt | 2 ++ core/java/android/app/ApplicationPackageManager.java | 6 ++++++ core/java/android/content/pm/PackageManager.java | 8 ++++++++ test-runner/src/android/test/mock/MockPackageManager.java | 6 ++++++ .../layoutlib/bridge/android/BridgePackageManager.java | 5 +++++ 5 files changed, 27 insertions(+) diff --git a/api/test-current.txt b/api/test-current.txt index d74526b72150f..fcbd1b519268b 100644 --- a/api/test-current.txt +++ b/api/test-current.txt @@ -9790,6 +9790,7 @@ package android.content.pm { 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 queryBroadcastReceivers(android.content.Intent, int); @@ -38217,6 +38218,7 @@ package android.test.mock { 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 queryBroadcastReceivers(android.content.Intent, int); diff --git a/core/java/android/app/ApplicationPackageManager.java b/core/java/android/app/ApplicationPackageManager.java index 37faa2e23dbf7..c44cdb290de6e 100644 --- a/core/java/android/app/ApplicationPackageManager.java +++ b/core/java/android/app/ApplicationPackageManager.java @@ -291,6 +291,12 @@ public class ApplicationPackageManager extends PackageManager { throw new NameNotFoundException(group); } + @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 { diff --git a/core/java/android/content/pm/PackageManager.java b/core/java/android/content/pm/PackageManager.java index a75f111677214..ac4751f8f5676 100644 --- a/core/java/android/content/pm/PackageManager.java +++ b/core/java/android/content/pm/PackageManager.java @@ -2825,6 +2825,14 @@ public abstract class PackageManager { public abstract List queryPermissionsByGroup(String group, @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 330dbab5bab33..e3dabc83d6fea 100644 --- a/test-runner/src/android/test/mock/MockPackageManager.java +++ b/test-runner/src/android/test/mock/MockPackageManager.java @@ -140,6 +140,12 @@ public class MockPackageManager extends PackageManager { 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 b3ed9e1a01649..8dbbd076982f9 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 @@ -126,6 +126,11 @@ public class BridgePackageManager extends PackageManager { return null; } + @Override + public boolean isPermissionReviewModeEnabled() { + return false; + } + @Override public PermissionGroupInfo getPermissionGroupInfo(String name, int flags) throws NameNotFoundException {