summaryrefslogtreecommitdiffstats
path: root/src/plugins/networkinformationbackends/android/wrapper/androidconnectivitymanager.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/networkinformationbackends/android/wrapper/androidconnectivitymanager.cpp')
-rw-r--r--src/plugins/networkinformationbackends/android/wrapper/androidconnectivitymanager.cpp20
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;
}