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

Commit 69187e36 authored by Evan Severson's avatar Evan Severson
Browse files

Cancel one-time if permission is changed in settings

Also don't set background permission as one-time.
Also fix a mistake I made using | where & is needed.

Test: Manual
Change-Id: I3277d6191e0015539b9cac1e190dfe98a2443924
parent dea60607
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -1149,8 +1149,10 @@ public final class AppPermissionGroup implements Comparable<AppPermissionGroup>
        final int permissionCount = mPermissions.size();
        for (int i = 0; i < permissionCount; i++) {
            Permission permission = mPermissions.valueAt(i);
            if (!permission.isBackgroundPermission()) {
                permission.setOneTime(isOneTime);
            }
        }

        if (!mDelayChanges) {
            persistChanges(false);
+2 −0
Original line number Diff line number Diff line
@@ -384,6 +384,8 @@ class AppPermissionViewModel(
        val context = fragment.context ?: return
        val group = appPermissionGroup ?: return

        group.isOneTime = false

        if (LocationUtils.isLocationGroupAndProvider(context, group.name,
                group.app.packageName)) {
            val packageLabel = KotlinUtils.getPackageLabel(app, packageName, user)
+1 −1
Original line number Diff line number Diff line
@@ -1154,7 +1154,7 @@ public final class Utils {
        }
        for (String permissionName : permissions) {
            if ((pm.getPermissionFlags(permissionName, packageName, Process.myUserHandle())
                    | PackageManager.FLAG_PERMISSION_ONE_TIME) != 0) {
                    & PackageManager.FLAG_PERMISSION_ONE_TIME) != 0) {
                return true;
            }
        }