summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--api/current.txt2
-rw-r--r--api/system-current.txt2
-rw-r--r--api/test-current.txt2
-rw-r--r--core/java/android/app/admin/DnsEvent.java18
-rw-r--r--services/tests/servicestests/src/com/android/server/devicepolicy/NetworkEventTest.java7
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());
}