android: Fix UnsupportedOperationException remove from non-ArrayList

This commit is contained in:
Lyuma 2024-03-19 23:35:17 -07:00
parent fe01776f05
commit 3262363664

View file

@ -293,15 +293,15 @@ public final class PermissionsUtil {
/** /**
* Returns the permissions defined in the AndroidManifest.xml file. * Returns the permissions defined in the AndroidManifest.xml file.
* @param context the caller context for this method. * @param context the caller context for this method.
* @return manifest permissions list * @return mutable copy of manifest permissions list
* @throws PackageManager.NameNotFoundException the exception is thrown when a given package, application, or component name cannot be found. * @throws PackageManager.NameNotFoundException the exception is thrown when a given package, application, or component name cannot be found.
*/ */
public static List<String> getManifestPermissions(Context context) throws PackageManager.NameNotFoundException { public static ArrayList<String> getManifestPermissions(Context context) throws PackageManager.NameNotFoundException {
PackageManager packageManager = context.getPackageManager(); PackageManager packageManager = context.getPackageManager();
PackageInfo packageInfo = packageManager.getPackageInfo(context.getPackageName(), PackageManager.GET_PERMISSIONS); PackageInfo packageInfo = packageManager.getPackageInfo(context.getPackageName(), PackageManager.GET_PERMISSIONS);
if (packageInfo.requestedPermissions == null) if (packageInfo.requestedPermissions == null)
return Collections.emptyList(); return new ArrayList<String>();
return Arrays.asList(packageInfo.requestedPermissions); return new ArrayList<>(Arrays.asList(packageInfo.requestedPermissions));
} }
/** /**