From ca19a3fe9ae82a0ac40b8f2ce47af952d0d9cdf5 Mon Sep 17 00:00:00 2001 From: Fabio Alessandrelli Date: Tue, 17 Dec 2019 14:22:15 +0100 Subject: Fix crash on Android with no manifest permissions. API allows for null array of permissions. It is now normalized with an empty array. --- .../java/lib/src/org/godotengine/godot/utils/PermissionsUtil.java | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'platform/android/java/lib/src') diff --git a/platform/android/java/lib/src/org/godotengine/godot/utils/PermissionsUtil.java b/platform/android/java/lib/src/org/godotengine/godot/utils/PermissionsUtil.java index 7e35417c6a..e340135f69 100644 --- a/platform/android/java/lib/src/org/godotengine/godot/utils/PermissionsUtil.java +++ b/platform/android/java/lib/src/org/godotengine/godot/utils/PermissionsUtil.java @@ -101,7 +101,7 @@ public final class PermissionsUtil { return false; } - if (manifestPermissions == null || manifestPermissions.length == 0) + if (manifestPermissions.length == 0) return true; List dangerousPermissions = new ArrayList<>(); @@ -141,8 +141,8 @@ public final class PermissionsUtil { e.printStackTrace(); return new String[0]; } - if (manifestPermissions == null || manifestPermissions.length == 0) - return new String[0]; + if (manifestPermissions.length == 0) + return manifestPermissions; List dangerousPermissions = new ArrayList<>(); for (String manifestPermission : manifestPermissions) { @@ -188,6 +188,8 @@ public final class PermissionsUtil { private static String[] getManifestPermissions(Godot activity) throws PackageManager.NameNotFoundException { PackageManager packageManager = activity.getPackageManager(); PackageInfo packageInfo = packageManager.getPackageInfo(activity.getPackageName(), PackageManager.GET_PERMISSIONS); + if (packageInfo.requestedPermissions == null) + return new String[0]; return packageInfo.requestedPermissions; } -- cgit v1.2.3