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

Commit 05244bf0 authored by Philip P. Moltmann's avatar Philip P. Moltmann Committed by Android (Google) Code Review
Browse files

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

parents faf23d16 18ba31be
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;