OSDN Git Service

Add logging to track down bug
authorRobert Greenwalt <rgreenwalt@google.com>
Wed, 13 Mar 2013 23:33:14 +0000 (16:33 -0700)
committerRobert Greenwalt <rgreenwalt@google.com>
Wed, 13 Mar 2013 23:38:46 +0000 (16:38 -0700)
bug:8377625
Change-Id: Ifd0c4081a2f1238dbbc39c6904b993e2fb95455a

core/java/android/net/DhcpStateMachine.java
core/java/android/net/LinkProperties.java

index fd22b10..f140282 100644 (file)
@@ -77,7 +77,7 @@ public class DhcpStateMachine extends StateMachine {
         RENEW
     };
 
-    private String mInterfaceName;
+    private final String mInterfaceName;
     private boolean mRegisteredForPreDhcpNotification = false;
 
     private static final int BASE = Protocol.BASE_DHCP;
@@ -349,6 +349,7 @@ public class DhcpStateMachine extends StateMachine {
     private boolean runDhcp(DhcpAction dhcpAction) {
         boolean success = false;
         DhcpResults dhcpResults = new DhcpResults();
+        dhcpResults.linkProperties.mLogMe = true;
 
         if (dhcpAction == DhcpAction.START) {
             /* Stop any existing DHCP daemon before starting new */
index 5d13a18..9292e5f 100644 (file)
@@ -20,6 +20,7 @@ import android.net.ProxyProperties;
 import android.os.Parcelable;
 import android.os.Parcel;
 import android.text.TextUtils;
+import android.util.Log;
 
 import java.net.InetAddress;
 import java.net.UnknownHostException;
@@ -57,6 +58,7 @@ public class LinkProperties implements Parcelable {
     private String mDomains;
     private Collection<RouteInfo> mRoutes = new ArrayList<RouteInfo>();
     private ProxyProperties mHttpProxy;
+    public boolean mLogMe;
 
     public static class CompareResult<T> {
         public Collection<T> removed = new ArrayList<T>();
@@ -75,6 +77,7 @@ public class LinkProperties implements Parcelable {
 
     public LinkProperties() {
         clear();
+        mLogMe = false;
     }
 
     // copy constructor instead of clone
@@ -91,6 +94,14 @@ public class LinkProperties implements Parcelable {
     }
 
     public void setInterfaceName(String iface) {
+        if (mLogMe) {
+            Log.d("LinkProperties", "setInterfaceName from " + mIfaceName +
+                    " to " + iface);
+            for (StackTraceElement e : Thread.currentThread().getStackTrace()) {
+                Log.d("LinkProperties", "  " + e.toString());
+            }
+        }
+
         mIfaceName = iface;
         ArrayList<RouteInfo> newRoutes = new ArrayList<RouteInfo>(mRoutes.size());
         for (RouteInfo route : mRoutes) {
@@ -166,6 +177,13 @@ public class LinkProperties implements Parcelable {
     }
 
     public void clear() {
+        if (mLogMe) {
+            Log.d("LinkProperties", "clear from " + mIfaceName);
+            for (StackTraceElement e : Thread.currentThread().getStackTrace()) {
+                Log.d("LinkProperties", "  " + e.toString());
+            }
+        }
+
         mIfaceName = null;
         mLinkAddresses.clear();
         mDnses.clear();