diff options
| author | Philip P. Moltmann <moltmann@google.com> | 2019-01-31 14:22:39 -0800 |
|---|---|---|
| committer | Philip P. Moltmann <moltmann@google.com> | 2019-01-31 14:22:39 -0800 |
| commit | e1436e85ae751068bbf7615511d7f24fdd8319c7 (patch) | |
| tree | 0021082c20d48649f3833659d23d3fc2c316cc2f /core/java/android/permission/PermissionControllerService.java | |
| parent | fcd2ab1b0265f4eb2a25ad15d940e532c363cb57 (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.java | 24 |
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); |
