Merge "Use InetAddress instead of String in network events." into oc-dev

This commit is contained in:
TreeHugger Robot
2017-04-27 19:53:48 +00:00
committed by Android (Google) Code Review
6 changed files with 43 additions and 19 deletions

View File

@@ -6205,7 +6205,7 @@ package android.app {
package android.app.admin {
public final class ConnectEvent extends android.app.admin.NetworkEvent implements android.os.Parcelable {
method public java.lang.String getIpAddress();
method public java.net.InetAddress getInetAddress();
method public int getPort();
method public void writeToParcel(android.os.Parcel, int);
field public static final android.os.Parcelable.Creator<android.app.admin.ConnectEvent> CREATOR;
@@ -6548,8 +6548,8 @@ 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.lang.String[] getIpAddresses();
method public int getIpAddressesCount();
method public 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

@@ -6419,7 +6419,7 @@ package android.app {
package android.app.admin {
public final class ConnectEvent extends android.app.admin.NetworkEvent implements android.os.Parcelable {
method public java.lang.String getIpAddress();
method public java.net.InetAddress getInetAddress();
method public int getPort();
method public void writeToParcel(android.os.Parcel, int);
field public static final android.os.Parcelable.Creator<android.app.admin.ConnectEvent> CREATOR;
@@ -6796,8 +6796,8 @@ 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.lang.String[] getIpAddresses();
method public int getIpAddressesCount();
method public 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

@@ -6225,7 +6225,7 @@ package android.app {
package android.app.admin {
public final class ConnectEvent extends android.app.admin.NetworkEvent implements android.os.Parcelable {
method public java.lang.String getIpAddress();
method public java.net.InetAddress getInetAddress();
method public int getPort();
method public void writeToParcel(android.os.Parcel, int);
field public static final android.os.Parcelable.Creator<android.app.admin.ConnectEvent> CREATOR;
@@ -6578,8 +6578,8 @@ 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.lang.String[] getIpAddresses();
method public int getIpAddressesCount();
method public 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

@@ -19,6 +19,9 @@ package android.app.admin;
import android.os.Parcel;
import android.os.Parcelable;
import java.net.InetAddress;
import java.net.UnknownHostException;
/**
* A class that represents a connect library call event.
*/
@@ -44,8 +47,14 @@ public final class ConnectEvent extends NetworkEvent implements Parcelable {
this.timestamp = in.readLong();
}
public String getIpAddress() {
return ipAddress;
public InetAddress getInetAddress() {
try {
// ipAddress is already an address, not a host name, no DNS resolution will happen.
return InetAddress.getByName(ipAddress);
} catch (UnknownHostException e) {
// Should never happen as we aren't passing a host name.
return InetAddress.getLoopbackAddress();
}
}
public int getPort() {

View File

@@ -19,6 +19,9 @@ package android.app.admin;
import android.os.Parcel;
import android.os.Parcelable;
import java.net.InetAddress;
import java.net.UnknownHostException;
/**
* A class that represents a DNS lookup event.
*/
@@ -59,15 +62,27 @@ public final class DnsEvent extends NetworkEvent implements Parcelable {
}
/** Returns (possibly a subset of) the IP addresses returned. */
public String[] getIpAddresses() {
return ipAddresses;
public InetAddress[] getInetAddresses() {
final int length = ipAddresses != null ? ipAddresses.length : 0;
final InetAddress[] inetAddresses = new InetAddress[length];
for (int i = 0; i < length; i++) {
try {
// ipAddress is already an address, not a host name, no DNS resolution will happen.
inetAddresses[i] = InetAddress.getByName(ipAddresses[i]);
} catch (UnknownHostException e) {
// Should never happen as we aren't passing a host name.
inetAddresses[i] = InetAddress.getLoopbackAddress();
}
}
return inetAddresses;
}
/**
* Returns the number of IP addresses returned from the DNS lookup event. May be different from
* the length of ipAddresses if there were too many addresses to log.
* the length of the array returned by {@link #getInetAddresses()} if there were too many
* addresses to log.
*/
public int getIpAddressesCount() {
public int getTotalResolvedAddressCount() {
return ipAddressesCount;
}

View File

@@ -35,7 +35,7 @@ public class NetworkEventTest extends DpmTestBase {
p.setDataPosition(0);
ConnectEvent unparceledEvent = p.readParcelable(NetworkEventTest.class.getClassLoader());
p.recycle();
assertEquals(event.getIpAddress(), unparceledEvent.getIpAddress());
assertEquals(event.getInetAddress(), unparceledEvent.getInetAddress());
assertEquals(event.getPort(), unparceledEvent.getPort());
assertEquals(event.getPackageName(), unparceledEvent.getPackageName());
assertEquals(event.getTimestamp(), unparceledEvent.getTimestamp());
@@ -53,9 +53,9 @@ public class NetworkEventTest extends DpmTestBase {
DnsEvent unparceledEvent = p.readParcelable(NetworkEventTest.class.getClassLoader());
p.recycle();
assertEquals(event.getHostname(), unparceledEvent.getHostname());
assertEquals(event.getIpAddresses()[0], unparceledEvent.getIpAddresses()[0]);
assertEquals(event.getIpAddresses()[1], unparceledEvent.getIpAddresses()[1]);
assertEquals(event.getIpAddressesCount(), unparceledEvent.getIpAddressesCount());
assertEquals(event.getInetAddresses()[0], unparceledEvent.getInetAddresses()[0]);
assertEquals(event.getInetAddresses()[1], unparceledEvent.getInetAddresses()[1]);
assertEquals(event.getTotalResolvedAddressCount(), unparceledEvent.getTotalResolvedAddressCount());
assertEquals(event.getPackageName(), unparceledEvent.getPackageName());
assertEquals(event.getTimestamp(), unparceledEvent.getTimestamp());
}