From f2ba50beae5381a978e580d4a9f34d36edddca2b Mon Sep 17 00:00:00 2001 From: pelya Date: Fri, 31 Mar 2017 23:24:39 +0300 Subject: [PATCH] Revert "Async Android text input" This reverts commit 3ed747e0ab6444b93668e85491abc8f03ea39cee. --- src/misc_gui.cpp | 23 ++++++++--------------- 1 file changed, 8 insertions(+), 15 deletions(-) diff --git a/src/misc_gui.cpp b/src/misc_gui.cpp index d01828d8c3..e49fdd2967 100644 --- a/src/misc_gui.cpp +++ b/src/misc_gui.cpp @@ -46,8 +46,6 @@ enum OskActivation { OSKA_IMMEDIATELY, ///< Focusing click already opens OSK. }; -static char _android_text_input[512]; - static const NWidgetPart _nested_land_info_widgets[] = { NWidget(NWID_HORIZONTAL), @@ -774,14 +772,6 @@ void QueryString::HandleEditBox(Window *w, int wid) /* For the OSK also invalidate the parent window */ if (w->window_class == WC_OSK) w->InvalidateData(); } -#ifdef __ANDROID__ - if (SDL_IsScreenKeyboardShown(NULL)) { - if (SDL_ANDROID_GetScreenKeyboardTextInputAsync(_android_text_input, sizeof(_android_text_input)) == SDL_ANDROID_TEXTINPUT_ASYNC_FINISHED) { - this->text.Assign(_android_text_input); - w->OnEditboxChanged(wid); - } - } -#endif } void QueryString::DrawEditBox(const Window *w, int wid) const @@ -963,12 +953,15 @@ void QueryString::ClickEditBox(Window *w, Point pt, int wid, int click_count, bo ShowOnScreenKeyboard(w, wid); } #ifdef __ANDROID__ - strecpy(_android_text_input, this->text.buf, lastof(_android_text_input)); + char text[512]; + strecpy(text, this->text.buf, lastof(text)); this->text.DeleteAll(); - if (SDL_ANDROID_GetScreenKeyboardTextInputAsync(_android_text_input, sizeof(_android_text_input)) == SDL_ANDROID_TEXTINPUT_ASYNC_FINISHED) { - this->text.Assign(_android_text_input); - w->OnEditboxChanged(wid); - } + SDL_ANDROID_ToggleScreenKeyboardTextInput(text); // Invoke Android built-in screen keyboard, this will not block + /* + SDL_ANDROID_GetScreenKeyboardTextInput(text, sizeof(text) - 1); // Invoke Android built-in screen keyboard, this will block + this->text.Assign(text); + w->OnEditboxChanged(wid); + */ #endif }