summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSvetoslav Ganov <svetoslavganov@google.com>2016-03-21 17:06:54 -0700
committerSvetoslav Ganov <svetoslavganov@google.com>2016-03-21 17:13:10 -0700
commit15fa03702aae07fb325d6be98d8c0cdeb344d20d (patch)
tree25d781ad363621ddd1c75f4b09167c7616c4ba9f
parentad6218a2c0991a34a9f9e7ff375c0088a12e42ef (diff)
downloadandroid_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.java4
-rw-r--r--src/com/android/packageinstaller/permission/ui/ReviewPermissionsActivity.java23
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;