diff options
author | Jiao Yuan <yuanjiao@codeaurora.org> | 2016-09-08 15:03:08 +0800 |
---|---|---|
committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2016-09-08 02:04:54 -0700 |
commit | 2d5c59ce6a0def14934662b6741cbef6c07c7e71 (patch) | |
tree | fe317520d65317436008e3882a103ab9b85effad /src | |
parent | be2a8bf78deff2b2db485cc6a247e9a6d49960f6 (diff) | |
download | android_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
Diffstat (limited to 'src')
-rwxr-xr-x | src/com/android/packageinstaller/permission/ui/handheld/AppPermissionsFragment.java | 10 |
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); } } |