Play store crash investigations

- Adding guards to investigate a potential source for https://github.com/godotengine/godot/issues/114800
- Adding logging statements to investigate https://github.com/godotengine/godot/issues/120638

(cherry picked from commit 60330f67eecab1d68a6f6f4a8deb119ec816f3b8)
This commit is contained in:
Fredia Huya-Kouadio authored and Thaddeus Crews committed 2026-07-30 11:26:21 -05:00
1 parent 93cad56c32
commit 2d2d93443f
3 files changed
+9 -1

No files matched your search

@@ -230,6 +230,7 @@ void DisplayServerAndroid::emit_input_dialog_callback(String p_text) {
}
Error DisplayServerAndroid::file_dialog_show(const String &p_title, const String &p_current_directory, const String &p_filename, bool p_show_hidden, DisplayServerEnums::FileDialogMode p_mode, const Vector<String> &p_filters, const Callable &p_callback, DisplayServerEnums::WindowID p_window_id) {
ERR_FAIL_COND_V(p_window_id != DisplayServerEnums::MAIN_WINDOW_ID, ERR_UNAVAILABLE);
GodotJavaWrapper *godot_java = OS_Android::get_singleton()->get_godot_java();
ERR_FAIL_NULL_V(godot_java, FAILED);
file_picker_callback = p_callback;
@@ -429,18 +430,22 @@ bool DisplayServerAndroid::has_hardware_keyboard() const {
}
void DisplayServerAndroid::window_set_window_event_callback(const Callable &p_callable, DisplayServerEnums::WindowID p_window) {
ERR_FAIL_COND(p_window != DisplayServerEnums::MAIN_WINDOW_ID);
window_event_callback = p_callable;
}
void DisplayServerAndroid::window_set_input_event_callback(const Callable &p_callable, DisplayServerEnums::WindowID p_window) {
ERR_FAIL_COND(p_window != DisplayServerEnums::MAIN_WINDOW_ID);
input_event_callback = p_callable;
}
void DisplayServerAndroid::window_set_input_text_callback(const Callable &p_callable, DisplayServerEnums::WindowID p_window) {
ERR_FAIL_COND(p_window != DisplayServerEnums::MAIN_WINDOW_ID);
input_text_callback = p_callable;
}
void DisplayServerAndroid::window_set_rect_changed_callback(const Callable &p_callable, DisplayServerEnums::WindowID p_window) {
ERR_FAIL_COND(p_window != DisplayServerEnums::MAIN_WINDOW_ID);
rect_changed_callback = p_callable;
}
@@ -523,10 +528,12 @@ int64_t DisplayServerAndroid::window_get_native_handle(DisplayServerEnums::Handl
}
void DisplayServerAndroid::window_attach_instance_id(ObjectID p_instance, DisplayServerEnums::WindowID p_window) {
ERR_FAIL_COND(p_window != DisplayServerEnums::MAIN_WINDOW_ID);
window_attached_instance_id = p_instance;
}
ObjectID DisplayServerAndroid::window_get_attached_instance_id(DisplayServerEnums::WindowID p_window) const {
ERR_FAIL_COND_V(p_window != DisplayServerEnums::MAIN_WINDOW_ID, ObjectID());
return window_attached_instance_id;
}
@@ -1025,6 +1025,7 @@ class Godot private constructor(val context: Context) {
fun onBackPressed() {
for (plugin in pluginRegistry.allPlugins) {
Log.v(TAG, "Invoking onMainBackPressed for plugin ${plugin.pluginName}")
plugin.onMainBackPressed()
}
runOnRenderThread { GodotLib.back() }
@@ -234,7 +234,7 @@ internal class VkThread(private val vkSurfaceView: VkSurfaceView, private val vk
// Run queued event.
if (event != null) {
event?.run()
event.run()
continue
}