diff options
Diffstat (limited to 'src/plugins/networkinformationbackends/android/wrapper/androidconnectivitymanager.cpp')
-rw-r--r-- | src/plugins/networkinformationbackends/android/wrapper/androidconnectivitymanager.cpp | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/src/plugins/networkinformationbackends/android/wrapper/androidconnectivitymanager.cpp b/src/plugins/networkinformationbackends/android/wrapper/androidconnectivitymanager.cpp index 1508ff35b8..e88fe7d955 100644 --- a/src/plugins/networkinformationbackends/android/wrapper/androidconnectivitymanager.cpp +++ b/src/plugins/networkinformationbackends/android/wrapper/androidconnectivitymanager.cpp @@ -56,11 +56,20 @@ Q_GLOBAL_STATIC(AndroidConnectivityManagerInstance, androidConnManagerInstance) static const char networkInformationClass[] = "org/qtproject/qt/android/networkinformation/QtAndroidNetworkInformation"; -static void networkConnectivityChanged() +static void networkConnectivityChanged(JNIEnv *env, jobject obj) { + Q_UNUSED(env); + Q_UNUSED(obj); Q_EMIT androidConnManagerInstance->connManager->connectivityChanged(); } +static void behindCaptivePortalChanged(JNIEnv *env, jobject obj, jboolean state) +{ + Q_UNUSED(env); + Q_UNUSED(obj); + Q_EMIT androidConnManagerInstance->connManager->captivePortalChanged(state); +} + AndroidConnectivityManager::AndroidConnectivityManager() { if (!registerNatives()) @@ -124,9 +133,12 @@ bool AndroidConnectivityManager::registerNatives() return false; jclass clazz = env->GetObjectClass(networkReceiver.object()); - static JNINativeMethod method = { "connectivityChanged", "()V", - reinterpret_cast<void *>(networkConnectivityChanged) }; - const bool ret = (env->RegisterNatives(clazz, &method, 1) == JNI_OK); + static JNINativeMethod methods[] = { + { "connectivityChanged", "()V", reinterpret_cast<void *>(networkConnectivityChanged) }, + { "behindCaptivePortalChanged", "(Z)V", + reinterpret_cast<void *>(behindCaptivePortalChanged) } + }; + const bool ret = (env->RegisterNatives(clazz, methods, std::size(methods)) == JNI_OK); env->DeleteLocalRef(clazz); return ret; } |