diff options
author | Mårten Nordheim <marten.nordheim@qt.io> | 2021-09-29 09:30:05 +0200 |
---|---|---|
committer | Mårten Nordheim <marten.nordheim@qt.io> | 2021-10-07 19:08:30 +0200 |
commit | 5b8a4c2063e6f16ffe394ebd26c16aefb0a3e852 (patch) | |
tree | e2882a57912146aa0e7f1f1b7541c62f1036efec /src/plugins/networkinformation/android/qandroidnetworkinformationbackend.cpp | |
parent | 589389843c1850e725972b4a6ba901d32bb59d73 (diff) |
QNI:Android: unify behavior of callbacks
The first callback added for the android backend does not have the value
as a parameter which is something the other callbacks have. Change it so
it does.
And promote the lambda to a real function.
Change-Id: I06f10f7c79f33a5ea3154f2fc6d20d550cd7eca7
Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io>
Reviewed-by: Edward Welbourne <edward.welbourne@qt.io>
Diffstat (limited to 'src/plugins/networkinformation/android/qandroidnetworkinformationbackend.cpp')
-rw-r--r-- | src/plugins/networkinformation/android/qandroidnetworkinformationbackend.cpp | 37 |
1 files changed, 22 insertions, 15 deletions
diff --git a/src/plugins/networkinformation/android/qandroidnetworkinformationbackend.cpp b/src/plugins/networkinformation/android/qandroidnetworkinformationbackend.cpp index 33103b00b7..14e42a9de8 100644 --- a/src/plugins/networkinformation/android/qandroidnetworkinformationbackend.cpp +++ b/src/plugins/networkinformation/android/qandroidnetworkinformationbackend.cpp @@ -74,6 +74,7 @@ public: private: Q_DISABLE_COPY_MOVE(QAndroidNetworkInformationBackend); + void updateConnectivity(AndroidConnectivityManager::AndroidConnectivity connectivity); void updateTransportMedium(AndroidConnectivityManager::AndroidTransport transport); bool m_valid = false; @@ -115,21 +116,8 @@ QAndroidNetworkInformationBackend::QAndroidNetworkInformationBackend() return; m_valid = true; setReachability(QNetworkInformation::Reachability::Unknown); - connect(conman, &AndroidConnectivityManager::connectivityChanged, this, [this, conman]() { - static const auto mapState = [](AndroidConnectivityManager::AndroidConnectivity state) { - switch (state) { - case AndroidConnectivityManager::AndroidConnectivity::Connected: - return QNetworkInformation::Reachability::Online; - case AndroidConnectivityManager::AndroidConnectivity::Disconnected: - return QNetworkInformation::Reachability::Disconnected; - case AndroidConnectivityManager::AndroidConnectivity::Unknown: - default: - return QNetworkInformation::Reachability::Unknown; - } - }; - - setReachability(mapState(conman->networkConnectivity())); - }); + connect(conman, &AndroidConnectivityManager::connectivityChanged, this, + &QAndroidNetworkInformationBackend::updateConnectivity); connect(conman, &AndroidConnectivityManager::captivePortalChanged, this, &QAndroidNetworkInformationBackend::setBehindCaptivePortal); @@ -138,6 +126,25 @@ QAndroidNetworkInformationBackend::QAndroidNetworkInformationBackend() &QAndroidNetworkInformationBackend::updateTransportMedium); } +void QAndroidNetworkInformationBackend::updateConnectivity( + AndroidConnectivityManager::AndroidConnectivity connectivity) +{ + using AndroidConnectivity = AndroidConnectivityManager::AndroidConnectivity; + static const auto mapState = [](AndroidConnectivity state) { + switch (state) { + case AndroidConnectivity::Connected: + return QNetworkInformation::Reachability::Online; + case AndroidConnectivity::Disconnected: + return QNetworkInformation::Reachability::Disconnected; + case AndroidConnectivity::Unknown: + default: + return QNetworkInformation::Reachability::Unknown; + } + }; + + setReachability(mapState(connectivity)); +} + void QAndroidNetworkInformationBackend::updateTransportMedium( AndroidConnectivityManager::AndroidTransport transport) { |