summaryrefslogtreecommitdiffstats
path: root/platform/android/java
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2024-09-12 09:17:51 +0200
committerRémi Verschelde <rverschelde@gmail.com>2024-09-12 09:17:51 +0200
commitf33a81977bf09f81f6301a7e1ccc5717f60f56e1 (patch)
tree1eb7b0b7bd2a2f05fda760ee0c587132f586e96d /platform/android/java
parent33dd10511946a8d760ddec9fd7fecbb9c528518a (diff)
parent3ff95ef12a954c622be57b556a74e9d6ae84ae40 (diff)
downloadredot-engine-f33a81977bf09f81f6301a7e1ccc5717f60f56e1.tar.gz
Merge pull request #96742 from m4gr3d/check_openxr_automatic_permissions_request
[Android editor] Limit when OpenXR runtime permissions are requested
Diffstat (limited to 'platform/android/java')
-rw-r--r--platform/android/java/editor/src/meta/java/org/godotengine/editor/GodotEditor.kt6
-rw-r--r--platform/android/java/editor/src/meta/java/org/godotengine/editor/GodotXRGame.kt13
2 files changed, 12 insertions, 7 deletions
diff --git a/platform/android/java/editor/src/meta/java/org/godotengine/editor/GodotEditor.kt b/platform/android/java/editor/src/meta/java/org/godotengine/editor/GodotEditor.kt
index 9f0440e87d..328ff9a3bd 100644
--- a/platform/android/java/editor/src/meta/java/org/godotengine/editor/GodotEditor.kt
+++ b/platform/android/java/editor/src/meta/java/org/godotengine/editor/GodotEditor.kt
@@ -45,15 +45,13 @@ open class GodotEditor : BaseGodotEditor() {
internal val XR_RUN_GAME_INFO = EditorWindowInfo(GodotXRGame::class.java, 1667, ":GodotXRGame")
- internal const val USE_ANCHOR_API_PERMISSION = "com.oculus.permission.USE_ANCHOR_API"
internal const val USE_SCENE_PERMISSION = "com.oculus.permission.USE_SCENE"
}
override fun getExcludedPermissions(): MutableSet<String> {
val excludedPermissions = super.getExcludedPermissions()
- // The USE_ANCHOR_API and USE_SCENE permissions are requested when the "xr/openxr/enabled"
- // project setting is enabled.
- excludedPermissions.add(USE_ANCHOR_API_PERMISSION)
+ // The USE_SCENE permission is requested when the "xr/openxr/enabled" project setting
+ // is enabled.
excludedPermissions.add(USE_SCENE_PERMISSION)
return excludedPermissions
}
diff --git a/platform/android/java/editor/src/meta/java/org/godotengine/editor/GodotXRGame.kt b/platform/android/java/editor/src/meta/java/org/godotengine/editor/GodotXRGame.kt
index d71fbb53f2..5db2879aad 100644
--- a/platform/android/java/editor/src/meta/java/org/godotengine/editor/GodotXRGame.kt
+++ b/platform/android/java/editor/src/meta/java/org/godotengine/editor/GodotXRGame.kt
@@ -31,7 +31,6 @@
package org.godotengine.editor
import org.godotengine.godot.GodotLib
-import org.godotengine.godot.utils.PermissionsUtil
import org.godotengine.godot.xr.XRMode
/**
@@ -62,8 +61,16 @@ open class GodotXRGame: GodotGame() {
val openxrEnabled = GodotLib.getGlobal("xr/openxr/enabled").toBoolean()
if (openxrEnabled) {
- permissionsToEnable.add(USE_ANCHOR_API_PERMISSION)
- permissionsToEnable.add(USE_SCENE_PERMISSION)
+ // We only request permissions when the `automatically_request_runtime_permissions`
+ // project setting is enabled.
+ // If the project setting is not defined, we fall-back to the default behavior which is
+ // to automatically request permissions.
+ val automaticallyRequestPermissionsSetting = GodotLib.getGlobal("xr/openxr/extensions/automatically_request_runtime_permissions")
+ val automaticPermissionsRequestEnabled = automaticallyRequestPermissionsSetting.isNullOrEmpty() ||
+ automaticallyRequestPermissionsSetting.toBoolean()
+ if (automaticPermissionsRequestEnabled) {
+ permissionsToEnable.add(USE_SCENE_PERMISSION)
+ }
}
return permissionsToEnable