Merge "Use InetAddress instead of String in network events." into oc-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
54e534d6e7
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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() {
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
|
||||
@@ -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());
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user