diff options
| -rw-r--r-- | services/net/java/android/net/ip/IpClient.java | 5 | ||||
| -rw-r--r-- | tests/net/java/android/net/ip/IpManagerTest.java | 6 |
2 files changed, 9 insertions, 2 deletions
diff --git a/services/net/java/android/net/ip/IpClient.java b/services/net/java/android/net/ip/IpClient.java index 70983c864ffc..5c58cdb6462b 100644 --- a/services/net/java/android/net/ip/IpClient.java +++ b/services/net/java/android/net/ip/IpClient.java @@ -163,10 +163,10 @@ public class IpClient extends StateMachine { // TODO: Find an lighter weight approach. private class LoggingCallbackWrapper extends Callback { private static final String PREFIX = "INVOKE "; - private Callback mCallback; + private final Callback mCallback; public LoggingCallbackWrapper(Callback callback) { - mCallback = callback; + mCallback = (callback != null) ? callback : new Callback(); } private void log(String msg) { @@ -1273,6 +1273,7 @@ public class IpClient extends StateMachine { stopAllIP(); resetLinkProperties(); + mCallback.onLinkPropertiesChange(new LinkProperties(mLinkProperties)); if (mStartTimeMillis > 0) { recordMetric(IpManagerEvent.COMPLETE_LIFECYCLE); mStartTimeMillis = 0; diff --git a/tests/net/java/android/net/ip/IpManagerTest.java b/tests/net/java/android/net/ip/IpManagerTest.java index 22d88fb70697..ebf121ae304a 100644 --- a/tests/net/java/android/net/ip/IpManagerTest.java +++ b/tests/net/java/android/net/ip/IpManagerTest.java @@ -69,6 +69,8 @@ import java.util.Set; /** * Tests for IpManager. + * + * TODO: Rename to IpClientTest. */ @RunWith(AndroidJUnit4.class) @SmallTest @@ -111,6 +113,10 @@ public class IpManagerTest { verify(mNMService, times(1)).registerObserver(arg.capture()); mObserver = arg.getValue(); reset(mNMService); + final LinkProperties emptyLp = new LinkProperties(); + emptyLp.setInterfaceName(ifname); + verify(mCb, timeout(100)).onLinkPropertiesChange(eq(emptyLp)); + reset(mCb); return ipm; } |