summaryrefslogtreecommitdiffstats
path: root/src/android/jar
diff options
context:
space:
mode:
authorCristian Adam <cristian.adam@qt.io>2024-03-08 13:07:09 +0100
committerCristian Adam <cristian.adam@qt.io>2024-03-09 20:35:32 +0000
commit0804109d686e0a99ab0de0f1c70e3422183c6e98 (patch)
tree21b0fb1a9e9cb242c0b58863d12d27dd0478875e /src/android/jar
parente68c3f025ecc7cf1fa86e5e773cee8d61a816f61 (diff)
Android: Do Thread.sleep before loading Qt libraries in Debug Mode
Amends 269187bfa272f9456aad6a6233100d846915f175 which added the sleep but just loading the main library. This commit moves the delay before any library is being loaded. Also log the fact the thread is sleeping and advertise how to use the env QT_ANDROID_DEBUGGER_MAIN_THREAD_SLEEP_MS variable. Fixes: QTCREATORBUG-30425 Pick-to: 6.7 6.7.0 Change-Id: Ic1370e0b9fcce8c6074f768e5d94e5aa4a0a7824 Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Diffstat (limited to 'src/android/jar')
-rw-r--r--src/android/jar/src/org/qtproject/qt/android/QtActivityLoader.java2
-rw-r--r--src/android/jar/src/org/qtproject/qt/android/QtLoader.java10
2 files changed, 8 insertions, 4 deletions
diff --git a/src/android/jar/src/org/qtproject/qt/android/QtActivityLoader.java b/src/android/jar/src/org/qtproject/qt/android/QtActivityLoader.java
index 887602a037..1b2e8e49a0 100644
--- a/src/android/jar/src/org/qtproject/qt/android/QtActivityLoader.java
+++ b/src/android/jar/src/org/qtproject/qt/android/QtActivityLoader.java
@@ -136,7 +136,7 @@ class QtActivityLoader extends QtLoader {
appendApplicationParameters(getDecodedUtfString(extraAppParams));
}
- m_debuggerSleepMs = 1000;
+ m_debuggerSleepMs = 3000;
if (Os.getenv("QT_ANDROID_DEBUGGER_MAIN_THREAD_SLEEP_MS") != null) {
try {
m_debuggerSleepMs = Integer.parseInt(Os.getenv("QT_ANDROID_DEBUGGER_MAIN_THREAD_SLEEP_MS"));
diff --git a/src/android/jar/src/org/qtproject/qt/android/QtLoader.java b/src/android/jar/src/org/qtproject/qt/android/QtLoader.java
index 07a78dd343..eb27bdc590 100644
--- a/src/android/jar/src/org/qtproject/qt/android/QtLoader.java
+++ b/src/android/jar/src/org/qtproject/qt/android/QtLoader.java
@@ -435,6 +435,13 @@ abstract class QtLoader {
ArrayList<String> nativeLibraries = getQtLibrariesList();
nativeLibraries.addAll(getLocalLibrariesList());
+ if (m_debuggerSleepMs > 0) {
+ Log.i(QtTAG, "Sleeping for " + m_debuggerSleepMs +
+ "ms, helping the native debugger to settle. " +
+ "Use the env QT_ANDROID_DEBUGGER_MAIN_THREAD_SLEEP_MS variable to change this value.");
+ QtNative.getQtThread().sleep(m_debuggerSleepMs);
+ }
+
if (!loadLibraries(nativeLibraries)) {
Log.e(QtTAG, "Loading Qt native libraries failed");
finish();
@@ -511,9 +518,6 @@ abstract class QtLoader {
String mainLibPath = getLibrariesFullPaths(oneEntryArray).get(0);
final boolean[] success = {true};
QtNative.getQtThread().run(() -> {
- if (m_debuggerSleepMs > 0)
- QtNative.getQtThread().sleep(m_debuggerSleepMs);
-
m_mainLibPath = loadLibraryHelper(mainLibPath);
if (m_mainLibPath == null)
success[0] = false;