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:
Robert Greenwalt
2010-09-20 18:01:43 -07:00
parent 0e80be1a8d
commit b2a9e4957a

View File

@@ -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