summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLorenzo Colitti <lorenzo@google.com>2014-10-01 13:52:40 +0900
committerLorenzo Colitti <lorenzo@google.com>2014-10-01 13:52:40 +0900
commit74d270d167ed6c3a6fa28e426da80d51a44a2af0 (patch)
treeda0aed76efa269c11fbd973ea8379cee90c50d39
parente3cbf2e7349dd366f33905784595e2e3a1cec245 (diff)
downloadandroid_frameworks_opt_net_ethernet-74d270d167ed6c3a6fa28e426da80d51a44a2af0.tar.gz
android_frameworks_opt_net_ethernet-74d270d167ed6c3a6fa28e426da80d51a44a2af0.tar.bz2
android_frameworks_opt_net_ethernet-74d270d167ed6c3a6fa28e426da80d51a44a2af0.zip
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
-rw-r--r--java/com/android/server/ethernet/EthernetNetworkFactory.java7
1 files changed, 6 insertions, 1 deletions
diff --git a/java/com/android/server/ethernet/EthernetNetworkFactory.java b/java/com/android/server/ethernet/EthernetNetworkFactory.java
index a471154..2d0a957 100644
--- a/java/com/android/server/ethernet/EthernetNetworkFactory.java
+++ b/java/com/android/server/ethernet/EthernetNetworkFactory.java
@@ -208,13 +208,18 @@ class EthernetNetworkFactory {
return;
Log.d(TAG, "Stopped tracking interface " + iface);
+ // TODO: Unify this codepath with stop().
synchronized (this) {
+ NetworkUtils.stopDhcp(mIface);
mIface = "";
mHwAddr = null;
mNetworkInfo.setExtraInfo(null);
+ mLinkUp = false;
+ mNetworkInfo.setDetailedState(DetailedState.DISCONNECTED, null, mHwAddr);
+ updateAgent();
+ mNetworkAgent = null;
mNetworkInfo = new NetworkInfo(ConnectivityManager.TYPE_ETHERNET, 0, NETWORK_TYPE, "");
mLinkProperties = new LinkProperties();
- updateAgent();
}
}