Move away from deprecated NetworkInfo extra.
Because the NetworkInfo included in CONNECTIVITY_ACTION broadcast extra does not reflect the state applicable to the calling UID, and the last sticky broadcast may have stale state, transition to calling ConnectivityManager.getActiveNetworkInfo() directly. Change-Id: I86b316fbedd0273585ad5f1248b091bc3a3a5520
This commit is contained in:
@@ -169,7 +169,9 @@ class Network {
|
||||
if (!ConnectivityManager.CONNECTIVITY_ACTION.equals(intent.getAction()))
|
||||
return;
|
||||
|
||||
NetworkInfo info = (NetworkInfo)intent.getParcelableExtra(ConnectivityManager.EXTRA_NETWORK_INFO);
|
||||
final ConnectivityManager connManager = (ConnectivityManager) context
|
||||
.getSystemService(Context.CONNECTIVITY_SERVICE);
|
||||
final NetworkInfo info = connManager.getActiveNetworkInfo();
|
||||
if (info != null)
|
||||
mRoaming = info.isRoaming();
|
||||
};
|
||||
|
||||
@@ -146,10 +146,10 @@ public class ConnectionUtil {
|
||||
Log.v("ConnectivityReceiver", "onReceive() called with " + intent);
|
||||
return;
|
||||
}
|
||||
if (intent.hasExtra(ConnectivityManager.EXTRA_NETWORK_INFO)) {
|
||||
mNetworkInfo = (NetworkInfo)
|
||||
intent.getParcelableExtra(ConnectivityManager.EXTRA_NETWORK_INFO);
|
||||
}
|
||||
|
||||
final ConnectivityManager connManager = (ConnectivityManager) context
|
||||
.getSystemService(Context.CONNECTIVITY_SERVICE);
|
||||
mNetworkInfo = connManager.getActiveNetworkInfo();
|
||||
|
||||
if (intent.hasExtra(ConnectivityManager.EXTRA_OTHER_NETWORK_INFO)) {
|
||||
mOtherNetworkInfo = (NetworkInfo)
|
||||
|
||||
@@ -850,8 +850,10 @@ public class NetworkController extends BroadcastReceiver {
|
||||
Slog.d(TAG, "updateConnectivity: intent=" + intent);
|
||||
}
|
||||
|
||||
NetworkInfo info = (NetworkInfo)(intent.getParcelableExtra(
|
||||
ConnectivityManager.EXTRA_NETWORK_INFO));
|
||||
final ConnectivityManager connManager = (ConnectivityManager) mContext
|
||||
.getSystemService(Context.CONNECTIVITY_SERVICE);
|
||||
final NetworkInfo info = connManager.getActiveNetworkInfo();
|
||||
|
||||
int connectionStatus = intent.getIntExtra(ConnectivityManager.EXTRA_INET_CONDITION, 0);
|
||||
|
||||
if (CHATTY) {
|
||||
|
||||
@@ -1962,8 +1962,10 @@ public class LocationManagerService extends ILocationManager.Stub implements Run
|
||||
} else {
|
||||
mNetworkState = LocationProvider.TEMPORARILY_UNAVAILABLE;
|
||||
}
|
||||
NetworkInfo info =
|
||||
(NetworkInfo)intent.getExtra(ConnectivityManager.EXTRA_NETWORK_INFO);
|
||||
|
||||
final ConnectivityManager connManager = (ConnectivityManager) context
|
||||
.getSystemService(Context.CONNECTIVITY_SERVICE);
|
||||
final NetworkInfo info = connManager.getActiveNetworkInfo();
|
||||
|
||||
// Notify location providers of current network state
|
||||
synchronized (mLock) {
|
||||
|
||||
@@ -234,8 +234,9 @@ public class NetworkTimeUpdateService {
|
||||
String action = intent.getAction();
|
||||
if (ConnectivityManager.CONNECTIVITY_ACTION.equals(action)) {
|
||||
// There is connectivity
|
||||
NetworkInfo netInfo = (NetworkInfo)intent.getParcelableExtra(
|
||||
ConnectivityManager.EXTRA_NETWORK_INFO);
|
||||
final ConnectivityManager connManager = (ConnectivityManager) context
|
||||
.getSystemService(Context.CONNECTIVITY_SERVICE);
|
||||
final NetworkInfo netInfo = connManager.getActiveNetworkInfo();
|
||||
if (netInfo != null) {
|
||||
// Verify that it's a WIFI connection
|
||||
if (netInfo.getState() == NetworkInfo.State.CONNECTED &&
|
||||
|
||||
Reference in New Issue
Block a user