summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCristian Adam <cristian.adam@qt.io>2024-03-08 13:07:09 +0100
committerAssam Boudjelthia <assam.boudjelthia@qt.io>2024-03-13 08:28:26 +0000
commit494aa933342ec894dc4d1fd533945c6ff41df919 (patch)
treef3663cc9571a45711e1f4faf57390025710013a4
parente12a87c2334862ed881d7b7d725f318428051f24 (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 Change-Id: Ic1370e0b9fcce8c6074f768e5d94e5aa4a0a7824 Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io> (cherry picked from commit 0804109d686e0a99ab0de0f1c70e3422183c6e98) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org> (cherry picked from commit 1fb2c58ef381101f2219af7f874f4007b163e90d)
-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 e0adbc101b..bc3788578d 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 @@ public 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 fe4ac990fb..4744dfc616 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 @@ public 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 @@ public 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;