summaryrefslogtreecommitdiff
path: root/core/java/android/permission/PermissionControllerService.java
diff options
context:
space:
mode:
authorPhilip P. Moltmann <moltmann@google.com>2019-01-31 14:22:39 -0800
committerPhilip P. Moltmann <moltmann@google.com>2019-01-31 14:22:39 -0800
commite1436e85ae751068bbf7615511d7f24fdd8319c7 (patch)
tree0021082c20d48649f3833659d23d3fc2c316cc2f /core/java/android/permission/PermissionControllerService.java
parentfcd2ab1b0265f4eb2a25ad15d940e532c363cb57 (diff)
Flags instead of booleans for countPermissionApps
Test: Checked that the api retunred the results Change-Id: I3f95bf9beee4a7edae5cbd9457ad4efefe83d1be Fixes: 123697839
Diffstat (limited to 'core/java/android/permission/PermissionControllerService.java')
-rw-r--r--core/java/android/permission/PermissionControllerService.java24
1 files changed, 15 insertions, 9 deletions
diff --git a/core/java/android/permission/PermissionControllerService.java b/core/java/android/permission/PermissionControllerService.java
index 9a58b971baf5..70404c35fa45 100644
--- a/core/java/android/permission/PermissionControllerService.java
+++ b/core/java/android/permission/PermissionControllerService.java
@@ -16,9 +16,13 @@
package android.permission;
+import static android.permission.PermissionControllerManager.COUNT_ONLY_WHEN_GRANTED;
+import static android.permission.PermissionControllerManager.COUNT_WHEN_SYSTEM;
+
import static com.android.internal.util.Preconditions.checkArgument;
import static com.android.internal.util.Preconditions.checkArgumentNonnegative;
import static com.android.internal.util.Preconditions.checkCollectionElementsNotNull;
+import static com.android.internal.util.Preconditions.checkFlagsArgument;
import static com.android.internal.util.Preconditions.checkNotNull;
import static com.android.internal.util.Preconditions.checkStringNotEmpty;
import static com.android.internal.util.function.pooled.PooledLambda.obtainMessage;
@@ -37,6 +41,7 @@ import android.os.IBinder;
import android.os.ParcelFileDescriptor;
import android.os.RemoteCallback;
import android.os.UserHandle;
+import android.permission.PermissionControllerManager.CountPermissionAppsFlag;
import android.util.ArrayMap;
import android.util.Log;
@@ -121,13 +126,13 @@ public abstract class PermissionControllerService extends Service {
* Count how many apps have one of a set of permissions.
*
* @param permissionNames The permissions the app might have
- * @param countOnlyGranted Count an app only if the permission is granted to the app
- * @param countSystem Also count system apps
+ * @param flags Modify which apps to count. By default all non-system apps that request a
+ * permission are counted
*
* @return the number of apps that have one of the permissions
*/
public abstract int onCountPermissionApps(@NonNull List<String> permissionNames,
- boolean countOnlyGranted, boolean countSystem);
+ @CountPermissionAppsFlag int flags);
/**
* Count how many apps have used permissions.
@@ -226,17 +231,18 @@ public abstract class PermissionControllerService extends Service {
}
@Override
- public void countPermissionApps(List<String> permissionNames, boolean countOnlyGranted,
- boolean countSystem, RemoteCallback callback) {
+ public void countPermissionApps(List<String> permissionNames, int flags,
+ RemoteCallback callback) {
checkCollectionElementsNotNull(permissionNames, "permissionNames");
+ checkFlagsArgument(flags, COUNT_WHEN_SYSTEM | COUNT_ONLY_WHEN_GRANTED);
checkNotNull(callback, "callback");
enforceCallingPermission(Manifest.permission.GET_RUNTIME_PERMISSIONS, null);
mHandler.sendMessage(
obtainMessage(PermissionControllerService::countPermissionApps,
- PermissionControllerService.this, permissionNames, countOnlyGranted,
- countSystem, callback));
+ PermissionControllerService.this, permissionNames, flags,
+ callback));
}
@Override
@@ -311,8 +317,8 @@ public abstract class PermissionControllerService extends Service {
}
private void countPermissionApps(@NonNull List<String> permissionNames,
- boolean countOnlyGranted, boolean countSystem, @NonNull RemoteCallback callback) {
- int numApps = onCountPermissionApps(permissionNames, countOnlyGranted, countSystem);
+ @CountPermissionAppsFlag int flags, @NonNull RemoteCallback callback) {
+ int numApps = onCountPermissionApps(permissionNames, flags);
Bundle result = new Bundle();
result.putInt(PermissionControllerManager.KEY_RESULT, numApps);