From b6d13d4a4cf70e172245acd17d4e8d86dee03365 Mon Sep 17 00:00:00 2001 From: "pls.153" Date: Thu, 6 Jun 2024 18:23:50 +0200 Subject: [PATCH] revisions --- examples/meshtastic/cpp/android.cpp | 34 +++++++++---------- .../cpp/connection/usb/usb_me.android.cpp | 25 +++++++------- 2 files changed, 30 insertions(+), 29 deletions(-) diff --git a/examples/meshtastic/cpp/android.cpp b/examples/meshtastic/cpp/android.cpp index 1100e18..4e851aa 100644 --- a/examples/meshtastic/cpp/android.cpp +++ b/examples/meshtastic/cpp/android.cpp @@ -2,9 +2,11 @@ #include #if (QT_VERSION < 0x060000) + #define JniObject QAndroidJniObject #include #include #else + #define JniObject QJniObject #include #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(activity.getField(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(activity.getField(name)); } QVariant QT::iniPositioning() { #if (QT_VERSION < 0x060000) QtAndroid::runOnAndroidThread([] { - QAndroidJniObject activity = QtAndroid::androidActivity(); - activity.callMethod( + androidActivity().callMethod( "iniLocation", "()V"); clearEventualExceptions(); }); #else QNativeInterface::QAndroidApplication::runOnAndroidMainThread([&] { - QJniObject activity = QtAndroidPrivate::activity(); - activity.callMethod( + androidActivity().callMethod( "iniLocation", "()V"); clearEventualExceptions(); @@ -131,7 +131,7 @@ void QT::iniJni() { #else QJniEnvironment env; #endif - jclass jcl = env->GetObjectClass(QtAndroid::androidActivity().object()); + jclass jcl = env->GetObjectClass(androidActivity().object()); env->RegisterNatives(jcl, methods, sizeof(methods) / sizeof(methods[0])); clearEventualExceptions(); } diff --git a/examples/meshtastic/cpp/connection/usb/usb_me.android.cpp b/examples/meshtastic/cpp/connection/usb/usb_me.android.cpp index 311f749..e887b3c 100644 --- a/examples/meshtastic/cpp/connection/usb/usb_me.android.cpp +++ b/examples/meshtastic/cpp/connection/usb/usb_me.android.cpp @@ -5,9 +5,11 @@ #include #if (QT_VERSION < 0x060000) + #define JniObject QAndroidJniObject #include #include #else + #define JniObject QJniObject #include #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(javaSetReady) }, { "qtOnNewData", "([B)V", reinterpret_cast(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()); 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( "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( "writeUsb", "([B)V", jba);