Loading api/current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -6588,6 +6588,7 @@ package android.app.admin { public abstract class NetworkEvent implements android.os.Parcelable { method public int describeContents(); method public long getId(); method public java.lang.String getPackageName(); method public long getTimestamp(); field public static final android.os.Parcelable.Creator<android.app.admin.NetworkEvent> CREATOR; core/java/android/app/admin/ConnectEvent.java +18 −17 Original line number Diff line number Diff line Loading @@ -32,29 +32,30 @@ import java.net.UnknownHostException; public final class ConnectEvent extends NetworkEvent implements Parcelable { /** The destination IP address. */ private final String ipAddress; private final String mIpAddress; /** The destination port number. */ private final int port; private final int mPort; /** @hide */ public ConnectEvent(String ipAddress, int port, String packageName, long timestamp) { super(packageName, timestamp); this.ipAddress = ipAddress; this.port = port; this.mIpAddress = ipAddress; this.mPort = port; } private ConnectEvent(Parcel in) { this.ipAddress = in.readString(); this.port = in.readInt(); this.packageName = in.readString(); this.timestamp = in.readLong(); this.mIpAddress = in.readString(); this.mPort = in.readInt(); this.mPackageName = in.readString(); this.mTimestamp = in.readLong(); this.mId = in.readLong(); } public InetAddress getInetAddress() { try { // ipAddress is already an address, not a host name, no DNS resolution will happen. return InetAddress.getByName(ipAddress); return InetAddress.getByName(mIpAddress); } catch (UnknownHostException e) { // Should never happen as we aren't passing a host name. return InetAddress.getLoopbackAddress(); Loading @@ -62,13 +63,13 @@ public final class ConnectEvent extends NetworkEvent implements Parcelable { } public int getPort() { return port; return mPort; } @Override public String toString() { return String.format("ConnectEvent(%s, %d, %d, %s)", ipAddress, port, timestamp, packageName); return String.format("ConnectEvent(%s, %d, %d, %s)", mIpAddress, mPort, mTimestamp, mPackageName); } public static final Parcelable.Creator<ConnectEvent> CREATOR Loading Loading @@ -96,10 +97,10 @@ public final class ConnectEvent extends NetworkEvent implements Parcelable { public void writeToParcel(Parcel out, int flags) { // write parcel token first out.writeInt(PARCEL_TOKEN_CONNECT_EVENT); out.writeString(ipAddress); out.writeInt(port); out.writeString(packageName); out.writeLong(timestamp); out.writeString(mIpAddress); out.writeInt(mPort); out.writeString(mPackageName); out.writeLong(mTimestamp); out.writeLong(mId); } } core/java/android/app/admin/DnsEvent.java +26 −25 Original line number Diff line number Diff line Loading @@ -34,46 +34,47 @@ import java.util.List; public final class DnsEvent extends NetworkEvent implements Parcelable { /** The hostname that was looked up. */ private final String hostname; private final String mHostname; /** Contains (possibly a subset of) the IP addresses returned. */ private final String[] ipAddresses; private final String[] mIpAddresses; /** * 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. */ private final int ipAddressesCount; private final int mIpAddressesCount; /** @hide */ public DnsEvent(String hostname, String[] ipAddresses, int ipAddressesCount, String packageName, long timestamp) { super(packageName, timestamp); this.hostname = hostname; this.ipAddresses = ipAddresses; this.ipAddressesCount = ipAddressesCount; this.mHostname = hostname; this.mIpAddresses = ipAddresses; this.mIpAddressesCount = ipAddressesCount; } private DnsEvent(Parcel in) { this.hostname = in.readString(); this.ipAddresses = in.createStringArray(); this.ipAddressesCount = in.readInt(); this.packageName = in.readString(); this.timestamp = in.readLong(); this.mHostname = in.readString(); this.mIpAddresses = in.createStringArray(); this.mIpAddressesCount = in.readInt(); this.mPackageName = in.readString(); this.mTimestamp = in.readLong(); this.mId = in.readLong(); } /** Returns the hostname that was looked up. */ public String getHostname() { return hostname; return mHostname; } /** Returns (possibly a subset of) the IP addresses returned. */ public List<InetAddress> getInetAddresses() { if (ipAddresses == null || ipAddresses.length == 0) { if (mIpAddresses == null || mIpAddresses.length == 0) { return Collections.emptyList(); } final List<InetAddress> inetAddresses = new ArrayList<>(ipAddresses.length); for (final String ipAddress : ipAddresses) { final List<InetAddress> inetAddresses = new ArrayList<>(mIpAddresses.length); for (final String ipAddress : mIpAddresses) { try { // ipAddress is already an address, not a host name, no DNS resolution will happen. inetAddresses.add(InetAddress.getByName(ipAddress)); Loading @@ -90,14 +91,14 @@ public final class DnsEvent extends NetworkEvent implements Parcelable { * addresses to log. */ public int getTotalResolvedAddressCount() { return ipAddressesCount; return mIpAddressesCount; } @Override public String toString() { return String.format("DnsEvent(%s, %s, %d, %d, %s)", hostname, (ipAddresses == null) ? "NONE" : String.join(" ", ipAddresses), ipAddressesCount, timestamp, packageName); return String.format("DnsEvent(%s, %s, %d, %d, %s)", mHostname, (mIpAddresses == null) ? "NONE" : String.join(" ", mIpAddresses), mIpAddressesCount, mTimestamp, mPackageName); } public static final Parcelable.Creator<DnsEvent> CREATOR Loading Loading @@ -125,11 +126,11 @@ public final class DnsEvent extends NetworkEvent implements Parcelable { public void writeToParcel(Parcel out, int flags) { // write parcel token first out.writeInt(PARCEL_TOKEN_DNS_EVENT); out.writeString(hostname); out.writeStringArray(ipAddresses); out.writeInt(ipAddressesCount); out.writeString(packageName); out.writeLong(timestamp); out.writeString(mHostname); out.writeStringArray(mIpAddresses); out.writeInt(mIpAddressesCount); out.writeString(mPackageName); out.writeLong(mTimestamp); out.writeLong(mId); } } core/java/android/app/admin/NetworkEvent.java +23 −8 Original line number Diff line number Diff line Loading @@ -18,8 +18,8 @@ package android.app.admin; import android.content.pm.PackageManager; import android.os.Parcel; import android.os.Parcelable; import android.os.ParcelFormatException; import android.os.Parcelable; /** * An abstract class that represents a network event. Loading @@ -32,10 +32,13 @@ public abstract class NetworkEvent implements Parcelable { static final int PARCEL_TOKEN_CONNECT_EVENT = 2; /** The package name of the UID that performed the query. */ String packageName; String mPackageName; /** The timestamp of the event being reported in milliseconds. */ long timestamp; long mTimestamp; /** The id of the event. */ long mId; /** @hide */ NetworkEvent() { Loading @@ -44,8 +47,8 @@ public abstract class NetworkEvent implements Parcelable { /** @hide */ NetworkEvent(String packageName, long timestamp) { this.packageName = packageName; this.timestamp = timestamp; this.mPackageName = packageName; this.mTimestamp = timestamp; } /** Loading @@ -53,7 +56,7 @@ public abstract class NetworkEvent implements Parcelable { * {@link PackageManager#getNameForUid}. */ public String getPackageName() { return packageName; return mPackageName; } /** Loading @@ -61,7 +64,20 @@ public abstract class NetworkEvent implements Parcelable { * the time the event was reported and midnight, January 1, 1970 UTC. */ public long getTimestamp() { return timestamp; return mTimestamp; } /** @hide */ public void setId(long id) { this.mId = id; } /** * Returns the id of the event, where the id monotonically increases for each event. The id * is reset when the device reboots, and when network logging is enabled. */ public long getId() { return this.mId; } @Override Loading Loading @@ -95,4 +111,3 @@ public abstract class NetworkEvent implements Parcelable { @Override public abstract void writeToParcel(Parcel out, int flags); } services/devicepolicy/java/com/android/server/devicepolicy/NetworkLoggingHandler.java +6 −0 Original line number Diff line number Diff line Loading @@ -64,6 +64,8 @@ final class NetworkLoggingHandler extends Handler { private final DevicePolicyManagerService mDpm; private final AlarmManager mAlarmManager; private long mId; private final OnAlarmListener mBatchTimeoutAlarmListener = new OnAlarmListener() { @Override public void onAlarm() { Loading Loading @@ -185,6 +187,10 @@ final class NetworkLoggingHandler extends Handler { private Bundle finalizeBatchAndBuildDeviceOwnerMessageLocked() { Bundle notificationExtras = null; if (mNetworkEvents.size() > 0) { // Assign ids to the events. for (NetworkEvent event : mNetworkEvents) { event.setId(mId++); } // Finalize the batch and start a new one from scratch. if (mBatches.size() >= MAX_BATCHES) { // Remove the oldest batch if we hit the limit. Loading Loading
api/current.txt +1 −0 Original line number Diff line number Diff line Loading @@ -6588,6 +6588,7 @@ package android.app.admin { public abstract class NetworkEvent implements android.os.Parcelable { method public int describeContents(); method public long getId(); method public java.lang.String getPackageName(); method public long getTimestamp(); field public static final android.os.Parcelable.Creator<android.app.admin.NetworkEvent> CREATOR;
core/java/android/app/admin/ConnectEvent.java +18 −17 Original line number Diff line number Diff line Loading @@ -32,29 +32,30 @@ import java.net.UnknownHostException; public final class ConnectEvent extends NetworkEvent implements Parcelable { /** The destination IP address. */ private final String ipAddress; private final String mIpAddress; /** The destination port number. */ private final int port; private final int mPort; /** @hide */ public ConnectEvent(String ipAddress, int port, String packageName, long timestamp) { super(packageName, timestamp); this.ipAddress = ipAddress; this.port = port; this.mIpAddress = ipAddress; this.mPort = port; } private ConnectEvent(Parcel in) { this.ipAddress = in.readString(); this.port = in.readInt(); this.packageName = in.readString(); this.timestamp = in.readLong(); this.mIpAddress = in.readString(); this.mPort = in.readInt(); this.mPackageName = in.readString(); this.mTimestamp = in.readLong(); this.mId = in.readLong(); } public InetAddress getInetAddress() { try { // ipAddress is already an address, not a host name, no DNS resolution will happen. return InetAddress.getByName(ipAddress); return InetAddress.getByName(mIpAddress); } catch (UnknownHostException e) { // Should never happen as we aren't passing a host name. return InetAddress.getLoopbackAddress(); Loading @@ -62,13 +63,13 @@ public final class ConnectEvent extends NetworkEvent implements Parcelable { } public int getPort() { return port; return mPort; } @Override public String toString() { return String.format("ConnectEvent(%s, %d, %d, %s)", ipAddress, port, timestamp, packageName); return String.format("ConnectEvent(%s, %d, %d, %s)", mIpAddress, mPort, mTimestamp, mPackageName); } public static final Parcelable.Creator<ConnectEvent> CREATOR Loading Loading @@ -96,10 +97,10 @@ public final class ConnectEvent extends NetworkEvent implements Parcelable { public void writeToParcel(Parcel out, int flags) { // write parcel token first out.writeInt(PARCEL_TOKEN_CONNECT_EVENT); out.writeString(ipAddress); out.writeInt(port); out.writeString(packageName); out.writeLong(timestamp); out.writeString(mIpAddress); out.writeInt(mPort); out.writeString(mPackageName); out.writeLong(mTimestamp); out.writeLong(mId); } }
core/java/android/app/admin/DnsEvent.java +26 −25 Original line number Diff line number Diff line Loading @@ -34,46 +34,47 @@ import java.util.List; public final class DnsEvent extends NetworkEvent implements Parcelable { /** The hostname that was looked up. */ private final String hostname; private final String mHostname; /** Contains (possibly a subset of) the IP addresses returned. */ private final String[] ipAddresses; private final String[] mIpAddresses; /** * 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. */ private final int ipAddressesCount; private final int mIpAddressesCount; /** @hide */ public DnsEvent(String hostname, String[] ipAddresses, int ipAddressesCount, String packageName, long timestamp) { super(packageName, timestamp); this.hostname = hostname; this.ipAddresses = ipAddresses; this.ipAddressesCount = ipAddressesCount; this.mHostname = hostname; this.mIpAddresses = ipAddresses; this.mIpAddressesCount = ipAddressesCount; } private DnsEvent(Parcel in) { this.hostname = in.readString(); this.ipAddresses = in.createStringArray(); this.ipAddressesCount = in.readInt(); this.packageName = in.readString(); this.timestamp = in.readLong(); this.mHostname = in.readString(); this.mIpAddresses = in.createStringArray(); this.mIpAddressesCount = in.readInt(); this.mPackageName = in.readString(); this.mTimestamp = in.readLong(); this.mId = in.readLong(); } /** Returns the hostname that was looked up. */ public String getHostname() { return hostname; return mHostname; } /** Returns (possibly a subset of) the IP addresses returned. */ public List<InetAddress> getInetAddresses() { if (ipAddresses == null || ipAddresses.length == 0) { if (mIpAddresses == null || mIpAddresses.length == 0) { return Collections.emptyList(); } final List<InetAddress> inetAddresses = new ArrayList<>(ipAddresses.length); for (final String ipAddress : ipAddresses) { final List<InetAddress> inetAddresses = new ArrayList<>(mIpAddresses.length); for (final String ipAddress : mIpAddresses) { try { // ipAddress is already an address, not a host name, no DNS resolution will happen. inetAddresses.add(InetAddress.getByName(ipAddress)); Loading @@ -90,14 +91,14 @@ public final class DnsEvent extends NetworkEvent implements Parcelable { * addresses to log. */ public int getTotalResolvedAddressCount() { return ipAddressesCount; return mIpAddressesCount; } @Override public String toString() { return String.format("DnsEvent(%s, %s, %d, %d, %s)", hostname, (ipAddresses == null) ? "NONE" : String.join(" ", ipAddresses), ipAddressesCount, timestamp, packageName); return String.format("DnsEvent(%s, %s, %d, %d, %s)", mHostname, (mIpAddresses == null) ? "NONE" : String.join(" ", mIpAddresses), mIpAddressesCount, mTimestamp, mPackageName); } public static final Parcelable.Creator<DnsEvent> CREATOR Loading Loading @@ -125,11 +126,11 @@ public final class DnsEvent extends NetworkEvent implements Parcelable { public void writeToParcel(Parcel out, int flags) { // write parcel token first out.writeInt(PARCEL_TOKEN_DNS_EVENT); out.writeString(hostname); out.writeStringArray(ipAddresses); out.writeInt(ipAddressesCount); out.writeString(packageName); out.writeLong(timestamp); out.writeString(mHostname); out.writeStringArray(mIpAddresses); out.writeInt(mIpAddressesCount); out.writeString(mPackageName); out.writeLong(mTimestamp); out.writeLong(mId); } }
core/java/android/app/admin/NetworkEvent.java +23 −8 Original line number Diff line number Diff line Loading @@ -18,8 +18,8 @@ package android.app.admin; import android.content.pm.PackageManager; import android.os.Parcel; import android.os.Parcelable; import android.os.ParcelFormatException; import android.os.Parcelable; /** * An abstract class that represents a network event. Loading @@ -32,10 +32,13 @@ public abstract class NetworkEvent implements Parcelable { static final int PARCEL_TOKEN_CONNECT_EVENT = 2; /** The package name of the UID that performed the query. */ String packageName; String mPackageName; /** The timestamp of the event being reported in milliseconds. */ long timestamp; long mTimestamp; /** The id of the event. */ long mId; /** @hide */ NetworkEvent() { Loading @@ -44,8 +47,8 @@ public abstract class NetworkEvent implements Parcelable { /** @hide */ NetworkEvent(String packageName, long timestamp) { this.packageName = packageName; this.timestamp = timestamp; this.mPackageName = packageName; this.mTimestamp = timestamp; } /** Loading @@ -53,7 +56,7 @@ public abstract class NetworkEvent implements Parcelable { * {@link PackageManager#getNameForUid}. */ public String getPackageName() { return packageName; return mPackageName; } /** Loading @@ -61,7 +64,20 @@ public abstract class NetworkEvent implements Parcelable { * the time the event was reported and midnight, January 1, 1970 UTC. */ public long getTimestamp() { return timestamp; return mTimestamp; } /** @hide */ public void setId(long id) { this.mId = id; } /** * Returns the id of the event, where the id monotonically increases for each event. The id * is reset when the device reboots, and when network logging is enabled. */ public long getId() { return this.mId; } @Override Loading Loading @@ -95,4 +111,3 @@ public abstract class NetworkEvent implements Parcelable { @Override public abstract void writeToParcel(Parcel out, int flags); }
services/devicepolicy/java/com/android/server/devicepolicy/NetworkLoggingHandler.java +6 −0 Original line number Diff line number Diff line Loading @@ -64,6 +64,8 @@ final class NetworkLoggingHandler extends Handler { private final DevicePolicyManagerService mDpm; private final AlarmManager mAlarmManager; private long mId; private final OnAlarmListener mBatchTimeoutAlarmListener = new OnAlarmListener() { @Override public void onAlarm() { Loading Loading @@ -185,6 +187,10 @@ final class NetworkLoggingHandler extends Handler { private Bundle finalizeBatchAndBuildDeviceOwnerMessageLocked() { Bundle notificationExtras = null; if (mNetworkEvents.size() > 0) { // Assign ids to the events. for (NetworkEvent event : mNetworkEvents) { event.setId(mId++); } // Finalize the batch and start a new one from scratch. if (mBatches.size() >= MAX_BATCHES) { // Remove the oldest batch if we hit the limit. Loading