diff --git a/src/android/jar/src/org/qtproject/qt/android/QtWindow.java b/src/android/jar/src/org/qtproject/qt/android/QtWindow.java index 88078a843df..5ceccb3bf5e 100644 --- a/src/android/jar/src/org/qtproject/qt/android/QtWindow.java +++ b/src/android/jar/src/org/qtproject/qt/android/QtWindow.java @@ -236,4 +236,11 @@ class QtWindow extends QtLayout implements QtSurfaceInterface { if (m_parentWindow != null) m_parentWindow.addChildWindow(this); } + + @UsedFromNativeCode + void updateFocusedEditText() + { + if (m_editText != null && m_inputConnectionListener != null) + m_inputConnectionListener.onEditTextChanged(m_editText); + } } diff --git a/src/plugins/platforms/android/qandroidplatformscreen.cpp b/src/plugins/platforms/android/qandroidplatformscreen.cpp index 4d752a3cc32..cc9c435a32b 100644 --- a/src/plugins/platforms/android/qandroidplatformscreen.cpp +++ b/src/plugins/platforms/android/qandroidplatformscreen.cpp @@ -299,8 +299,10 @@ void QAndroidPlatformScreen::topVisibleWindowChanged() QtAndroidMenu::setActiveTopLevelWindow(w); if (w && w->handle()) { QAndroidPlatformWindow *platformWindow = static_cast(w->handle()); - if (platformWindow) + if (platformWindow) { platformWindow->updateSystemUiVisibility(); + platformWindow->updateFocusedEditText(); + } } } diff --git a/src/plugins/platforms/android/qandroidplatformwindow.cpp b/src/plugins/platforms/android/qandroidplatformwindow.cpp index 1362b7d3929..5559a897596 100644 --- a/src/plugins/platforms/android/qandroidplatformwindow.cpp +++ b/src/plugins/platforms/android/qandroidplatformwindow.cpp @@ -266,6 +266,11 @@ void QAndroidPlatformWindow::updateSystemUiVisibility() } } +void QAndroidPlatformWindow::updateFocusedEditText() +{ + m_nativeQtWindow.callMethod("updateFocusedEditText"); +} + bool QAndroidPlatformWindow::isExposed() const { return qApp->applicationState() > Qt::ApplicationHidden diff --git a/src/plugins/platforms/android/qandroidplatformwindow.h b/src/plugins/platforms/android/qandroidplatformwindow.h index ef4e799a75e..c282adb9b0e 100644 --- a/src/plugins/platforms/android/qandroidplatformwindow.h +++ b/src/plugins/platforms/android/qandroidplatformwindow.h @@ -57,6 +57,7 @@ public: void propagateSizeHints() override; void requestActivateWindow() override; void updateSystemUiVisibility(); + void updateFocusedEditText(); inline bool isRaster() const { return m_isRaster; } bool isExposed() const override; QtJniTypes::QtWindow nativeWindow() const { return m_nativeQtWindow; }