Inet status bug fix
Don't wipe out the connected status every time we get a cellular status change. Don't filter out disconnect event for wifi - we need them. bug:3009923 Change-Id: I68cadac5f44d6eb4e0fe711fda7c5d218abb45bd
This commit is contained in:
@@ -920,11 +920,19 @@ public class ConnectivityService extends IConnectivityManager.Stub {
|
|||||||
newNet = tryFailover(prevNetType);
|
newNet = tryFailover(prevNetType);
|
||||||
if (newNet != null) {
|
if (newNet != null) {
|
||||||
NetworkInfo switchTo = newNet.getNetworkInfo();
|
NetworkInfo switchTo = newNet.getNetworkInfo();
|
||||||
|
if (!switchTo.isConnected()) {
|
||||||
|
// if the other net is connected they've already reset this and perhaps even gotten
|
||||||
|
// a positive report we don't want to overwrite, but if not we need to clear this now
|
||||||
|
// to turn our cellular sig strength white
|
||||||
|
mDefaultInetConditionPublished = 0;
|
||||||
|
}
|
||||||
intent.putExtra(ConnectivityManager.EXTRA_OTHER_NETWORK_INFO, switchTo);
|
intent.putExtra(ConnectivityManager.EXTRA_OTHER_NETWORK_INFO, switchTo);
|
||||||
} else {
|
} else {
|
||||||
|
mDefaultInetConditionPublished = 0; // we're not connected anymore
|
||||||
intent.putExtra(ConnectivityManager.EXTRA_NO_CONNECTIVITY, true);
|
intent.putExtra(ConnectivityManager.EXTRA_NO_CONNECTIVITY, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
intent.putExtra(ConnectivityManager.EXTRA_INET_CONDITION, mDefaultInetConditionPublished);
|
||||||
// do this before we broadcast the change
|
// do this before we broadcast the change
|
||||||
handleConnectivityChange(prevNetType);
|
handleConnectivityChange(prevNetType);
|
||||||
|
|
||||||
@@ -1083,12 +1091,20 @@ public class ConnectivityService extends IConnectivityManager.Stub {
|
|||||||
newNet = tryFailover(info.getType());
|
newNet = tryFailover(info.getType());
|
||||||
if (newNet != null) {
|
if (newNet != null) {
|
||||||
NetworkInfo switchTo = newNet.getNetworkInfo();
|
NetworkInfo switchTo = newNet.getNetworkInfo();
|
||||||
|
if (!switchTo.isConnected()) {
|
||||||
|
// if the other net is connected they've already reset this and perhaps even gotten
|
||||||
|
// a positive report we don't want to overwrite, but if not we need to clear this now
|
||||||
|
// to turn our cellular sig strength white
|
||||||
|
mDefaultInetConditionPublished = 0;
|
||||||
|
}
|
||||||
intent.putExtra(ConnectivityManager.EXTRA_OTHER_NETWORK_INFO, switchTo);
|
intent.putExtra(ConnectivityManager.EXTRA_OTHER_NETWORK_INFO, switchTo);
|
||||||
} else {
|
} else {
|
||||||
|
mDefaultInetConditionPublished = 0;
|
||||||
intent.putExtra(ConnectivityManager.EXTRA_NO_CONNECTIVITY, true);
|
intent.putExtra(ConnectivityManager.EXTRA_NO_CONNECTIVITY, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
intent.putExtra(ConnectivityManager.EXTRA_INET_CONDITION, mDefaultInetConditionPublished);
|
||||||
sendStickyBroadcast(intent);
|
sendStickyBroadcast(intent);
|
||||||
/*
|
/*
|
||||||
* If the failover network is already connected, then immediately send
|
* If the failover network is already connected, then immediately send
|
||||||
|
|||||||
Reference in New Issue
Block a user