From 0c0f95321f05b13cb69c13e5d9140539f32ce16a Mon Sep 17 00:00:00 2001 From: Peter YOON Date: Mon, 11 Mar 2013 14:53:37 +0900 Subject: [PATCH] EthernetDataTracker: Set network available on connected This change fixes state mismatch found in the bugs below, and makes the code look consistent with disconnect(). In startMonitoring(), reconnect() is called before mNMService.registerObserver(). Then dhcpThread.run() could finish without getting interfaceLinkStateChanged() callback. In such a case, mNetworkInfo has connected but not-available state - which is contradictory. Bug: 8113933, 8291000, 8291039 Change-Id: I29d74f8d09dcffb97d6c9f8198811bca046fef0c --- core/java/android/net/EthernetDataTracker.java | 1 + 1 file changed, 1 insertion(+) diff --git a/core/java/android/net/EthernetDataTracker.java b/core/java/android/net/EthernetDataTracker.java index 37601fce5cec4..d587e6873dd7f 100644 --- a/core/java/android/net/EthernetDataTracker.java +++ b/core/java/android/net/EthernetDataTracker.java @@ -178,6 +178,7 @@ public class EthernetDataTracker implements NetworkStateTracker { mLinkProperties = dhcpInfoInternal.makeLinkProperties(); mLinkProperties.setInterfaceName(mIface); + mNetworkInfo.setIsAvailable(true); mNetworkInfo.setDetailedState(DetailedState.CONNECTED, null, mHwAddr); Message msg = mCsHandler.obtainMessage(EVENT_STATE_CHANGED, mNetworkInfo); msg.sendToTarget();