[Android] Implement native input dialog support

This commit is contained in:
Anish Mishra 2024-10-27 16:29:55 +05:30
parent 08f9cba0fb
commit be5d7f757d
11 changed files with 87 additions and 3 deletions

View file

@ -71,7 +71,7 @@ bool DisplayServerAndroid::has_feature(Feature p_feature) const {
case FEATURE_MOUSE:
//case FEATURE_MOUSE_WARP:
//case FEATURE_NATIVE_DIALOG:
//case FEATURE_NATIVE_DIALOG_INPUT:
case FEATURE_NATIVE_DIALOG_INPUT:
//case FEATURE_NATIVE_DIALOG_FILE:
//case FEATURE_NATIVE_ICON:
//case FEATURE_WINDOW_TRANSPARENCY:
@ -176,6 +176,19 @@ bool DisplayServerAndroid::clipboard_has() const {
}
}
Error DisplayServerAndroid::dialog_input_text(String p_title, String p_description, String p_partial, const Callable &p_callback) {
GodotJavaWrapper *godot_java = OS_Android::get_singleton()->get_godot_java();
ERR_FAIL_NULL_V(godot_java, FAILED);
input_dialog_callback = p_callback;
return godot_java->show_input_dialog(p_title, p_description, p_partial);
}
void DisplayServerAndroid::emit_input_dialog_callback(String p_text) {
if (input_dialog_callback.is_valid()) {
input_dialog_callback.call_deferred(p_text);
}
}
TypedArray<Rect2> DisplayServerAndroid::get_display_cutouts() const {
GodotIOJavaWrapper *godot_io_java = OS_Android::get_singleton()->get_godot_io_java();
ERR_FAIL_NULL_V(godot_io_java, Array());