Skip to content

Commit 14fc9a5

Browse files
authored
Merge pull request #98230 from and-rad/android_permissions
Fix Android app permissions for SDK levels earlier than 28
2 parents 4dd0b67 + 90c35f3 commit 14fc9a5

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

platform/android/java/lib/src/org/godotengine/godot/utils/PermissionsUtil.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ public static boolean requestPermissions(Activity activity, List<String> permiss
108108
} else {
109109
PermissionInfo permissionInfo = getPermissionInfo(activity, permission);
110110
int protectionLevel = Build.VERSION.SDK_INT >= Build.VERSION_CODES.P ? permissionInfo.getProtection() : permissionInfo.protectionLevel;
111-
if (protectionLevel == PermissionInfo.PROTECTION_DANGEROUS && ContextCompat.checkSelfPermission(activity, permission) != PackageManager.PERMISSION_GRANTED) {
111+
if ((protectionLevel & PermissionInfo.PROTECTION_DANGEROUS) == PermissionInfo.PROTECTION_DANGEROUS && ContextCompat.checkSelfPermission(activity, permission) != PackageManager.PERMISSION_GRANTED) {
112112
Log.d(TAG, "Requesting permission " + permission);
113113
requestedPermissions.add(permission);
114114
}
@@ -174,7 +174,7 @@ public static boolean requestPermission(String permissionName, Activity activity
174174
try {
175175
PermissionInfo permissionInfo = getPermissionInfo(activity, permissionName);
176176
int protectionLevel = Build.VERSION.SDK_INT >= Build.VERSION_CODES.P ? permissionInfo.getProtection() : permissionInfo.protectionLevel;
177-
if (protectionLevel == PermissionInfo.PROTECTION_DANGEROUS && ContextCompat.checkSelfPermission(activity, permissionName) != PackageManager.PERMISSION_GRANTED) {
177+
if ((protectionLevel & PermissionInfo.PROTECTION_DANGEROUS) == PermissionInfo.PROTECTION_DANGEROUS && ContextCompat.checkSelfPermission(activity, permissionName) != PackageManager.PERMISSION_GRANTED) {
178178
activity.requestPermissions(new String[] { permissionName }, REQUEST_SINGLE_PERMISSION_REQ_CODE);
179179
return false;
180180
}
@@ -259,7 +259,7 @@ public static String[] getGrantedPermissions(Context context) {
259259
} else {
260260
PermissionInfo permissionInfo = getPermissionInfo(context, manifestPermission);
261261
int protectionLevel = Build.VERSION.SDK_INT >= Build.VERSION_CODES.P ? permissionInfo.getProtection() : permissionInfo.protectionLevel;
262-
if (protectionLevel == PermissionInfo.PROTECTION_DANGEROUS && ContextCompat.checkSelfPermission(context, manifestPermission) == PackageManager.PERMISSION_GRANTED) {
262+
if ((protectionLevel & PermissionInfo.PROTECTION_DANGEROUS) == PermissionInfo.PROTECTION_DANGEROUS && ContextCompat.checkSelfPermission(context, manifestPermission) == PackageManager.PERMISSION_GRANTED) {
263263
grantedPermissions.add(manifestPermission);
264264
}
265265
}

0 commit comments

Comments
 (0)