Loading services/core/java/com/android/server/pm/InstallPackageHelper.java +4 −5 Original line number Diff line number Diff line Loading @@ -692,7 +692,7 @@ final class InstallPackageHelper { if ((installFlags & PackageManager.INSTALL_ALL_WHITELIST_RESTRICTED_PERMISSIONS) != 0) { permissionParamsBuilder.setAllowlistedRestrictedPermissions( pkgSetting.getPkg().getRequestedPermissions()); new ArrayList<>(pkgSetting.getPkg().getRequestedPermissions())); } mPm.mPermissionManager.onPackageInstalled(pkgSetting.getPkg(), Process.INVALID_UID /* previousAppId */, Loading Loading @@ -2314,9 +2314,7 @@ final class InstallPackageHelper { & PackageManager.INSTALL_GRANT_ALL_REQUESTED_PERMISSIONS) != 0; if (grantRequestedPermissions) { var permissionStates = new ArrayMap<String, Integer>(); var requestedPermissions = pkg.getRequestedPermissions(); for (int index = 0; index < requestedPermissions.size(); index++) { var permissionName = requestedPermissions.get(index); for (var permissionName : pkg.getRequestedPermissions()) { permissionStates.put(permissionName, PackageInstaller.SessionParams.PERMISSION_STATE_GRANTED); } Loading @@ -2332,7 +2330,8 @@ final class InstallPackageHelper { (installRequest.getInstallFlags() & PackageManager.INSTALL_ALL_WHITELIST_RESTRICTED_PERMISSIONS) != 0; final List<String> allowlistedRestrictedPermissions = allowlistAllRestrictedPermissions ? pkg.getRequestedPermissions() allowlistAllRestrictedPermissions ? new ArrayList<>(pkg.getRequestedPermissions()) : installRequest.getAllowlistedRestrictedPermissions(); if (allowlistedRestrictedPermissions != null) { permissionParamsBuilder.setAllowlistedRestrictedPermissions( Loading services/core/java/com/android/server/pm/Settings.java +2 −3 Original line number Diff line number Diff line Loading @@ -5021,10 +5021,9 @@ public final class Settings implements Watchable, Snappable, ResilientAtomicFile if ((permissionNames != null || dumpAll) && pkg != null && pkg.getRequestedPermissions() != null && pkg.getRequestedPermissions().size() > 0) { final List<String> perms = pkg.getRequestedPermissions(); final Set<String> perms = pkg.getRequestedPermissions(); pw.print(prefix); pw.println(" requested permissions:"); for (int i=0; i<perms.size(); i++) { String perm = perms.get(i); for (String perm : perms) { if (permissionNames != null && !permissionNames.contains(perm)) { continue; Loading services/core/java/com/android/server/pm/parsing/pkg/PackageImpl.java +12 −12 Original line number Diff line number Diff line Loading @@ -160,8 +160,8 @@ public class PackageImpl implements ParsedPackage, AndroidPackageInternal, */ @NonNull @Deprecated @DataClass.ParcelWith(Parcelling.BuiltIn.ForInternedStringList.class) protected List<String> requestedPermissions = emptyList(); @DataClass.ParcelWith(Parcelling.BuiltIn.ForInternedStringSet.class) protected Set<String> requestedPermissions = emptySet(); @NonNull @DataClass.ParcelWith(Parcelling.BuiltIn.ForInternedStringList.class) protected List<String> protectedBroadcasts = emptyList(); Loading Loading @@ -277,8 +277,8 @@ public class PackageImpl implements ParsedPackage, AndroidPackageInternal, @NonNull private List<ParsedUsesPermission> usesPermissions = emptyList(); @NonNull @DataClass.ParcelWith(Parcelling.BuiltIn.ForInternedStringList.class) private List<String> implicitPermissions = emptyList(); @DataClass.ParcelWith(Parcelling.BuiltIn.ForInternedStringSet.class) private Set<String> implicitPermissions = emptySet(); @NonNull private Set<String> upgradeKeySets = emptySet(); @NonNull Loading Loading @@ -967,7 +967,7 @@ public class PackageImpl implements ParsedPackage, AndroidPackageInternal, @NonNull @Override public List<String> getImplicitPermissions() { public Set<String> getImplicitPermissions() { return implicitPermissions; } Loading Loading @@ -1225,7 +1225,7 @@ public class PackageImpl implements ParsedPackage, AndroidPackageInternal, @NonNull @Override @Deprecated public List<String> getRequestedPermissions() { public Set<String> getRequestedPermissions() { return requestedPermissions; } Loading Loading @@ -2729,7 +2729,7 @@ public class PackageImpl implements ParsedPackage, AndroidPackageInternal, usesOptionalNativeLibraries = Collections.unmodifiableList(usesOptionalNativeLibraries); originalPackages = Collections.unmodifiableList(originalPackages); adoptPermissions = Collections.unmodifiableList(adoptPermissions); requestedPermissions = Collections.unmodifiableList(requestedPermissions); requestedPermissions = Collections.unmodifiableSet(requestedPermissions); protectedBroadcasts = Collections.unmodifiableList(protectedBroadcasts); apexSystemServices = Collections.unmodifiableList(apexSystemServices); Loading @@ -2750,7 +2750,7 @@ public class PackageImpl implements ParsedPackage, AndroidPackageInternal, featureGroups = Collections.unmodifiableList(featureGroups); usesPermissions = Collections.unmodifiableList(usesPermissions); usesSdkLibraries = Collections.unmodifiableList(usesSdkLibraries); implicitPermissions = Collections.unmodifiableList(implicitPermissions); implicitPermissions = Collections.unmodifiableSet(implicitPermissions); upgradeKeySets = Collections.unmodifiableSet(upgradeKeySets); keySetMapping = Collections.unmodifiableMap(keySetMapping); attributions = Collections.unmodifiableList(attributions); Loading Loading @@ -3121,9 +3121,9 @@ public class PackageImpl implements ParsedPackage, AndroidPackageInternal, dest.writeByteArray(this.restrictUpdateHash); dest.writeStringList(this.originalPackages); sForInternedStringList.parcel(this.adoptPermissions, dest, flags); sForInternedStringList.parcel(this.requestedPermissions, dest, flags); sForInternedStringSet.parcel(this.requestedPermissions, dest, flags); ParsingUtils.writeParcelableList(dest, this.usesPermissions); sForInternedStringList.parcel(this.implicitPermissions, dest, flags); sForInternedStringSet.parcel(this.implicitPermissions, dest, flags); sForStringSet.parcel(this.upgradeKeySets, dest, flags); ParsingPackageUtils.writeKeySetMapping(dest, this.keySetMapping); sForInternedStringList.parcel(this.protectedBroadcasts, dest, flags); Loading Loading @@ -3273,10 +3273,10 @@ public class PackageImpl implements ParsedPackage, AndroidPackageInternal, this.restrictUpdateHash = in.createByteArray(); this.originalPackages = in.createStringArrayList(); this.adoptPermissions = sForInternedStringList.unparcel(in); this.requestedPermissions = sForInternedStringList.unparcel(in); this.requestedPermissions = sForInternedStringSet.unparcel(in); this.usesPermissions = ParsingUtils.createTypedInterfaceList(in, ParsedUsesPermissionImpl.CREATOR); this.implicitPermissions = sForInternedStringList.unparcel(in); this.implicitPermissions = sForInternedStringSet.unparcel(in); this.upgradeKeySets = sForStringSet.unparcel(in); this.keySetMapping = ParsingPackageUtils.readKeySetMapping(in); this.protectedBroadcasts = sForInternedStringList.unparcel(in); Loading services/core/java/com/android/server/pm/permission/PermissionManagerServiceImpl.java +10 −27 Original line number Diff line number Diff line Loading @@ -1119,9 +1119,7 @@ public class PermissionManagerServiceImpl implements PermissionManagerServiceInt ArrayList<String> allowlistedPermissions = null; final int permissionCount = ArrayUtils.size(pkg.getRequestedPermissions()); for (int i = 0; i < permissionCount; i++) { final String permissionName = pkg.getRequestedPermissions().get(i); for (final String permissionName : pkg.getRequestedPermissions()) { final int currentFlags = uidState.getPermissionFlags(permissionName); if ((currentFlags & queryFlags) != 0) { Loading Loading @@ -1748,10 +1746,7 @@ public class PermissionManagerServiceImpl implements PermissionManagerServiceInt | FLAG_PERMISSION_POLICY_FIXED; final String packageName = pkg.getPackageName(); final int permissionCount = ArrayUtils.size(pkg.getRequestedPermissions()); for (int i = 0; i < permissionCount; i++) { final String permName = pkg.getRequestedPermissions().get(i); for (final String permName : pkg.getRequestedPermissions()) { final boolean isRuntimePermission; synchronized (mLock) { final Permission permission = mRegistry.getPermission(permName); Loading Loading @@ -2047,11 +2042,9 @@ public class PermissionManagerServiceImpl implements PermissionManagerServiceInt final int callingUid = Binder.getCallingUid(); for (int userId: getAllUserIds()) { int numRequestedPermissions = newPackage.getRequestedPermissions().size(); for (int i = 0; i < numRequestedPermissions; i++) { PermissionInfo permInfo = getPermissionInfo( newPackage.getRequestedPermissions().get(i), 0, newPackage.getPackageName()); for (final String permName : newPackage.getRequestedPermissions()) { PermissionInfo permInfo = getPermissionInfo(permName, 0, newPackage.getPackageName()); if (permInfo == null) { continue; } Loading Loading @@ -2383,10 +2376,8 @@ public class PermissionManagerServiceImpl implements PermissionManagerServiceInt if (DEBUG_REMOVE) Log.d(TAG, " Permissions: " + r); } n = pkg.getRequestedPermissions().size(); r = null; for (int i = 0; i < n; i++) { final String permissionName = pkg.getRequestedPermissions().get(i); for (final String permissionName : pkg.getRequestedPermissions()) { final Permission permission = mRegistry.getPermission(permissionName); if (permission != null && permission.isAppOp()) { mRegistry.removeAppOpPermissionPackage(permissionName, Loading Loading @@ -2504,11 +2495,8 @@ public class PermissionManagerServiceImpl implements PermissionManagerServiceInt ArraySet<String> shouldGrantSignaturePermission = null; ArraySet<String> shouldGrantInternalPermission = null; ArraySet<String> shouldGrantPrivilegedPermissionIfWasGranted = new ArraySet<>(); final List<String> requestedPermissions = pkg.getRequestedPermissions(); final int requestedPermissionsSize = requestedPermissions.size(); for (int i = 0; i < requestedPermissionsSize; i++) { final String permissionName = pkg.getRequestedPermissions().get(i); final Set<String> requestedPermissions = pkg.getRequestedPermissions(); for (final String permissionName : pkg.getRequestedPermissions()) { final Permission permission; synchronized (mLock) { permission = mRegistry.getPermission(permissionName); Loading Loading @@ -2639,9 +2627,7 @@ public class PermissionManagerServiceImpl implements PermissionManagerServiceInt ArraySet<String> newImplicitPermissions = new ArraySet<>(); final String friendlyName = pkg.getPackageName() + "(" + pkg.getUid() + ")"; for (int i = 0; i < requestedPermissionsSize; i++) { final String permName = requestedPermissions.get(i); for (final String permName : requestedPermissions) { final Permission bp = mRegistry.getPermission(permName); final boolean appSupportsRuntimePermissions = pkg.getTargetSdkVersion() >= Build.VERSION_CODES.M; Loading Loading @@ -3635,12 +3621,9 @@ public class PermissionManagerServiceImpl implements PermissionManagerServiceInt @UserIdInt int userId) { ArraySet<String> oldGrantedRestrictedPermissions = null; boolean updatePermissions = false; final int permissionCount = pkg.getRequestedPermissions().size(); final int myUid = Process.myUid(); for (int j = 0; j < permissionCount; j++) { final String permissionName = pkg.getRequestedPermissions().get(j); for (final String permissionName : pkg.getRequestedPermissions()) { final boolean isGranted; synchronized (mLock) { final Permission bp = mRegistry.getPermission(permissionName); Loading services/core/java/com/android/server/pm/pkg/AndroidPackage.java +2 −2 Original line number Diff line number Diff line Loading @@ -775,7 +775,7 @@ public interface AndroidPackage { * @hide */ @NonNull List<String> getImplicitPermissions(); Set<String> getImplicitPermissions(); /** * @see ApplicationInfo#installLocation Loading Loading @@ -1123,7 +1123,7 @@ public interface AndroidPackage { * @hide */ @NonNull List<String> getRequestedPermissions(); Set<String> getRequestedPermissions(); /** * Whether or not the app requested explicitly resizeable Activities. Null value means nothing Loading Loading
services/core/java/com/android/server/pm/InstallPackageHelper.java +4 −5 Original line number Diff line number Diff line Loading @@ -692,7 +692,7 @@ final class InstallPackageHelper { if ((installFlags & PackageManager.INSTALL_ALL_WHITELIST_RESTRICTED_PERMISSIONS) != 0) { permissionParamsBuilder.setAllowlistedRestrictedPermissions( pkgSetting.getPkg().getRequestedPermissions()); new ArrayList<>(pkgSetting.getPkg().getRequestedPermissions())); } mPm.mPermissionManager.onPackageInstalled(pkgSetting.getPkg(), Process.INVALID_UID /* previousAppId */, Loading Loading @@ -2314,9 +2314,7 @@ final class InstallPackageHelper { & PackageManager.INSTALL_GRANT_ALL_REQUESTED_PERMISSIONS) != 0; if (grantRequestedPermissions) { var permissionStates = new ArrayMap<String, Integer>(); var requestedPermissions = pkg.getRequestedPermissions(); for (int index = 0; index < requestedPermissions.size(); index++) { var permissionName = requestedPermissions.get(index); for (var permissionName : pkg.getRequestedPermissions()) { permissionStates.put(permissionName, PackageInstaller.SessionParams.PERMISSION_STATE_GRANTED); } Loading @@ -2332,7 +2330,8 @@ final class InstallPackageHelper { (installRequest.getInstallFlags() & PackageManager.INSTALL_ALL_WHITELIST_RESTRICTED_PERMISSIONS) != 0; final List<String> allowlistedRestrictedPermissions = allowlistAllRestrictedPermissions ? pkg.getRequestedPermissions() allowlistAllRestrictedPermissions ? new ArrayList<>(pkg.getRequestedPermissions()) : installRequest.getAllowlistedRestrictedPermissions(); if (allowlistedRestrictedPermissions != null) { permissionParamsBuilder.setAllowlistedRestrictedPermissions( Loading
services/core/java/com/android/server/pm/Settings.java +2 −3 Original line number Diff line number Diff line Loading @@ -5021,10 +5021,9 @@ public final class Settings implements Watchable, Snappable, ResilientAtomicFile if ((permissionNames != null || dumpAll) && pkg != null && pkg.getRequestedPermissions() != null && pkg.getRequestedPermissions().size() > 0) { final List<String> perms = pkg.getRequestedPermissions(); final Set<String> perms = pkg.getRequestedPermissions(); pw.print(prefix); pw.println(" requested permissions:"); for (int i=0; i<perms.size(); i++) { String perm = perms.get(i); for (String perm : perms) { if (permissionNames != null && !permissionNames.contains(perm)) { continue; Loading
services/core/java/com/android/server/pm/parsing/pkg/PackageImpl.java +12 −12 Original line number Diff line number Diff line Loading @@ -160,8 +160,8 @@ public class PackageImpl implements ParsedPackage, AndroidPackageInternal, */ @NonNull @Deprecated @DataClass.ParcelWith(Parcelling.BuiltIn.ForInternedStringList.class) protected List<String> requestedPermissions = emptyList(); @DataClass.ParcelWith(Parcelling.BuiltIn.ForInternedStringSet.class) protected Set<String> requestedPermissions = emptySet(); @NonNull @DataClass.ParcelWith(Parcelling.BuiltIn.ForInternedStringList.class) protected List<String> protectedBroadcasts = emptyList(); Loading Loading @@ -277,8 +277,8 @@ public class PackageImpl implements ParsedPackage, AndroidPackageInternal, @NonNull private List<ParsedUsesPermission> usesPermissions = emptyList(); @NonNull @DataClass.ParcelWith(Parcelling.BuiltIn.ForInternedStringList.class) private List<String> implicitPermissions = emptyList(); @DataClass.ParcelWith(Parcelling.BuiltIn.ForInternedStringSet.class) private Set<String> implicitPermissions = emptySet(); @NonNull private Set<String> upgradeKeySets = emptySet(); @NonNull Loading Loading @@ -967,7 +967,7 @@ public class PackageImpl implements ParsedPackage, AndroidPackageInternal, @NonNull @Override public List<String> getImplicitPermissions() { public Set<String> getImplicitPermissions() { return implicitPermissions; } Loading Loading @@ -1225,7 +1225,7 @@ public class PackageImpl implements ParsedPackage, AndroidPackageInternal, @NonNull @Override @Deprecated public List<String> getRequestedPermissions() { public Set<String> getRequestedPermissions() { return requestedPermissions; } Loading Loading @@ -2729,7 +2729,7 @@ public class PackageImpl implements ParsedPackage, AndroidPackageInternal, usesOptionalNativeLibraries = Collections.unmodifiableList(usesOptionalNativeLibraries); originalPackages = Collections.unmodifiableList(originalPackages); adoptPermissions = Collections.unmodifiableList(adoptPermissions); requestedPermissions = Collections.unmodifiableList(requestedPermissions); requestedPermissions = Collections.unmodifiableSet(requestedPermissions); protectedBroadcasts = Collections.unmodifiableList(protectedBroadcasts); apexSystemServices = Collections.unmodifiableList(apexSystemServices); Loading @@ -2750,7 +2750,7 @@ public class PackageImpl implements ParsedPackage, AndroidPackageInternal, featureGroups = Collections.unmodifiableList(featureGroups); usesPermissions = Collections.unmodifiableList(usesPermissions); usesSdkLibraries = Collections.unmodifiableList(usesSdkLibraries); implicitPermissions = Collections.unmodifiableList(implicitPermissions); implicitPermissions = Collections.unmodifiableSet(implicitPermissions); upgradeKeySets = Collections.unmodifiableSet(upgradeKeySets); keySetMapping = Collections.unmodifiableMap(keySetMapping); attributions = Collections.unmodifiableList(attributions); Loading Loading @@ -3121,9 +3121,9 @@ public class PackageImpl implements ParsedPackage, AndroidPackageInternal, dest.writeByteArray(this.restrictUpdateHash); dest.writeStringList(this.originalPackages); sForInternedStringList.parcel(this.adoptPermissions, dest, flags); sForInternedStringList.parcel(this.requestedPermissions, dest, flags); sForInternedStringSet.parcel(this.requestedPermissions, dest, flags); ParsingUtils.writeParcelableList(dest, this.usesPermissions); sForInternedStringList.parcel(this.implicitPermissions, dest, flags); sForInternedStringSet.parcel(this.implicitPermissions, dest, flags); sForStringSet.parcel(this.upgradeKeySets, dest, flags); ParsingPackageUtils.writeKeySetMapping(dest, this.keySetMapping); sForInternedStringList.parcel(this.protectedBroadcasts, dest, flags); Loading Loading @@ -3273,10 +3273,10 @@ public class PackageImpl implements ParsedPackage, AndroidPackageInternal, this.restrictUpdateHash = in.createByteArray(); this.originalPackages = in.createStringArrayList(); this.adoptPermissions = sForInternedStringList.unparcel(in); this.requestedPermissions = sForInternedStringList.unparcel(in); this.requestedPermissions = sForInternedStringSet.unparcel(in); this.usesPermissions = ParsingUtils.createTypedInterfaceList(in, ParsedUsesPermissionImpl.CREATOR); this.implicitPermissions = sForInternedStringList.unparcel(in); this.implicitPermissions = sForInternedStringSet.unparcel(in); this.upgradeKeySets = sForStringSet.unparcel(in); this.keySetMapping = ParsingPackageUtils.readKeySetMapping(in); this.protectedBroadcasts = sForInternedStringList.unparcel(in); Loading
services/core/java/com/android/server/pm/permission/PermissionManagerServiceImpl.java +10 −27 Original line number Diff line number Diff line Loading @@ -1119,9 +1119,7 @@ public class PermissionManagerServiceImpl implements PermissionManagerServiceInt ArrayList<String> allowlistedPermissions = null; final int permissionCount = ArrayUtils.size(pkg.getRequestedPermissions()); for (int i = 0; i < permissionCount; i++) { final String permissionName = pkg.getRequestedPermissions().get(i); for (final String permissionName : pkg.getRequestedPermissions()) { final int currentFlags = uidState.getPermissionFlags(permissionName); if ((currentFlags & queryFlags) != 0) { Loading Loading @@ -1748,10 +1746,7 @@ public class PermissionManagerServiceImpl implements PermissionManagerServiceInt | FLAG_PERMISSION_POLICY_FIXED; final String packageName = pkg.getPackageName(); final int permissionCount = ArrayUtils.size(pkg.getRequestedPermissions()); for (int i = 0; i < permissionCount; i++) { final String permName = pkg.getRequestedPermissions().get(i); for (final String permName : pkg.getRequestedPermissions()) { final boolean isRuntimePermission; synchronized (mLock) { final Permission permission = mRegistry.getPermission(permName); Loading Loading @@ -2047,11 +2042,9 @@ public class PermissionManagerServiceImpl implements PermissionManagerServiceInt final int callingUid = Binder.getCallingUid(); for (int userId: getAllUserIds()) { int numRequestedPermissions = newPackage.getRequestedPermissions().size(); for (int i = 0; i < numRequestedPermissions; i++) { PermissionInfo permInfo = getPermissionInfo( newPackage.getRequestedPermissions().get(i), 0, newPackage.getPackageName()); for (final String permName : newPackage.getRequestedPermissions()) { PermissionInfo permInfo = getPermissionInfo(permName, 0, newPackage.getPackageName()); if (permInfo == null) { continue; } Loading Loading @@ -2383,10 +2376,8 @@ public class PermissionManagerServiceImpl implements PermissionManagerServiceInt if (DEBUG_REMOVE) Log.d(TAG, " Permissions: " + r); } n = pkg.getRequestedPermissions().size(); r = null; for (int i = 0; i < n; i++) { final String permissionName = pkg.getRequestedPermissions().get(i); for (final String permissionName : pkg.getRequestedPermissions()) { final Permission permission = mRegistry.getPermission(permissionName); if (permission != null && permission.isAppOp()) { mRegistry.removeAppOpPermissionPackage(permissionName, Loading Loading @@ -2504,11 +2495,8 @@ public class PermissionManagerServiceImpl implements PermissionManagerServiceInt ArraySet<String> shouldGrantSignaturePermission = null; ArraySet<String> shouldGrantInternalPermission = null; ArraySet<String> shouldGrantPrivilegedPermissionIfWasGranted = new ArraySet<>(); final List<String> requestedPermissions = pkg.getRequestedPermissions(); final int requestedPermissionsSize = requestedPermissions.size(); for (int i = 0; i < requestedPermissionsSize; i++) { final String permissionName = pkg.getRequestedPermissions().get(i); final Set<String> requestedPermissions = pkg.getRequestedPermissions(); for (final String permissionName : pkg.getRequestedPermissions()) { final Permission permission; synchronized (mLock) { permission = mRegistry.getPermission(permissionName); Loading Loading @@ -2639,9 +2627,7 @@ public class PermissionManagerServiceImpl implements PermissionManagerServiceInt ArraySet<String> newImplicitPermissions = new ArraySet<>(); final String friendlyName = pkg.getPackageName() + "(" + pkg.getUid() + ")"; for (int i = 0; i < requestedPermissionsSize; i++) { final String permName = requestedPermissions.get(i); for (final String permName : requestedPermissions) { final Permission bp = mRegistry.getPermission(permName); final boolean appSupportsRuntimePermissions = pkg.getTargetSdkVersion() >= Build.VERSION_CODES.M; Loading Loading @@ -3635,12 +3621,9 @@ public class PermissionManagerServiceImpl implements PermissionManagerServiceInt @UserIdInt int userId) { ArraySet<String> oldGrantedRestrictedPermissions = null; boolean updatePermissions = false; final int permissionCount = pkg.getRequestedPermissions().size(); final int myUid = Process.myUid(); for (int j = 0; j < permissionCount; j++) { final String permissionName = pkg.getRequestedPermissions().get(j); for (final String permissionName : pkg.getRequestedPermissions()) { final boolean isGranted; synchronized (mLock) { final Permission bp = mRegistry.getPermission(permissionName); Loading
services/core/java/com/android/server/pm/pkg/AndroidPackage.java +2 −2 Original line number Diff line number Diff line Loading @@ -775,7 +775,7 @@ public interface AndroidPackage { * @hide */ @NonNull List<String> getImplicitPermissions(); Set<String> getImplicitPermissions(); /** * @see ApplicationInfo#installLocation Loading Loading @@ -1123,7 +1123,7 @@ public interface AndroidPackage { * @hide */ @NonNull List<String> getRequestedPermissions(); Set<String> getRequestedPermissions(); /** * Whether or not the app requested explicitly resizeable Activities. Null value means nothing Loading