Fix the timeframe when the Android gestures properties are retrieved.

Previous logic was retrieving them prior to them being defined in `main.cpp`
This commit is contained in:
Fredia Huya-Kouadio 2023-10-11 15:41:19 -07:00
parent 9957f1ad4e
commit c1a7222c97
1 changed files with 15 additions and 3 deletions

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()
}