From 174782b0fccf5685f8ed0fb93305cf623e508518 Mon Sep 17 00:00:00 2001 From: Lorenzo Colitti Date: Fri, 23 Aug 2013 20:54:49 +0900 Subject: [PATCH] Add a function to replace all the link addresses. Bug: 10232006 Change-Id: I689ce4735999dac2ab5e1fae09d80b1f734292a1 --- core/java/android/net/LinkProperties.java | 10 ++++++++++ .../src/android/net/LinkPropertiesTest.java | 15 +++++++++++++++ 2 files changed, 25 insertions(+) diff --git a/core/java/android/net/LinkProperties.java b/core/java/android/net/LinkProperties.java index 1f73c4ad71..43d6b71598 100644 --- a/core/java/android/net/LinkProperties.java +++ b/core/java/android/net/LinkProperties.java @@ -197,6 +197,16 @@ public class LinkProperties implements Parcelable { return addresses; } + /** + * Replaces the LinkAddresses on this link with the given collection of addresses. + */ + public void setLinkAddresses(Collection addresses) { + mLinkAddresses.clear(); + for (LinkAddress address: addresses) { + addLinkAddress(address); + } + } + public void addDns(InetAddress dns) { if (dns != null) mDnses.add(dns); } diff --git a/core/tests/coretests/src/android/net/LinkPropertiesTest.java b/core/tests/coretests/src/android/net/LinkPropertiesTest.java index a570802d29..7e70c6b046 100644 --- a/core/tests/coretests/src/android/net/LinkPropertiesTest.java +++ b/core/tests/coretests/src/android/net/LinkPropertiesTest.java @@ -363,4 +363,19 @@ public class LinkPropertiesTest extends TestCase { assertFalse(lp.hasIPv4Address()); assertFalse(lp.removeLinkAddress(LINKADDRV4)); } + + @SmallTest + public void testSetLinkAddresses() { + LinkProperties lp = new LinkProperties(); + lp.addLinkAddress(LINKADDRV4); + lp.addLinkAddress(LINKADDRV6); + + LinkProperties lp2 = new LinkProperties(); + lp2.addLinkAddress(LINKADDRV6); + + assertFalse(lp.equals(lp2)); + + lp2.setLinkAddresses(lp.getLinkAddresses()); + assertTrue(lp.equals(lp)); + } }