summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorBogDan Vatra <bogdan@kdab.com>2016-07-25 16:51:51 +0300
committerBogDan Vatra <bogdan@kdab.com>2016-07-26 07:55:27 +0000
commit79af4e1e31f4fadcd5b0546455894b098f1acc07 (patch)
tree6ef976edc937dc8a3fe67815f807852ac4c63cd6 /src
parent091e61b3525c700ce4198086bbd0d95a59fcb31f (diff)
Android: introduce setContext
setContext is needed by modules that don't need an Activity object to run (e.g. QtMultimeida, QtSensors, etc.) Task-number: QTBUG-54506 Change-Id: Ief9daff52ddefdb27092040c89dfce9e466eac5c Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
Diffstat (limited to 'src')
-rw-r--r--src/android/jar/src/org/qtproject/qt5/android/QtActivityDelegate.java18
-rw-r--r--src/android/jar/src/org/qtproject/qt5/android/QtServiceDelegate.java18
2 files changed, 26 insertions, 10 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 0cfce2c6af..656dbdda45 100644
--- a/src/android/jar/src/org/qtproject/qt5/android/QtActivityDelegate.java
+++ b/src/android/jar/src/org/qtproject/qt5/android/QtActivityDelegate.java
@@ -489,11 +489,19 @@ public class QtActivityDelegate
continue;
try {
- @SuppressWarnings("rawtypes")
- Class<?> initClass = classLoader.loadClass(className);
- Object staticInitDataObject = initClass.newInstance(); // create an instance
- Method m = initClass.getMethod("setActivity", Activity.class, Object.class);
- m.invoke(staticInitDataObject, m_activity, this);
+ Class<?> initClass = classLoader.loadClass(className);
+ Object staticInitDataObject = initClass.newInstance(); // create an instance
+ try {
+ Method m = initClass.getMethod("setActivity", Activity.class, Object.class);
+ m.invoke(staticInitDataObject, m_activity, this);
+ } catch (Exception e) {
+ }
+
+ try {
+ Method m = initClass.getMethod("setContext", Context.class);
+ m.invoke(staticInitDataObject, (Context)m_activity);
+ } catch (Exception e) {
+ }
} catch (Exception e) {
e.printStackTrace();
}
diff --git a/src/android/jar/src/org/qtproject/qt5/android/QtServiceDelegate.java b/src/android/jar/src/org/qtproject/qt5/android/QtServiceDelegate.java
index 634658eefb..5ac406c710 100644
--- a/src/android/jar/src/org/qtproject/qt5/android/QtServiceDelegate.java
+++ b/src/android/jar/src/org/qtproject/qt5/android/QtServiceDelegate.java
@@ -120,12 +120,20 @@ public class QtServiceDelegate
for (String className: loaderParams.getStringArray(STATIC_INIT_CLASSES_KEY)) {
if (className.length() == 0)
continue;
-
try {
- Class<?> initClass = classLoader.loadClass(className);
- Object staticInitDataObject = initClass.newInstance(); // create an instance
- Method m = initClass.getMethod("setService", Service.class, Object.class);
- m.invoke(staticInitDataObject, m_service, this);
+ Class<?> initClass = classLoader.loadClass(className);
+ Object staticInitDataObject = initClass.newInstance(); // create an instance
+ try {
+ Method m = initClass.getMethod("setService", Service.class, Object.class);
+ m.invoke(staticInitDataObject, m_service, this);
+ } catch (Exception e) {
+ }
+
+ try {
+ Method m = initClass.getMethod("setContext", Context.class);
+ m.invoke(staticInitDataObject, (Context)m_service);
+ } catch (Exception e) {
+ }
} catch (Exception e) {
e.printStackTrace();
}