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

Commit 36fa4d53 authored by Hai Zhang's avatar Hai Zhang
Browse files

Add requested permissions to the package state hash.

So that role grants are re-run when a new permission is requested
without requiring the app to bump its version code.

Fixes: 194138142
Test: presubmit
Change-Id: I31cb69af572fd22a5e12d4c6ef5d53d87ccce9ea
parent 9a405de9
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -53,6 +53,7 @@ import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.Objects;
import java.util.Set;
@@ -308,6 +309,13 @@ public class RoleServicePlatformHelperImpl implements RoleServicePlatformHelper
                dataOutputStream.writeInt(packageManagerInternal.getApplicationEnabledState(
                        pkg.getPackageName(), userId));

                final List<String> requestedPermissions = pkg.getRequestedPermissions();
                final int requestedPermissionsSize = requestedPermissions.size();
                dataOutputStream.writeInt(requestedPermissionsSize);
                for (int i = 0; i < requestedPermissionsSize; i++) {
                    dataOutputStream.writeUTF(requestedPermissions.get(i));
                }

                final ArraySet<String> enabledComponents =
                        packageManagerInternal.getEnabledComponents(pkg.getPackageName(), userId);
                final int enabledComponentsSize = CollectionUtils.size(enabledComponents);