diff options
author | Svetoslav Ganov <svetoslavganov@google.com> | 2016-03-21 17:06:54 -0700 |
---|---|---|
committer | Svetoslav Ganov <svetoslavganov@google.com> | 2016-03-21 17:13:10 -0700 |
commit | 15fa03702aae07fb325d6be98d8c0cdeb344d20d (patch) | |
tree | 25d781ad363621ddd1c75f4b09167c7616c4ba9f | |
parent | ad6218a2c0991a34a9f9e7ff375c0088a12e42ef (diff) | |
download | android_packages_apps_PackageInstaller-15fa03702aae07fb325d6be98d8c0cdeb344d20d.tar.gz android_packages_apps_PackageInstaller-15fa03702aae07fb325d6be98d8c0cdeb344d20d.tar.bz2 android_packages_apps_PackageInstaller-15fa03702aae07fb325d6be98d8c0cdeb344d20d.zip |
Don't show app defined permissions in the review UI
Only platform defined runtime permissions have corresponding
app ops, hence there is no way to disable functionality guarded
by app defined permissions. Therefore, app defined permissions
should not show in the review UI.
bug:27102458
Change-Id: Iedc7c4de9216007176b87cfecaeed69dbadc2068
-rw-r--r-- | src/com/android/packageinstaller/permission/model/AppPermissionGroup.java | 4 | ||||
-rw-r--r-- | src/com/android/packageinstaller/permission/ui/ReviewPermissionsActivity.java | 23 |
2 files changed, 21 insertions, 6 deletions
diff --git a/src/com/android/packageinstaller/permission/model/AppPermissionGroup.java b/src/com/android/packageinstaller/permission/model/AppPermissionGroup.java index 0771a0f4..fdb77934 100644 --- a/src/com/android/packageinstaller/permission/model/AppPermissionGroup.java +++ b/src/com/android/packageinstaller/permission/model/AppPermissionGroup.java @@ -162,6 +162,10 @@ public final class AppPermissionGroup implements Comparable<AppPermissionGroup> group.addPermission(permission); } + if (group.getPermissions().isEmpty()) { + return null; + } + return group; } diff --git a/src/com/android/packageinstaller/permission/ui/ReviewPermissionsActivity.java b/src/com/android/packageinstaller/permission/ui/ReviewPermissionsActivity.java index 38080e6b..f31d618e 100644 --- a/src/com/android/packageinstaller/permission/ui/ReviewPermissionsActivity.java +++ b/src/com/android/packageinstaller/permission/ui/ReviewPermissionsActivity.java @@ -120,13 +120,18 @@ public final class ReviewPermissionsActivity extends Activity public void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); + Activity activity = getActivity(); + if (activity == null) { + return; + } + PackageInfo packageInfo = getArguments().getParcelable(EXTRA_PACKAGE_INFO); if (packageInfo == null) { - getActivity().finish(); + activity.finish(); return; } - mAppPermissions = new AppPermissions(getActivity(), packageInfo, null, false, + mAppPermissions = new AppPermissions(activity, packageInfo, null, false, new Runnable() { @Override public void run() { @@ -135,7 +140,7 @@ public final class ReviewPermissionsActivity extends Activity }); if (mAppPermissions.getPermissionGroups().isEmpty()) { - getActivity().finish(); + activity.finish(); return; } @@ -148,7 +153,7 @@ public final class ReviewPermissionsActivity extends Activity } if (!reviewRequired) { - getActivity().finish(); + activity.finish(); } } @@ -166,14 +171,18 @@ public final class ReviewPermissionsActivity extends Activity @Override public void onClick(View view) { + Activity activity = getActivity(); + if (activity == null) { + return; + } if (view == mContinueButton) { confirmPermissionsReview(); executeCallback(true); } else if (view == mCancelButton) { executeCallback(false); - getActivity().setResult(Activity.RESULT_CANCELED); + activity.setResult(Activity.RESULT_CANCELED); } - getActivity().finish(); + activity.finish(); } @Override @@ -185,6 +194,8 @@ public final class ReviewPermissionsActivity extends Activity SwitchPreference switchPreference = (SwitchPreference) preference; if (switchPreference.isChecked()) { showWarnRevokeDialog(switchPreference.getKey()); + } else { + return true; } } return false; |