Merge "Use List instead of array in network logging API." into oc-dev

This commit is contained in:
TreeHugger Robot
2017-04-28 22:59:55 +00:00
committed by Android (Google) Code Review
5 changed files with 18 additions and 13 deletions

View File

@@ -6531,7 +6531,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;

View File

@@ -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;

View File

@@ -6561,7 +6561,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;

View File

@@ -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() {

View File

@@ -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());
}