diff options
author | Pekka Gehör <pekka.gehor@qt.io> | 2021-04-04 09:59:41 +0200 |
---|---|---|
committer | Assam Boudjelthia <assam.boudjelthia@qt.io> | 2021-06-07 16:06:48 +0000 |
commit | 8fc1a885d19a2dfb1a3a684aea1cfa41967e041f (patch) | |
tree | c29cc704b83cfdfa0a6066251ee08ab42b751871 /src/android/jar/src/org/qtproject/qt5/android/QtActivityDelegate.java | |
parent | c6803b0ef71278e68c371158db368d59ab198bc1 (diff) |
Android: Fix Application becomes unresponsive issue
Block key events until the plugin is running.
Fixes: QTBUG-67944
Pick-to: 5.15
Change-Id: Iea47f2e94d850141834a7e8fc26218be2cacf660
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
(cherry picked from commit 2262a9cd2d135d5ea2ade42460496c88d8b2c292)
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.java | 13 |
1 files changed, 9 insertions, 4 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 4d3c30a807..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) { @@ -238,7 +239,6 @@ public class QtActivityDelegate private QtAccessibilityDelegate m_accessibilityDelegate = null; - public boolean setKeyboardVisibility(boolean visibility, long timeStamp) { if (m_showHideTimeStamp > timeStamp) @@ -892,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); @@ -999,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); @@ -1033,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 @@ -1321,4 +1326,4 @@ public class QtActivityDelegate { QtNative.sendRequestPermissionsResult(requestCode, permissions, grantResults); } -}
\ No newline at end of file +} |