diff options
-rw-r--r-- | src/plugins/bearer/connman/qconnmanengine.cpp | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/plugins/bearer/connman/qconnmanengine.cpp b/src/plugins/bearer/connman/qconnmanengine.cpp index be50ba9935..7633b4f2b8 100644 --- a/src/plugins/bearer/connman/qconnmanengine.cpp +++ b/src/plugins/bearer/connman/qconnmanengine.cpp @@ -416,21 +416,23 @@ QNetworkConfiguration::StateFlags QConnmanEngine::getStateForService(const QStri QMutexLocker locker(&mutex); QConnmanServiceInterface serv(service); QNetworkConfiguration::StateFlags flag = QNetworkConfiguration::Defined; - if( serv.getType() == "cellular") { - if(serv.isSetupRequired()) { + if (serv.getType() == "cellular") { + if (serv.isSetupRequired() || !serv.isAutoConnect()) { flag = ( flag | QNetworkConfiguration::Defined); } else { flag = ( flag | QNetworkConfiguration::Discovered); } } else { - if(serv.isFavorite()) { - flag = ( flag | QNetworkConfiguration::Discovered); + if (serv.isFavorite()) { + if (serv.isAutoConnect()) { + flag = ( flag | QNetworkConfiguration::Discovered); + } } else { flag = QNetworkConfiguration::Undefined; } } - if(serv.getState() == "ready" || serv.getState() == "online") { + if (serv.getState() == "ready" || serv.getState() == "online") { flag = ( flag | QNetworkConfiguration::Active); } |