1From a26255c81add60f5c933aab36255ce78089f48c5 Mon Sep 17 00:00:00 2001
2From: Jeffy Chen <jeffy.chen@rock-chips.com>
3Date: Sat, 27 Mar 2021 04:08:12 +0800
4Subject: [PATCH 25/28] bearer: Support prefer using active network
5
6Set env "QT_NETWORK_PREFER_ACTIVE" to enable it.
7
8Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
9---
10 src/network/bearer/qnetworkconfigmanager_p.cpp | 7 ++++++-
11 1 file changed, 6 insertions(+), 1 deletion(-)
12
13diff --git a/src/network/bearer/qnetworkconfigmanager_p.cpp b/src/network/bearer/qnetworkconfigmanager_p.cpp
14index f0aa452d..1cdb9f91 100644
15--- a/src/network/bearer/qnetworkconfigmanager_p.cpp
16+++ b/src/network/bearer/qnetworkconfigmanager_p.cpp
17@@ -101,6 +101,11 @@ QNetworkConfiguration QNetworkConfigurationManagerPrivate::defaultConfiguration(
18 {
19     QMutexLocker locker(&mutex);
20
21+    QNetworkConfigurationPrivatePointer defaultConfiguration;
22+
23+    if (getenv("QT_NETWORK_PREFER_ACTIVE"))
24+        goto prefer_active;
25+
26     for (QBearerEngine *engine : sessionEngines) {
27         QNetworkConfigurationPrivatePointer ptr = engine->defaultConfiguration();
28         if (ptr) {
29@@ -113,7 +118,6 @@ QNetworkConfiguration QNetworkConfigurationManagerPrivate::defaultConfiguration(
30     // Engines don't have a default configuration.
31
32     // Return first active snap
33-    QNetworkConfigurationPrivatePointer defaultConfiguration;
34
35     for (QBearerEngine *engine : sessionEngines) {
36         const auto locker = qt_scoped_lock(engine->mutex);
37@@ -139,6 +143,7 @@ QNetworkConfiguration QNetworkConfigurationManagerPrivate::defaultConfiguration(
38         return config;
39     }
40
41+prefer_active:
42     /*
43         No Active or Discovered SNAPs, find the perferred access point.
44         The following priority order is used:
45--
462.20.1
47
48