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

Commit 64814139 authored by Chad Brubaker's avatar Chad Brubaker
Browse files

Avoid trying to grant non-ephemeral permissions to instant apps

Fixes: 36272655
Test: `adb install -g --ephemeral` does not crash if an app requests a
non-ephemeral permission

Change-Id: I18a6fa7697528a2a35b42e36f7010b687be23f73
parent 67383eda
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -2038,12 +2038,15 @@ public class PackageManagerService extends IPackageManager.Stub {
        final boolean supportsRuntimePermissions = pkg.applicationInfo.targetSdkVersion
                >= Build.VERSION_CODES.M;
        final boolean instantApp = isInstantApp(pkg.packageName, userId);
        for (String permission : pkg.requestedPermissions) {
            final BasePermission bp;
            synchronized (mPackages) {
                bp = mSettings.mPermissions.get(permission);
            }
            if (bp != null && (bp.isRuntime() || bp.isDevelopment())
                    && (!instantApp || bp.isInstant())
                    && (grantedPermissions == null
                           || ArrayUtils.contains(grantedPermissions, permission))) {
                final int flags = permissionsState.getPermissionFlags(permission, userId);