mirror of
https://gitlab.com/eql/lqml.git
synced 2026-02-05 15:22:50 -08:00
revisions
This commit is contained in:
parent
0a2139c641
commit
b6d13d4a4c
2 changed files with 30 additions and 29 deletions
|
|
@ -2,9 +2,11 @@
|
|||
#include <ecl_fun.h>
|
||||
|
||||
#if (QT_VERSION < 0x060000)
|
||||
#define JniObject QAndroidJniObject
|
||||
#include <QtAndroid>
|
||||
#include <QAndroidJniEnvironment>
|
||||
#else
|
||||
#define JniObject QJniObject
|
||||
#include <QtCore/private/qandroidextras_p.h>
|
||||
#endif
|
||||
|
||||
|
|
@ -19,12 +21,20 @@ static void clearEventualExceptions() {
|
|||
}
|
||||
}
|
||||
|
||||
static JniObject androidActivity() {
|
||||
#if (QT_VERSION < 0x060000)
|
||||
return QtAndroid::androidActivity();
|
||||
#else
|
||||
return QtAndroidPrivate::activity();
|
||||
#endif
|
||||
}
|
||||
|
||||
// keep screen on
|
||||
|
||||
QVariant QT::keepScreenOn(const QVariant& on) {
|
||||
#if (QT_VERSION < 0x060000)
|
||||
QtAndroid::runOnAndroidThread([&] {
|
||||
QAndroidJniObject activity = QtAndroid::androidActivity();
|
||||
JniObject activity = androidActivity();
|
||||
if (activity.isValid()) {
|
||||
QAndroidJniObject window = activity.callObjectMethod("getWindow", "()Landroid/view/Window;");
|
||||
if (window.isValid()) {
|
||||
|
|
@ -39,7 +49,7 @@ QVariant QT::keepScreenOn(const QVariant& on) {
|
|||
});
|
||||
#else
|
||||
QNativeInterface::QAndroidApplication::runOnAndroidMainThread([&] {
|
||||
QJniObject activity = QtAndroidPrivate::activity();
|
||||
JniObject activity = androidActivity();
|
||||
if (activity.isValid()) {
|
||||
QJniObject window = activity.callObjectMethod("getWindow", "()Landroid/view/Window;");
|
||||
if (window.isValid()) {
|
||||
|
|
@ -59,36 +69,26 @@ QVariant QT::keepScreenOn(const QVariant& on) {
|
|||
// GPS
|
||||
|
||||
static qlonglong getLongField(const char* name) {
|
||||
#if (QT_VERSION < 0x060000)
|
||||
QAndroidJniObject activity = QtAndroid::androidActivity();
|
||||
#else
|
||||
QJniObject activity = QtAndroidPrivate::activity();
|
||||
#endif
|
||||
JniObject activity = androidActivity();
|
||||
return static_cast<qlonglong>(activity.getField<jlong>(name));
|
||||
}
|
||||
|
||||
static double getDoubleField(const char* name) {
|
||||
#if (QT_VERSION < 0x060000)
|
||||
QAndroidJniObject activity = QtAndroid::androidActivity();
|
||||
#else
|
||||
QJniObject activity = QtAndroidPrivate::activity();
|
||||
#endif
|
||||
JniObject activity = androidActivity();
|
||||
return static_cast<double>(activity.getField<jdouble>(name));
|
||||
}
|
||||
|
||||
QVariant QT::iniPositioning() {
|
||||
#if (QT_VERSION < 0x060000)
|
||||
QtAndroid::runOnAndroidThread([] {
|
||||
QAndroidJniObject activity = QtAndroid::androidActivity();
|
||||
activity.callMethod<void>(
|
||||
androidActivity().callMethod<void>(
|
||||
"iniLocation",
|
||||
"()V");
|
||||
clearEventualExceptions();
|
||||
});
|
||||
#else
|
||||
QNativeInterface::QAndroidApplication::runOnAndroidMainThread([&] {
|
||||
QJniObject activity = QtAndroidPrivate::activity();
|
||||
activity.callMethod<void>(
|
||||
androidActivity().callMethod<void>(
|
||||
"iniLocation",
|
||||
"()V");
|
||||
clearEventualExceptions();
|
||||
|
|
@ -131,7 +131,7 @@ void QT::iniJni() {
|
|||
#else
|
||||
QJniEnvironment env;
|
||||
#endif
|
||||
jclass jcl = env->GetObjectClass(QtAndroid::androidActivity().object<jobject>());
|
||||
jclass jcl = env->GetObjectClass(androidActivity().object<jobject>());
|
||||
env->RegisterNatives(jcl, methods, sizeof(methods) / sizeof(methods[0]));
|
||||
clearEventualExceptions();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,9 +5,11 @@
|
|||
#include <QtDebug>
|
||||
|
||||
#if (QT_VERSION < 0x060000)
|
||||
#define JniObject QAndroidJniObject
|
||||
#include <QtAndroid>
|
||||
#include <QAndroidJniEnvironment>
|
||||
#else
|
||||
#define JniObject QJniObject
|
||||
#include <QtCore/private/qandroidextras_p.h>
|
||||
#endif
|
||||
|
||||
|
|
@ -28,6 +30,14 @@ static void clearEventualExceptions() {
|
|||
}
|
||||
}
|
||||
|
||||
static JniObject androidService() {
|
||||
#if (QT_VERSION < 0x060000)
|
||||
return QtAndroid::androidService();
|
||||
#else
|
||||
return QtAndroidPrivate::service();
|
||||
#endif
|
||||
}
|
||||
|
||||
static void javaSetReady(JNIEnv*, jobject, jboolean jb) { // see Java
|
||||
bool ready = (bool)jb;
|
||||
instance()->ready = ready;
|
||||
|
|
@ -55,12 +65,11 @@ USB_ME::USB_ME(QtAndroidService* service, Connection* _con) : emitter(service),
|
|||
{ "qtSetReady", "(Z)V", reinterpret_cast<void*>(javaSetReady) },
|
||||
{ "qtOnNewData", "([B)V", reinterpret_cast<void*>(javaOnNewData) }
|
||||
};
|
||||
JniObject service2 = androidService();
|
||||
#if (QT_VERSION < 0x060000)
|
||||
QAndroidJniEnvironment env;
|
||||
QAndroidJniObject service2 = QtAndroid::androidService();
|
||||
#else
|
||||
QJniEnvironment env;
|
||||
QJniObject service2 = QtAndroidPrivate::service();
|
||||
#endif
|
||||
jclass jcl = env->GetObjectClass(service2.object<jobject>());
|
||||
env->RegisterNatives(jcl, methods, sizeof(methods) / sizeof(methods[0]));
|
||||
|
|
@ -72,11 +81,7 @@ USB_ME::USB_ME(QtAndroidService* service, Connection* _con) : emitter(service),
|
|||
}
|
||||
|
||||
void USB_ME::connectToRadio() {
|
||||
#if (QT_VERSION < 0x060000)
|
||||
QAndroidJniObject service = QtAndroid::androidService();
|
||||
#else
|
||||
QJniObject service = QtAndroidPrivate::service();
|
||||
#endif
|
||||
JniObject service = androidService();
|
||||
service.callMethod<void>(
|
||||
"iniUsb",
|
||||
"()V");
|
||||
|
|
@ -96,11 +101,7 @@ void USB_ME::write2(const QByteArray& ba) {
|
|||
#endif
|
||||
jbyteArray jba = env->NewByteArray(ba.size());
|
||||
env->SetByteArrayRegion(jba, 0, ba.size(), (jbyte*)ba.data());
|
||||
#if (QT_VERSION < 0x060000)
|
||||
QAndroidJniObject service = QtAndroid::androidService();
|
||||
#else
|
||||
QJniObject service = QtAndroidPrivate::service();
|
||||
#endif
|
||||
JniObject service = androidService();
|
||||
service.callMethod<void>(
|
||||
"writeUsb",
|
||||
"([B)V", jba);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue