diff options
author | Lei Yu <jackqdyulei@google.com> | 2017-06-28 17:55:05 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2017-06-28 17:55:05 +0000 |
commit | bd6a9ced6e9c5a6a1ada02e155d4bfd4f21fe69c (patch) | |
tree | 3f97deeea127ced376553d42e654e3f02b7a273e | |
parent | 6e6fcddc7c71c38bffa05b6d93f8627049b9ddec (diff) | |
parent | 264ec5f998aaab5d68fddf755d6ec5c0b2f5df5f (diff) | |
download | android_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.java | 23 |
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); + } + } } |