Merge pull request #83173 from m4gr3d/fix_gestures_properties_retrieval_timing

Fix the timeframe when the Android gestures properties are retrieved
This commit is contained in:
Rémi Verschelde 2023-10-16 10:40:12 +02:00
commit 39bc8aafa1
No known key found for this signature in database
GPG key ID: C3336907360768E1

View file

@ -389,9 +389,6 @@ class Godot(private val context: Context) : SensorEventListener {
GodotGLRenderView(host, this, xrMode, useDebugOpengl)
}
renderView?.inputHandler?.enableLongPress(java.lang.Boolean.parseBoolean(GodotLib.getGlobal("input_devices/pointing/android/enable_long_press_as_right_click")))
renderView?.inputHandler?.enablePanningAndScalingGestures(java.lang.Boolean.parseBoolean(GodotLib.getGlobal("input_devices/pointing/android/enable_pan_and_scale_gestures")))
if (host == primaryHost) {
renderView!!.startRenderer()
}
@ -575,6 +572,19 @@ class Godot(private val context: Context) : SensorEventListener {
* Invoked on the render thread when the Godot setup is complete.
*/
private fun onGodotSetupCompleted() {
Log.d(TAG, "OnGodotSetupCompleted")
// These properties are defined after Godot setup completion, so we retrieve them here.
val longPressEnabled = java.lang.Boolean.parseBoolean(GodotLib.getGlobal("input_devices/pointing/android/enable_long_press_as_right_click"))
val panScaleEnabled = java.lang.Boolean.parseBoolean(GodotLib.getGlobal("input_devices/pointing/android/enable_pan_and_scale_gestures"))
runOnUiThread {
renderView?.inputHandler?.apply {
enableLongPress(longPressEnabled)
enablePanningAndScalingGestures(panScaleEnabled)
}
}
for (plugin in pluginRegistry.allPlugins) {
plugin.onGodotSetupCompleted()
}
@ -585,6 +595,8 @@ class Godot(private val context: Context) : SensorEventListener {
* Invoked on the render thread when the Godot main loop has started.
*/
private fun onGodotMainLoopStarted() {
Log.d(TAG, "OnGodotMainLoopStarted")
for (plugin in pluginRegistry.allPlugins) {
plugin.onGodotMainLoopStarted()
}