From 79af4e1e31f4fadcd5b0546455894b098f1acc07 Mon Sep 17 00:00:00 2001 From: BogDan Vatra Date: Mon, 25 Jul 2016 16:51:51 +0300 Subject: 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 --- .../org/qtproject/qt5/android/QtActivityDelegate.java | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) (limited to 'src/android/jar/src/org/qtproject/qt5/android/QtActivityDelegate.java') 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(); } -- cgit v1.2.3