summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLei Yu <jackqdyulei@google.com>2017-06-28 17:55:05 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2017-06-28 17:55:05 +0000
commitbd6a9ced6e9c5a6a1ada02e155d4bfd4f21fe69c (patch)
tree3f97deeea127ced376553d42e654e3f02b7a273e
parent6e6fcddc7c71c38bffa05b6d93f8627049b9ddec (diff)
parent264ec5f998aaab5d68fddf755d6ec5c0b2f5df5f (diff)
downloadandroid_packages_apps_PackageInstaller-bd6a9ced6e9c5a6a1ada02e155d4bfd4f21fe69c.tar.gz
android_packages_apps_PackageInstaller-bd6a9ced6e9c5a6a1ada02e155d4bfd4f21fe69c.tar.bz2
android_packages_apps_PackageInstaller-bd6a9ced6e9c5a6a1ada02e155d4bfd4f21fe69c.zip
Merge "Add impl for revokeRuntimePermission" into oc-dr1-dev
-rw-r--r--src/com/android/packageinstaller/permission/service/RuntimePermissionPresenterServiceImpl.java23
1 files changed, 20 insertions, 3 deletions
diff --git a/src/com/android/packageinstaller/permission/service/RuntimePermissionPresenterServiceImpl.java b/src/com/android/packageinstaller/permission/service/RuntimePermissionPresenterServiceImpl.java
index 9c5fd464..46cf4c16 100644
--- a/src/com/android/packageinstaller/permission/service/RuntimePermissionPresenterServiceImpl.java
+++ b/src/com/android/packageinstaller/permission/service/RuntimePermissionPresenterServiceImpl.java
@@ -16,13 +16,12 @@
package com.android.packageinstaller.permission.service;
-import android.content.pm.ApplicationInfo;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.pm.permission.RuntimePermissionPresentationInfo;
import android.permissionpresenterservice.RuntimePermissionPresenterService;
-import android.util.ArraySet;
import android.util.Log;
+
import com.android.packageinstaller.permission.model.AppPermissionGroup;
import com.android.packageinstaller.permission.model.AppPermissions;
import com.android.packageinstaller.permission.utils.Utils;
@@ -49,7 +48,7 @@ public final class RuntimePermissionPresenterServiceImpl extends RuntimePermissi
List<RuntimePermissionPresentationInfo> permissions = new ArrayList<>();
- AppPermissions appPermissions = new AppPermissions(this, packageInfo, null, false, null);
+ AppPermissions appPermissions = new AppPermissions(this, packageInfo, null, false, null);
for (AppPermissionGroup group : appPermissions.getPermissionGroups()) {
if (Utils.shouldShowPermission(group, packageName)) {
final boolean granted = group.areRuntimePermissionsGranted();
@@ -63,4 +62,22 @@ public final class RuntimePermissionPresenterServiceImpl extends RuntimePermissi
return permissions;
}
+
+ @Override
+ public void onRevokeRuntimePermission(String packageName, String permissionName) {
+ try {
+ final PackageInfo packageInfo = getPackageManager().getPackageInfo(packageName,
+ PackageManager.GET_PERMISSIONS);
+ final AppPermissions appPermissions = new AppPermissions(this, packageInfo, null, false,
+ null);
+ final AppPermissionGroup appPermissionGroup = appPermissions.getPermissionGroup(
+ permissionName);
+
+ if (appPermissionGroup != null) {
+ appPermissionGroup.revokeRuntimePermissions(false);
+ }
+ } catch (PackageManager.NameNotFoundException e) {
+ Log.e(LOG_TAG, "Error getting package:" + packageName, e);
+ }
+ }
}