QNI: Android support for isMetered
Task-number: QTBUG-91024 Change-Id: I7a8fdcddc25fdb60390b424a888d0311afd8cef3 Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io> Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
This commit is contained in:
parent
bd52c1bba6
commit
83ddf49bc7
@ -52,7 +52,7 @@ public class QtAndroidNetworkInformation {
|
||||
private static final String LOG_TAG = "QtAndroidNetworkInformation";
|
||||
|
||||
private static native void connectivityChanged(AndroidConnectivity connectivity);
|
||||
private static native void behindCaptivePortalChanged(boolean state);
|
||||
private static native void genericInfoChanged(boolean captivePortal, boolean metered);
|
||||
private static native void transportMediumChanged(Transport transportMedium);
|
||||
|
||||
private static QtNetworkInformationCallback m_callback = null;
|
||||
@ -101,7 +101,9 @@ public class QtAndroidNetworkInformation {
|
||||
|
||||
final boolean captive
|
||||
= capabilities.hasCapability(NetworkCapabilities.NET_CAPABILITY_CAPTIVE_PORTAL);
|
||||
behindCaptivePortalChanged(captive);
|
||||
final boolean metered
|
||||
= !capabilities.hasCapability(NetworkCapabilities.NET_CAPABILITY_NOT_METERED);
|
||||
genericInfoChanged(captive, metered);
|
||||
}
|
||||
|
||||
private Transport getTransport(NetworkCapabilities capabilities)
|
||||
|
@ -127,6 +127,9 @@ QAndroidNetworkInformationBackend::QAndroidNetworkInformationBackend()
|
||||
|
||||
connect(conman, &AndroidConnectivityManager::transportMediumChanged, this,
|
||||
&QAndroidNetworkInformationBackend::updateTransportMedium);
|
||||
|
||||
connect(conman, &AndroidConnectivityManager::meteredChanged, this,
|
||||
&QAndroidNetworkInformationBackend::setMetered);
|
||||
}
|
||||
|
||||
void QAndroidNetworkInformationBackend::updateConnectivity(
|
||||
|
@ -65,11 +65,12 @@ static void networkConnectivityChanged(JNIEnv *env, jobject obj, jobject enumVal
|
||||
Q_EMIT androidConnManagerInstance->connManager->connectivityChanged(connectivity);
|
||||
}
|
||||
|
||||
static void behindCaptivePortalChanged(JNIEnv *env, jobject obj, jboolean state)
|
||||
static void genericInfoChanged(JNIEnv *env, jobject obj, jboolean captivePortal, jboolean metered)
|
||||
{
|
||||
Q_UNUSED(env);
|
||||
Q_UNUSED(obj);
|
||||
Q_EMIT androidConnManagerInstance->connManager->captivePortalChanged(state);
|
||||
Q_EMIT androidConnManagerInstance->connManager->captivePortalChanged(captivePortal);
|
||||
Q_EMIT androidConnManagerInstance->connManager->meteredChanged(metered);
|
||||
}
|
||||
|
||||
static void transportMediumChangedCallback(JNIEnv *env, jobject obj, jobject enumValue)
|
||||
@ -128,8 +129,8 @@ bool AndroidConnectivityManager::registerNatives()
|
||||
static JNINativeMethod methods[] = {
|
||||
{ "connectivityChanged", connectivityEnumSig.data(),
|
||||
reinterpret_cast<void *>(networkConnectivityChanged) },
|
||||
{ "behindCaptivePortalChanged", "(Z)V",
|
||||
reinterpret_cast<void *>(behindCaptivePortalChanged) },
|
||||
{ "genericInfoChanged", "(ZZ)V",
|
||||
reinterpret_cast<void *>(genericInfoChanged) },
|
||||
{ "transportMediumChanged", transportEnumSig.data(),
|
||||
reinterpret_cast<void *>(transportMediumChangedCallback) },
|
||||
};
|
||||
|
@ -75,6 +75,7 @@ Q_SIGNALS:
|
||||
void connectivityChanged(AndroidConnectivity connectivity);
|
||||
void captivePortalChanged(bool state);
|
||||
void transportMediumChanged(AndroidTransport transport);
|
||||
void meteredChanged(bool state);
|
||||
|
||||
private:
|
||||
friend struct AndroidConnectivityManagerInstance;
|
||||
|
Loading…
x
Reference in New Issue
Block a user