Skip to content

Commit

Permalink
[connectionagent] fix disconnecting mobile data when connecting to wlan
Browse files Browse the repository at this point in the history
If wlan starts as unknown, it would not be favorite until it reaches
online state. Previously it would not reach the disconnecting stanza and
thus mobile data would not get disconnected.
  • Loading branch information
Lorn Potter committed Jun 27, 2014
1 parent 5ba9ffb commit d151ead
Showing 1 changed file with 7 additions and 5 deletions.
12 changes: 7 additions & 5 deletions connd/qconnectionagent.cpp
Expand Up @@ -234,6 +234,12 @@ void QConnectionAgent::serviceStateChanged(const QString &state)
qDebug() << state << service->name() << service->strength();
qDebug() << "currentNetworkState" << currentNetworkState;

if (state == "ready" && service->type() == "wifi"
&& !delayedTethering
&& netman->defaultRoute()->type() == "cellular") {
netman->defaultRoute()->requestDisconnect();
}

if (!service->favorite() || !netman->getTechnology(service->type())
|| !netman->getTechnology(service->type())->powered()) {
qDebug() << "not fav or not powered";
Expand All @@ -253,11 +259,7 @@ void QConnectionAgent::serviceStateChanged(const QString &state)
if (delayedTethering && service->type() == "wifi" && state == "association") {
service->requestDisconnect();
}
if (state == "ready" && service->type() == "wifi"
&& !delayedTethering
&& netman->defaultRoute()->type() == "cellular") {
netman->defaultRoute()->requestDisconnect();
}

if (state == "online") {
Q_EMIT connectionState(state, service->type());

Expand Down

0 comments on commit d151ead

Please sign in to comment.