diff options
| -rw-r--r-- | api/current.txt | 2 | ||||
| -rw-r--r-- | api/system-current.txt | 2 | ||||
| -rw-r--r-- | api/test-current.txt | 2 | ||||
| -rw-r--r-- | core/java/android/app/admin/DnsEvent.java | 18 | ||||
| -rw-r--r-- | services/tests/servicestests/src/com/android/server/devicepolicy/NetworkEventTest.java | 7 |
5 files changed, 18 insertions, 13 deletions
diff --git a/api/current.txt b/api/current.txt index bc74a0afebfa..67d73107c05c 100644 --- a/api/current.txt +++ b/api/current.txt @@ -6532,7 +6532,7 @@ package android.app.admin { public final class DnsEvent extends android.app.admin.NetworkEvent implements android.os.Parcelable { method public java.lang.String getHostname(); - method public java.net.InetAddress[] getInetAddresses(); + method public java.util.List<java.net.InetAddress> getInetAddresses(); method public int getTotalResolvedAddressCount(); method public void writeToParcel(android.os.Parcel, int); field public static final android.os.Parcelable.Creator<android.app.admin.DnsEvent> CREATOR; diff --git a/api/system-current.txt b/api/system-current.txt index 1d3299e59a66..efc84866403b 100644 --- a/api/system-current.txt +++ b/api/system-current.txt @@ -6780,7 +6780,7 @@ package android.app.admin { public final class DnsEvent extends android.app.admin.NetworkEvent implements android.os.Parcelable { method public java.lang.String getHostname(); - method public java.net.InetAddress[] getInetAddresses(); + method public java.util.List<java.net.InetAddress> getInetAddresses(); method public int getTotalResolvedAddressCount(); method public void writeToParcel(android.os.Parcel, int); field public static final android.os.Parcelable.Creator<android.app.admin.DnsEvent> CREATOR; diff --git a/api/test-current.txt b/api/test-current.txt index df4b94a380f7..42bcfe52a3f5 100644 --- a/api/test-current.txt +++ b/api/test-current.txt @@ -6562,7 +6562,7 @@ package android.app.admin { public final class DnsEvent extends android.app.admin.NetworkEvent implements android.os.Parcelable { method public java.lang.String getHostname(); - method public java.net.InetAddress[] getInetAddresses(); + method public java.util.List<java.net.InetAddress> getInetAddresses(); method public int getTotalResolvedAddressCount(); method public void writeToParcel(android.os.Parcel, int); field public static final android.os.Parcelable.Creator<android.app.admin.DnsEvent> CREATOR; diff --git a/core/java/android/app/admin/DnsEvent.java b/core/java/android/app/admin/DnsEvent.java index 87f86b5e35ea..c21725f0e86f 100644 --- a/core/java/android/app/admin/DnsEvent.java +++ b/core/java/android/app/admin/DnsEvent.java @@ -21,6 +21,9 @@ import android.os.Parcelable; import java.net.InetAddress; import java.net.UnknownHostException; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; /** * A class that represents a DNS lookup event. @@ -62,16 +65,17 @@ public final class DnsEvent extends NetworkEvent implements Parcelable { } /** Returns (possibly a subset of) the IP addresses returned. */ - public InetAddress[] getInetAddresses() { - final int length = ipAddresses != null ? ipAddresses.length : 0; - final InetAddress[] inetAddresses = new InetAddress[length]; - for (int i = 0; i < length; i++) { + public List<InetAddress> getInetAddresses() { + if (ipAddresses == null || ipAddresses.length == 0) { + return Collections.emptyList(); + } + final List<InetAddress> inetAddresses = new ArrayList<>(ipAddresses.length); + for (final String ipAddress : ipAddresses) { try { // ipAddress is already an address, not a host name, no DNS resolution will happen. - inetAddresses[i] = InetAddress.getByName(ipAddresses[i]); + inetAddresses.add(InetAddress.getByName(ipAddress)); } catch (UnknownHostException e) { // Should never happen as we aren't passing a host name. - inetAddresses[i] = InetAddress.getLoopbackAddress(); } } return inetAddresses; @@ -79,7 +83,7 @@ public final class DnsEvent extends NetworkEvent implements Parcelable { /** * Returns the number of IP addresses returned from the DNS lookup event. May be different from - * the length of the array returned by {@link #getInetAddresses()} if there were too many + * the length of the list returned by {@link #getInetAddresses()} if there were too many * addresses to log. */ public int getTotalResolvedAddressCount() { diff --git a/services/tests/servicestests/src/com/android/server/devicepolicy/NetworkEventTest.java b/services/tests/servicestests/src/com/android/server/devicepolicy/NetworkEventTest.java index caa26e1e3fca..db317a0e4cca 100644 --- a/services/tests/servicestests/src/com/android/server/devicepolicy/NetworkEventTest.java +++ b/services/tests/servicestests/src/com/android/server/devicepolicy/NetworkEventTest.java @@ -53,9 +53,10 @@ public class NetworkEventTest extends DpmTestBase { DnsEvent unparceledEvent = p.readParcelable(NetworkEventTest.class.getClassLoader()); p.recycle(); assertEquals(event.getHostname(), unparceledEvent.getHostname()); - assertEquals(event.getInetAddresses()[0], unparceledEvent.getInetAddresses()[0]); - assertEquals(event.getInetAddresses()[1], unparceledEvent.getInetAddresses()[1]); - assertEquals(event.getTotalResolvedAddressCount(), unparceledEvent.getTotalResolvedAddressCount()); + assertEquals(event.getInetAddresses().get(0), unparceledEvent.getInetAddresses().get(0)); + assertEquals(event.getInetAddresses().get(1), unparceledEvent.getInetAddresses().get(1)); + assertEquals(event.getTotalResolvedAddressCount(), + unparceledEvent.getTotalResolvedAddressCount()); assertEquals(event.getPackageName(), unparceledEvent.getPackageName()); assertEquals(event.getTimestamp(), unparceledEvent.getTimestamp()); } |