Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 15fa0370 authored by Svetoslav Ganov's avatar Svetoslav Ganov
Browse files

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
parent ad6218a2
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -162,6 +162,10 @@ public final class AppPermissionGroup implements Comparable<AppPermissionGroup>
            group.addPermission(permission);
        }

        if (group.getPermissions().isEmpty()) {
            return null;
        }

        return group;
    }

+17 −6
Original line number Diff line number Diff line
@@ -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;