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

Commit 2067fde7 authored by Philip P. Moltmann's avatar Philip P. Moltmann Committed by android-build-merger
Browse files

Merge "Grandfather bg location perm on upgrade" into qt-dev

am: 05244bf0

Change-Id: Ib5c4ca82eb7f5b6e6e957d746d2d12f493f30e57
parents 44dcc477 05244bf0
Loading
Loading
Loading
Loading
+23 −1
Original line number Diff line number Diff line
@@ -38,7 +38,7 @@ class RuntimePermissionsUpgradeController {
    private static final String LOG_TAG = RuntimePermissionsUpgradeController.class.getSimpleName();

    // The latest version of the runtime permissions database
    private static final int LATEST_VERSION = 3;
    private static final int LATEST_VERSION = 4;

    private RuntimePermissionsUpgradeController() {
        /* do nothing - hide constructor */
@@ -163,6 +163,28 @@ class RuntimePermissionsUpgradeController {
            currentVersion = 3;
        }

        if (currentVersion == 3) {
            Log.i(LOG_TAG, "Grandfathering location background permissions");

            for (int i = 0; i < appCount; i++) {
                final PackageInfo app = apps.get(i);
                if (app.requestedPermissions == null) {
                    continue;
                }

                for (String requestedPermission : app.requestedPermissions) {
                    if (requestedPermission.equals(
                            Manifest.permission.ACCESS_BACKGROUND_LOCATION)) {
                        context.getPackageManager().addWhitelistedRestrictedPermission(
                                app.packageName, Manifest.permission.ACCESS_BACKGROUND_LOCATION,
                                PackageManager.FLAG_PERMISSION_WHITELIST_UPGRADE);
                        break;
                    }
                }
            }
            currentVersion = 4;
        }

        // XXX: Add new upgrade steps above this point.

        return currentVersion;