summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJiao Yuan <yuanjiao@codeaurora.org>2016-09-08 15:03:08 +0800
committerGerrit - the friendly Code Review server <code-review@localhost>2016-09-08 02:04:54 -0700
commit2d5c59ce6a0def14934662b6741cbef6c07c7e71 (patch)
treefe317520d65317436008e3882a103ab9b85effad
parentbe2a8bf78deff2b2db485cc6a247e9a6d49960f6 (diff)
downloadandroid_packages_apps_PackageInstaller-2d5c59ce6a0def14934662b6741cbef6c07c7e71.tar.gz
android_packages_apps_PackageInstaller-2d5c59ce6a0def14934662b6741cbef6c07c7e71.tar.bz2
android_packages_apps_PackageInstaller-2d5c59ce6a0def14934662b6741cbef6c07c7e71.zip
Show every single permission only for platform permission group
Package installer stopped when tap email permissions, because email defines an additional permission, but package installer can not find its group,so it throws null point exception, so show every single permission only for platform permission group. Change-Id: Ib56b4b4b6fef2ec112321787d34c35c211652a60
-rwxr-xr-xsrc/com/android/packageinstaller/permission/ui/handheld/AppPermissionsFragment.java10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/com/android/packageinstaller/permission/ui/handheld/AppPermissionsFragment.java b/src/com/android/packageinstaller/permission/ui/handheld/AppPermissionsFragment.java
index 3a36e417..67c51bf8 100755
--- a/src/com/android/packageinstaller/permission/ui/handheld/AppPermissionsFragment.java
+++ b/src/com/android/packageinstaller/permission/ui/handheld/AppPermissionsFragment.java
@@ -241,7 +241,7 @@ public final class AppPermissionsFragment extends SettingsWithHeader
}
mExtraScreen.addPreference(preference);
}
- if (AppPermissionGroup.isStrictOpEnable()) {
+ if (AppPermissionGroup.isStrictOpEnable() && isPlatform) {
try {
PackageManager pm = context.getPackageManager();
for (Permission permission : group.getPermissions()) {
@@ -357,9 +357,11 @@ public final class AppPermissionsFragment extends SettingsWithHeader
LocationUtils.showLocationDialog(getContext(), mAppPermissions.getAppLabel());
return false;
}
+
+ final boolean isPlatform = group.getDeclaringPackage().equals(Utils.OS_PKG);
if (newValue == Boolean.TRUE) {
group.grantRuntimePermissions(false);
- if (AppPermissionGroup.isStrictOpEnable()) {
+ if (AppPermissionGroup.isStrictOpEnable() && isPlatform) {
updateEveryPermissionPreference(group);
}
} else {
@@ -375,7 +377,7 @@ public final class AppPermissionsFragment extends SettingsWithHeader
public void onClick(DialogInterface dialog, int which) {
((SwitchPreference) preference).setChecked(false);
group.revokeRuntimePermissions(false);
- if (AppPermissionGroup.isStrictOpEnable()) {
+ if (AppPermissionGroup.isStrictOpEnable() && isPlatform) {
updateEveryPermissionPreference(group);
}
if (!grantedByDefault) {
@@ -387,7 +389,7 @@ public final class AppPermissionsFragment extends SettingsWithHeader
return false;
} else {
group.revokeRuntimePermissions(false);
- if (AppPermissionGroup.isStrictOpEnable()) {
+ if (AppPermissionGroup.isStrictOpEnable() && isPlatform) {
updateEveryPermissionPreference(group);
}
}