Clear all Ethernet state when our interface goes away.
Previously we did not stop DHCP or try to force a disconnect. This made it impossible to reconnect by unplugging and replugging an USB Ethernet adapter. Bug: 17736828 Change-Id: Idd8576a96b063b5ca726ee9149800bdcb0f62bd1
This commit is contained in:
@@ -208,13 +208,18 @@ class EthernetNetworkFactory {
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
Log.d(TAG, "Stopped tracking interface " + iface);
|
Log.d(TAG, "Stopped tracking interface " + iface);
|
||||||
|
// TODO: Unify this codepath with stop().
|
||||||
synchronized (this) {
|
synchronized (this) {
|
||||||
|
NetworkUtils.stopDhcp(mIface);
|
||||||
mIface = "";
|
mIface = "";
|
||||||
mHwAddr = null;
|
mHwAddr = null;
|
||||||
mNetworkInfo.setExtraInfo(null);
|
mNetworkInfo.setExtraInfo(null);
|
||||||
|
mLinkUp = false;
|
||||||
|
mNetworkInfo.setDetailedState(DetailedState.DISCONNECTED, null, mHwAddr);
|
||||||
|
updateAgent();
|
||||||
|
mNetworkAgent = null;
|
||||||
mNetworkInfo = new NetworkInfo(ConnectivityManager.TYPE_ETHERNET, 0, NETWORK_TYPE, "");
|
mNetworkInfo = new NetworkInfo(ConnectivityManager.TYPE_ETHERNET, 0, NETWORK_TYPE, "");
|
||||||
mLinkProperties = new LinkProperties();
|
mLinkProperties = new LinkProperties();
|
||||||
updateAgent();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user