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

Commit d97f9e45 authored by Philip P. Moltmann's avatar Philip P. Moltmann
Browse files

revokeRuntimePermission works on permissions

... not on groups. Hence revoke the whole group the permission belongs
to.

Change-Id: I54c74c5653bb0b3fa452a0c7fe21381f407a3061
Fixes: 64301150
Test: Manually tested
parent 90e1aa09
Loading
Loading
Loading
Loading
+11 −4
Original line number Diff line number Diff line
@@ -136,7 +136,7 @@ public final class AppPermissions {
    }

    private void addPermissionGroupIfNeeded(String permission) {
        if (hasGroupForPermission(permission)) {
        if (getGroupForPermission(permission) != null) {
            return;
        }

@@ -149,12 +149,19 @@ public final class AppPermissions {
        mGroups.add(group);
    }

    private boolean hasGroupForPermission(String permission) {
    /**
     * Find the group a permission belongs to.
     *
     * @param permission The name of the permission
     *
     * @return The group the permission belongs to
     */
    public AppPermissionGroup getGroupForPermission(String permission) {
        for (AppPermissionGroup group : mGroups) {
            if (group.hasPermission(permission)) {
                return true;
                return group;
            }
        }
        return false;
        return null;
    }
}
+2 −1
Original line number Diff line number Diff line
@@ -70,7 +70,8 @@ public final class RuntimePermissionPresenterServiceImpl extends RuntimePermissi
                    PackageManager.GET_PERMISSIONS);
            final AppPermissions appPermissions = new AppPermissions(this, packageInfo, null, false,
                    null);
            final AppPermissionGroup appPermissionGroup = appPermissions.getPermissionGroup(

            final AppPermissionGroup appPermissionGroup = appPermissions.getGroupForPermission(
                    permissionName);

            if (appPermissionGroup != null) {