summaryrefslogtreecommitdiffstats
path: root/src/android/jar/src/org/qtproject/qt5/android/QtActivityDelegate.java
diff options
context:
space:
mode:
authorTarja Sundqvist <tarja.sundqvist@qt.io>2022-05-16 18:16:04 +0300
committerTarja Sundqvist <tarja.sundqvist@qt.io>2022-05-16 18:16:04 +0300
commit231d3670981a33ec42b91ad1cb33c1fc50551066 (patch)
treeb1ef1096f4e279baaa2ea0d2daf14b5c4185a82f /src/android/jar/src/org/qtproject/qt5/android/QtActivityDelegate.java
parentffdd372c7bbda62e9d937f406319f38e3e982774 (diff)
parent8fc1a885d19a2dfb1a3a684aea1cfa41967e041f (diff)
Merge remote-tracking branch 'origin/tqtc/lts-5.15.5' into tqtc/lts-5.15-opensourcev5.15.5-lts-lgpl
Diffstat (limited to 'src/android/jar/src/org/qtproject/qt5/android/QtActivityDelegate.java')
-rw-r--r--src/android/jar/src/org/qtproject/qt5/android/QtActivityDelegate.java24
1 files changed, 19 insertions, 5 deletions
diff --git a/src/android/jar/src/org/qtproject/qt5/android/QtActivityDelegate.java b/src/android/jar/src/org/qtproject/qt5/android/QtActivityDelegate.java
index a15a06a302..c76bf0994e 100644
--- a/src/android/jar/src/org/qtproject/qt5/android/QtActivityDelegate.java
+++ b/src/android/jar/src/org/qtproject/qt5/android/QtActivityDelegate.java
@@ -154,6 +154,7 @@ public class QtActivityDelegate
private CursorHandle m_leftSelectionHandle;
private CursorHandle m_rightSelectionHandle;
private EditPopupMenu m_editPopupMenu;
+ private boolean m_isPluginRunning = false;
public void setFullScreen(boolean enterFullScreen)
{
@@ -190,6 +191,11 @@ public class QtActivityDelegate
}
}
+ public boolean isKeyboardVisible()
+ {
+ return m_keyboardIsVisible;
+ }
+
// input method hints - must be kept in sync with QTDIR/src/corelib/global/qnamespace.h
private final int ImhHiddenText = 0x1;
private final int ImhSensitiveData = 0x2;
@@ -233,7 +239,6 @@ public class QtActivityDelegate
private QtAccessibilityDelegate m_accessibilityDelegate = null;
-
public boolean setKeyboardVisibility(boolean visibility, long timeStamp)
{
if (m_showHideTimeStamp > timeStamp)
@@ -243,7 +248,7 @@ public class QtActivityDelegate
if (m_keyboardIsVisible == visibility)
return false;
m_keyboardIsVisible = visibility;
- QtNative.keyboardVisibilityChanged(m_keyboardIsVisible);
+ QtNative.keyboardVisibilityUpdated(m_keyboardIsVisible);
if (visibility == false)
updateFullScreen(); // Hiding the keyboard clears the immersive mode, so we need to set it again.
@@ -352,8 +357,12 @@ public class QtActivityDelegate
inputType |= android.text.InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS;
}
- if ((inputHints & ImhMultiLine) != 0)
+ if ((inputHints & ImhMultiLine) != 0) {
inputType |= android.text.InputType.TYPE_TEXT_FLAG_MULTI_LINE;
+ // Clear imeOptions for Multi-Line Type
+ // User should be able to insert new line in such case
+ imeOptions = android.view.inputmethod.EditorInfo.IME_ACTION_DONE;
+ }
if ((inputHints & (ImhNoPredictiveText | ImhSensitiveData | ImhHiddenText)) != 0)
inputType |= android.text.InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS;
@@ -883,6 +892,11 @@ public class QtActivityDelegate
m_accessibilityDelegate.notifyObjectFocus(viewId);
}
+ public void notifyQtAndroidPluginRunning(boolean running)
+ {
+ m_isPluginRunning = running;
+ }
+
public void initializeAccessibility()
{
m_accessibilityDelegate = new QtAccessibilityDelegate(m_activity, m_layout, this);
@@ -990,7 +1004,7 @@ public class QtActivityDelegate
public boolean onKeyDown(int keyCode, KeyEvent event)
{
- if (!m_started)
+ if (!m_started || !m_isPluginRunning)
return false;
m_metaState = MetaKeyKeyListener.handleKeyDown(m_metaState, keyCode, event);
@@ -1024,7 +1038,7 @@ public class QtActivityDelegate
public boolean onKeyUp(int keyCode, KeyEvent event)
{
- if (!m_started)
+ if (!m_started || !m_isPluginRunning)
return false;
if ((keyCode == KeyEvent.KEYCODE_VOLUME_UP