summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAssam Boudjelthia <assam.boudjelthia@qt.io>2020-10-24 16:31:37 +0300
committerAssam Boudjelthia <assam.boudjelthia@qt.io>2020-10-29 17:44:09 +0200
commit46a12ef0c33893d1864f9a6c8b25b37a5976803b (patch)
treef9f1d1a928b3251089c213deddc9c2195c9398e7
parent903a3b6493f1fe66b43eb8696b706d1943230e42 (diff)
Android: replace stacktrace with debug message in search for setActivity
Don't print stacktrace when setActivity is not found but only print a debug message, QtActivityDelegate will continue to look for setContext which might actually be a problem if not implemented. Fixes: QTBUG-86733 Change-Id: Iaf7f347ae04605a1f616f24d25cac4938c1640a4 Reviewed-by: Ville Voutilainen <ville.voutilainen@qt.io> Reviewed-by: Rami Potinkara <rami.potinkara@qt.io> (cherry picked from commit 950e628fd842f22ac741b18440fcc99213820587) Reviewed-by: Andy Shaw <andy.shaw@qt.io>
-rw-r--r--src/android/jar/src/org/qtproject/qt5/android/QtActivityDelegate.java6
1 files changed, 4 insertions, 2 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 b7689dc519..742505c39a 100644
--- a/src/android/jar/src/org/qtproject/qt5/android/QtActivityDelegate.java
+++ b/src/android/jar/src/org/qtproject/qt5/android/QtActivityDelegate.java
@@ -95,6 +95,7 @@ import java.lang.reflect.Constructor;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.HashMap;
+import java.util.Objects;
import org.qtproject.qt5.android.accessibility.QtAccessibilityDelegate;
@@ -575,7 +576,7 @@ public class QtActivityDelegate
QtNative.setActivity(m_activity, this);
QtNative.setClassLoader(classLoader);
if (loaderParams.containsKey(STATIC_INIT_CLASSES_KEY)) {
- for (String className: loaderParams.getStringArray(STATIC_INIT_CLASSES_KEY)) {
+ for (String className: Objects.requireNonNull(loaderParams.getStringArray(STATIC_INIT_CLASSES_KEY))) {
if (className.length() == 0)
continue;
@@ -586,9 +587,10 @@ public class QtActivityDelegate
Method m = initClass.getMethod("setActivity", Activity.class, Object.class);
m.invoke(staticInitDataObject, m_activity, this);
} catch (Exception e) {
- e.printStackTrace();
+ Log.d(QtNative.QtTAG, "Class " + className + " does not implement setActivity method");
}
+ // For modules that don't need/have setActivity
try {
Method m = initClass.getMethod("setContext", Context.class);
m.invoke(staticInitDataObject, (Context)m_activity);