You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-16 14:00:40 +00:00
Fix Android app permissions for SDK levels earlier than 28
This commit is contained in:
@@ -108,7 +108,7 @@ public final class PermissionsUtil {
|
|||||||
} else {
|
} else {
|
||||||
PermissionInfo permissionInfo = getPermissionInfo(activity, permission);
|
PermissionInfo permissionInfo = getPermissionInfo(activity, permission);
|
||||||
int protectionLevel = Build.VERSION.SDK_INT >= Build.VERSION_CODES.P ? permissionInfo.getProtection() : permissionInfo.protectionLevel;
|
int protectionLevel = Build.VERSION.SDK_INT >= Build.VERSION_CODES.P ? permissionInfo.getProtection() : permissionInfo.protectionLevel;
|
||||||
if (protectionLevel == PermissionInfo.PROTECTION_DANGEROUS && ContextCompat.checkSelfPermission(activity, permission) != PackageManager.PERMISSION_GRANTED) {
|
if ((protectionLevel & PermissionInfo.PROTECTION_DANGEROUS) == PermissionInfo.PROTECTION_DANGEROUS && ContextCompat.checkSelfPermission(activity, permission) != PackageManager.PERMISSION_GRANTED) {
|
||||||
Log.d(TAG, "Requesting permission " + permission);
|
Log.d(TAG, "Requesting permission " + permission);
|
||||||
requestedPermissions.add(permission);
|
requestedPermissions.add(permission);
|
||||||
}
|
}
|
||||||
@@ -174,7 +174,7 @@ public final class PermissionsUtil {
|
|||||||
try {
|
try {
|
||||||
PermissionInfo permissionInfo = getPermissionInfo(activity, permissionName);
|
PermissionInfo permissionInfo = getPermissionInfo(activity, permissionName);
|
||||||
int protectionLevel = Build.VERSION.SDK_INT >= Build.VERSION_CODES.P ? permissionInfo.getProtection() : permissionInfo.protectionLevel;
|
int protectionLevel = Build.VERSION.SDK_INT >= Build.VERSION_CODES.P ? permissionInfo.getProtection() : permissionInfo.protectionLevel;
|
||||||
if (protectionLevel == PermissionInfo.PROTECTION_DANGEROUS && ContextCompat.checkSelfPermission(activity, permissionName) != PackageManager.PERMISSION_GRANTED) {
|
if ((protectionLevel & PermissionInfo.PROTECTION_DANGEROUS) == PermissionInfo.PROTECTION_DANGEROUS && ContextCompat.checkSelfPermission(activity, permissionName) != PackageManager.PERMISSION_GRANTED) {
|
||||||
activity.requestPermissions(new String[] { permissionName }, REQUEST_SINGLE_PERMISSION_REQ_CODE);
|
activity.requestPermissions(new String[] { permissionName }, REQUEST_SINGLE_PERMISSION_REQ_CODE);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
@@ -259,7 +259,7 @@ public final class PermissionsUtil {
|
|||||||
} else {
|
} else {
|
||||||
PermissionInfo permissionInfo = getPermissionInfo(context, manifestPermission);
|
PermissionInfo permissionInfo = getPermissionInfo(context, manifestPermission);
|
||||||
int protectionLevel = Build.VERSION.SDK_INT >= Build.VERSION_CODES.P ? permissionInfo.getProtection() : permissionInfo.protectionLevel;
|
int protectionLevel = Build.VERSION.SDK_INT >= Build.VERSION_CODES.P ? permissionInfo.getProtection() : permissionInfo.protectionLevel;
|
||||||
if (protectionLevel == PermissionInfo.PROTECTION_DANGEROUS && ContextCompat.checkSelfPermission(context, manifestPermission) == PackageManager.PERMISSION_GRANTED) {
|
if ((protectionLevel & PermissionInfo.PROTECTION_DANGEROUS) == PermissionInfo.PROTECTION_DANGEROUS && ContextCompat.checkSelfPermission(context, manifestPermission) == PackageManager.PERMISSION_GRANTED) {
|
||||||
grantedPermissions.add(manifestPermission);
|
grantedPermissions.add(manifestPermission);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user