Loading api/system-current.txt +140 −0 Original line number Diff line number Diff line Loading @@ -3179,6 +3179,146 @@ package android.net { } package android.net.metrics { public final class ApfProgramEvent implements android.net.metrics.IpConnectivityLog.Event { } public static class ApfProgramEvent.Builder { ctor public ApfProgramEvent.Builder(); method public android.net.metrics.ApfProgramEvent build(); method public android.net.metrics.ApfProgramEvent.Builder setActualLifetime(long); method public android.net.metrics.ApfProgramEvent.Builder setCurrentRas(int); method public android.net.metrics.ApfProgramEvent.Builder setFilteredRas(int); method public android.net.metrics.ApfProgramEvent.Builder setFlags(boolean, boolean); method public android.net.metrics.ApfProgramEvent.Builder setLifetime(long); method public android.net.metrics.ApfProgramEvent.Builder setProgramLength(int); } public final class ApfStats implements android.net.metrics.IpConnectivityLog.Event { } public static class ApfStats.Builder { ctor public ApfStats.Builder(); method public android.net.metrics.ApfStats build(); method public android.net.metrics.ApfStats.Builder setDroppedRas(int); method public android.net.metrics.ApfStats.Builder setDurationMs(long); method public android.net.metrics.ApfStats.Builder setMatchingRas(int); method public android.net.metrics.ApfStats.Builder setMaxProgramSize(int); method public android.net.metrics.ApfStats.Builder setParseErrors(int); method public android.net.metrics.ApfStats.Builder setProgramUpdates(int); method public android.net.metrics.ApfStats.Builder setProgramUpdatesAll(int); method public android.net.metrics.ApfStats.Builder setProgramUpdatesAllowingMulticast(int); method public android.net.metrics.ApfStats.Builder setReceivedRas(int); method public android.net.metrics.ApfStats.Builder setZeroLifetimeRas(int); } public final class DhcpClientEvent implements android.net.metrics.IpConnectivityLog.Event { } public static class DhcpClientEvent.Builder { ctor public DhcpClientEvent.Builder(); method public android.net.metrics.DhcpClientEvent build(); method public android.net.metrics.DhcpClientEvent.Builder setDurationMs(int); method public android.net.metrics.DhcpClientEvent.Builder setMsg(String); } public final class DhcpErrorEvent implements android.net.metrics.IpConnectivityLog.Event { ctor public DhcpErrorEvent(int); method public static int errorCodeWithOption(int, int); field public static final int BOOTP_TOO_SHORT; field public static final int BUFFER_UNDERFLOW; field public static final int DHCP_BAD_MAGIC_COOKIE; field public static final int DHCP_ERROR = 4; // 0x4 field public static final int DHCP_INVALID_OPTION_LENGTH; field public static final int DHCP_NO_COOKIE; field public static final int DHCP_NO_MSG_TYPE; field public static final int DHCP_UNKNOWN_MSG_TYPE; field public static final int L2_ERROR = 1; // 0x1 field public static final int L2_TOO_SHORT; field public static final int L2_WRONG_ETH_TYPE; field public static final int L3_ERROR = 2; // 0x2 field public static final int L3_INVALID_IP; field public static final int L3_NOT_IPV4; field public static final int L3_TOO_SHORT; field public static final int L4_ERROR = 3; // 0x3 field public static final int L4_NOT_UDP; field public static final int L4_WRONG_PORT; field public static final int MISC_ERROR = 5; // 0x5 field public static final int PARSING_ERROR; field public static final int RECEIVE_ERROR; } public class IpConnectivityLog { method public boolean log(long, android.net.metrics.IpConnectivityLog.Event); method public boolean log(String, android.net.metrics.IpConnectivityLog.Event); method public boolean log(int, int[], android.net.metrics.IpConnectivityLog.Event); method public boolean log(android.net.metrics.IpConnectivityLog.Event); } public static interface IpConnectivityLog.Event extends android.os.Parcelable { } public final class IpManagerEvent implements android.net.metrics.IpConnectivityLog.Event { ctor public IpManagerEvent(int, long); field public static final int COMPLETE_LIFECYCLE = 3; // 0x3 field public static final int ERROR_INTERFACE_NOT_FOUND = 8; // 0x8 field public static final int ERROR_INVALID_PROVISIONING = 7; // 0x7 field public static final int ERROR_STARTING_IPREACHABILITYMONITOR = 6; // 0x6 field public static final int ERROR_STARTING_IPV4 = 4; // 0x4 field public static final int ERROR_STARTING_IPV6 = 5; // 0x5 field public static final int PROVISIONING_FAIL = 2; // 0x2 field public static final int PROVISIONING_OK = 1; // 0x1 } public final class IpReachabilityEvent implements android.net.metrics.IpConnectivityLog.Event { ctor public IpReachabilityEvent(int); field public static final int NUD_FAILED = 512; // 0x200 field public static final int NUD_FAILED_ORGANIC = 1024; // 0x400 field public static final int PROBE = 256; // 0x100 field public static final int PROVISIONING_LOST = 768; // 0x300 field public static final int PROVISIONING_LOST_ORGANIC = 1280; // 0x500 } public final class NetworkEvent implements android.net.metrics.IpConnectivityLog.Event { ctor public NetworkEvent(int, long); ctor public NetworkEvent(int); field public static final int NETWORK_CAPTIVE_PORTAL_FOUND = 4; // 0x4 field public static final int NETWORK_CONNECTED = 1; // 0x1 field public static final int NETWORK_CONSECUTIVE_DNS_TIMEOUT_FOUND = 12; // 0xc field public static final int NETWORK_DISCONNECTED = 7; // 0x7 field public static final int NETWORK_FIRST_VALIDATION_PORTAL_FOUND = 10; // 0xa field public static final int NETWORK_FIRST_VALIDATION_SUCCESS = 8; // 0x8 field public static final int NETWORK_LINGER = 5; // 0x5 field public static final int NETWORK_REVALIDATION_PORTAL_FOUND = 11; // 0xb field public static final int NETWORK_REVALIDATION_SUCCESS = 9; // 0x9 field public static final int NETWORK_UNLINGER = 6; // 0x6 field public static final int NETWORK_VALIDATED = 2; // 0x2 field public static final int NETWORK_VALIDATION_FAILED = 3; // 0x3 } public final class ValidationProbeEvent implements android.net.metrics.IpConnectivityLog.Event { method public static String getProbeName(int); field public static final int DNS_FAILURE = 0; // 0x0 field public static final int DNS_SUCCESS = 1; // 0x1 field public static final int PROBE_DNS = 0; // 0x0 field public static final int PROBE_FALLBACK = 4; // 0x4 field public static final int PROBE_HTTP = 1; // 0x1 field public static final int PROBE_HTTPS = 2; // 0x2 field public static final int PROBE_PAC = 3; // 0x3 field public static final int PROBE_PRIVDNS = 5; // 0x5 } public static class ValidationProbeEvent.Builder { ctor public ValidationProbeEvent.Builder(); method public android.net.metrics.ValidationProbeEvent build(); method public android.net.metrics.ValidationProbeEvent.Builder setDurationMs(long); method public android.net.metrics.ValidationProbeEvent.Builder setProbeType(int, boolean); method public android.net.metrics.ValidationProbeEvent.Builder setReturnCode(int); } } package android.net.wifi { @Deprecated public class RttManager { Loading api/test-current.txt +140 −0 Original line number Diff line number Diff line Loading @@ -645,6 +645,146 @@ package android.net { } package android.net.metrics { public final class ApfProgramEvent implements android.net.metrics.IpConnectivityLog.Event { } public static class ApfProgramEvent.Builder { ctor public ApfProgramEvent.Builder(); method public android.net.metrics.ApfProgramEvent build(); method public android.net.metrics.ApfProgramEvent.Builder setActualLifetime(long); method public android.net.metrics.ApfProgramEvent.Builder setCurrentRas(int); method public android.net.metrics.ApfProgramEvent.Builder setFilteredRas(int); method public android.net.metrics.ApfProgramEvent.Builder setFlags(boolean, boolean); method public android.net.metrics.ApfProgramEvent.Builder setLifetime(long); method public android.net.metrics.ApfProgramEvent.Builder setProgramLength(int); } public final class ApfStats implements android.net.metrics.IpConnectivityLog.Event { } public static class ApfStats.Builder { ctor public ApfStats.Builder(); method public android.net.metrics.ApfStats build(); method public android.net.metrics.ApfStats.Builder setDroppedRas(int); method public android.net.metrics.ApfStats.Builder setDurationMs(long); method public android.net.metrics.ApfStats.Builder setMatchingRas(int); method public android.net.metrics.ApfStats.Builder setMaxProgramSize(int); method public android.net.metrics.ApfStats.Builder setParseErrors(int); method public android.net.metrics.ApfStats.Builder setProgramUpdates(int); method public android.net.metrics.ApfStats.Builder setProgramUpdatesAll(int); method public android.net.metrics.ApfStats.Builder setProgramUpdatesAllowingMulticast(int); method public android.net.metrics.ApfStats.Builder setReceivedRas(int); method public android.net.metrics.ApfStats.Builder setZeroLifetimeRas(int); } public final class DhcpClientEvent implements android.net.metrics.IpConnectivityLog.Event { } public static class DhcpClientEvent.Builder { ctor public DhcpClientEvent.Builder(); method public android.net.metrics.DhcpClientEvent build(); method public android.net.metrics.DhcpClientEvent.Builder setDurationMs(int); method public android.net.metrics.DhcpClientEvent.Builder setMsg(String); } public final class DhcpErrorEvent implements android.net.metrics.IpConnectivityLog.Event { ctor public DhcpErrorEvent(int); method public static int errorCodeWithOption(int, int); field public static final int BOOTP_TOO_SHORT; field public static final int BUFFER_UNDERFLOW; field public static final int DHCP_BAD_MAGIC_COOKIE; field public static final int DHCP_ERROR = 4; // 0x4 field public static final int DHCP_INVALID_OPTION_LENGTH; field public static final int DHCP_NO_COOKIE; field public static final int DHCP_NO_MSG_TYPE; field public static final int DHCP_UNKNOWN_MSG_TYPE; field public static final int L2_ERROR = 1; // 0x1 field public static final int L2_TOO_SHORT; field public static final int L2_WRONG_ETH_TYPE; field public static final int L3_ERROR = 2; // 0x2 field public static final int L3_INVALID_IP; field public static final int L3_NOT_IPV4; field public static final int L3_TOO_SHORT; field public static final int L4_ERROR = 3; // 0x3 field public static final int L4_NOT_UDP; field public static final int L4_WRONG_PORT; field public static final int MISC_ERROR = 5; // 0x5 field public static final int PARSING_ERROR; field public static final int RECEIVE_ERROR; } public class IpConnectivityLog { method public boolean log(long, android.net.metrics.IpConnectivityLog.Event); method public boolean log(String, android.net.metrics.IpConnectivityLog.Event); method public boolean log(int, int[], android.net.metrics.IpConnectivityLog.Event); method public boolean log(android.net.metrics.IpConnectivityLog.Event); } public static interface IpConnectivityLog.Event extends android.os.Parcelable { } public final class IpManagerEvent implements android.net.metrics.IpConnectivityLog.Event { ctor public IpManagerEvent(int, long); field public static final int COMPLETE_LIFECYCLE = 3; // 0x3 field public static final int ERROR_INTERFACE_NOT_FOUND = 8; // 0x8 field public static final int ERROR_INVALID_PROVISIONING = 7; // 0x7 field public static final int ERROR_STARTING_IPREACHABILITYMONITOR = 6; // 0x6 field public static final int ERROR_STARTING_IPV4 = 4; // 0x4 field public static final int ERROR_STARTING_IPV6 = 5; // 0x5 field public static final int PROVISIONING_FAIL = 2; // 0x2 field public static final int PROVISIONING_OK = 1; // 0x1 } public final class IpReachabilityEvent implements android.net.metrics.IpConnectivityLog.Event { ctor public IpReachabilityEvent(int); field public static final int NUD_FAILED = 512; // 0x200 field public static final int NUD_FAILED_ORGANIC = 1024; // 0x400 field public static final int PROBE = 256; // 0x100 field public static final int PROVISIONING_LOST = 768; // 0x300 field public static final int PROVISIONING_LOST_ORGANIC = 1280; // 0x500 } public final class NetworkEvent implements android.net.metrics.IpConnectivityLog.Event { ctor public NetworkEvent(int, long); ctor public NetworkEvent(int); field public static final int NETWORK_CAPTIVE_PORTAL_FOUND = 4; // 0x4 field public static final int NETWORK_CONNECTED = 1; // 0x1 field public static final int NETWORK_CONSECUTIVE_DNS_TIMEOUT_FOUND = 12; // 0xc field public static final int NETWORK_DISCONNECTED = 7; // 0x7 field public static final int NETWORK_FIRST_VALIDATION_PORTAL_FOUND = 10; // 0xa field public static final int NETWORK_FIRST_VALIDATION_SUCCESS = 8; // 0x8 field public static final int NETWORK_LINGER = 5; // 0x5 field public static final int NETWORK_REVALIDATION_PORTAL_FOUND = 11; // 0xb field public static final int NETWORK_REVALIDATION_SUCCESS = 9; // 0x9 field public static final int NETWORK_UNLINGER = 6; // 0x6 field public static final int NETWORK_VALIDATED = 2; // 0x2 field public static final int NETWORK_VALIDATION_FAILED = 3; // 0x3 } public final class ValidationProbeEvent implements android.net.metrics.IpConnectivityLog.Event { method public static String getProbeName(int); field public static final int DNS_FAILURE = 0; // 0x0 field public static final int DNS_SUCCESS = 1; // 0x1 field public static final int PROBE_DNS = 0; // 0x0 field public static final int PROBE_FALLBACK = 4; // 0x4 field public static final int PROBE_HTTP = 1; // 0x1 field public static final int PROBE_HTTPS = 2; // 0x2 field public static final int PROBE_PAC = 3; // 0x3 field public static final int PROBE_PRIVDNS = 5; // 0x5 } public static class ValidationProbeEvent.Builder { ctor public ValidationProbeEvent.Builder(); method public android.net.metrics.ValidationProbeEvent build(); method public android.net.metrics.ValidationProbeEvent.Builder setDurationMs(long); method public android.net.metrics.ValidationProbeEvent.Builder setProbeType(int, boolean); method public android.net.metrics.ValidationProbeEvent.Builder setReturnCode(int); } } package android.os { public static class Build.VERSION { Loading core/java/android/net/metrics/ApfProgramEvent.java +100 −10 Original line number Diff line number Diff line Loading @@ -17,6 +17,8 @@ package android.net.metrics; import android.annotation.IntDef; import android.annotation.SystemApi; import android.annotation.TestApi; import android.annotation.UnsupportedAppUsage; import android.os.Parcel; import android.os.Parcelable; Loading @@ -36,11 +38,15 @@ import java.util.List; * the APF program in place with a new APF program. * {@hide} */ public final class ApfProgramEvent implements Parcelable { @TestApi @SystemApi public final class ApfProgramEvent implements IpConnectivityLog.Event { // Bitflag constants describing what an Apf program filters. // Bits are indexeds from LSB to MSB, starting at index 0. /** @hide */ public static final int FLAG_MULTICAST_FILTER_ON = 0; /** @hide */ public static final int FLAG_HAS_IPV4_ADDRESS = 1; /** {@hide} */ Loading @@ -48,21 +54,33 @@ public final class ApfProgramEvent implements Parcelable { @Retention(RetentionPolicy.SOURCE) public @interface Flags {} /** @hide */ @UnsupportedAppUsage public long lifetime; // Maximum computed lifetime of the program in seconds public final long lifetime; // Maximum computed lifetime of the program in seconds /** @hide */ @UnsupportedAppUsage public long actualLifetime; // Effective program lifetime in seconds public final long actualLifetime; // Effective program lifetime in seconds /** @hide */ @UnsupportedAppUsage public int filteredRas; // Number of RAs filtered by the APF program public final int filteredRas; // Number of RAs filtered by the APF program /** @hide */ @UnsupportedAppUsage public int currentRas; // Total number of current RAs at generation time public final int currentRas; // Total number of current RAs at generation time /** @hide */ @UnsupportedAppUsage public int programLength; // Length of the APF program in bytes public final int programLength; // Length of the APF program in bytes /** @hide */ @UnsupportedAppUsage public int flags; // Bitfield compound of FLAG_* constants @UnsupportedAppUsage public ApfProgramEvent() { public final int flags; // Bitfield compound of FLAG_* constants private ApfProgramEvent(long lifetime, long actualLifetime, int filteredRas, int currentRas, int programLength, int flags) { this.lifetime = lifetime; this.actualLifetime = actualLifetime; this.filteredRas = filteredRas; this.currentRas = currentRas; this.programLength = programLength; this.flags = flags; } private ApfProgramEvent(Parcel in) { Loading @@ -74,6 +92,75 @@ public final class ApfProgramEvent implements Parcelable { this.flags = in.readInt(); } /** * Utility to create an instance of {@link ApfProgramEvent}. */ public static class Builder { private long mLifetime; private long mActualLifetime; private int mFilteredRas; private int mCurrentRas; private int mProgramLength; private int mFlags; /** * Set the maximum computed lifetime of the program in seconds. */ public Builder setLifetime(long lifetime) { mLifetime = lifetime; return this; } /** * Set the effective program lifetime in seconds. */ public Builder setActualLifetime(long lifetime) { mActualLifetime = lifetime; return this; } /** * Set the number of RAs filtered by the APF program. */ public Builder setFilteredRas(int filteredRas) { mFilteredRas = filteredRas; return this; } /** * Set the total number of current RAs at generation time. */ public Builder setCurrentRas(int currentRas) { mCurrentRas = currentRas; return this; } /** * Set the length of the APF program in bytes. */ public Builder setProgramLength(int programLength) { mProgramLength = programLength; return this; } /** * Set the flags describing what an Apf program filters. */ public Builder setFlags(boolean hasIPv4, boolean multicastFilterOn) { mFlags = flagsFor(hasIPv4, multicastFilterOn); return this; } /** * Build a new {@link ApfProgramEvent}. */ public ApfProgramEvent build() { return new ApfProgramEvent(mLifetime, mActualLifetime, mFilteredRas, mCurrentRas, mProgramLength, mFlags); } } /** @hide */ @Override public void writeToParcel(Parcel out, int flags) { out.writeLong(lifetime); Loading @@ -84,6 +171,7 @@ public final class ApfProgramEvent implements Parcelable { out.writeInt(flags); } /** @hide */ @Override public int describeContents() { return 0; Loading @@ -96,6 +184,7 @@ public final class ApfProgramEvent implements Parcelable { programLength, actualLifetime, lifetimeString, namesOf(flags)); } /** @hide */ public static final Parcelable.Creator<ApfProgramEvent> CREATOR = new Parcelable.Creator<ApfProgramEvent>() { public ApfProgramEvent createFromParcel(Parcel in) { Loading @@ -107,6 +196,7 @@ public final class ApfProgramEvent implements Parcelable { } }; /** @hide */ @UnsupportedAppUsage public static @Flags int flagsFor(boolean hasIPv4, boolean multicastFilterOn) { int bitfield = 0; Loading core/java/android/net/metrics/ApfStats.java +181 −25 File changed.Preview size limit exceeded, changes collapsed. Show changes core/java/android/net/metrics/DhcpClientEvent.java +42 −2 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ package android.net.metrics; import android.annotation.SystemApi; import android.annotation.TestApi; import android.annotation.UnsupportedAppUsage; import android.os.Parcel; import android.os.Parcelable; Loading @@ -24,7 +26,9 @@ import android.os.Parcelable; * An event recorded when a DhcpClient state machine transitions to a new state. * {@hide} */ public final class DhcpClientEvent implements Parcelable { @SystemApi @TestApi public final class DhcpClientEvent implements IpConnectivityLog.Event { // Names for recording DhcpClient pseudo-state transitions. /** {@hide} Represents transitions from DhcpInitState to DhcpBoundState */ Loading @@ -32,11 +36,13 @@ public final class DhcpClientEvent implements Parcelable { /** {@hide} Represents transitions from and to DhcpBoundState via DhcpRenewingState */ public static final String RENEWING_BOUND = "RenewingBoundState"; /** @hide */ public final String msg; /** @hide */ public final int durationMs; @UnsupportedAppUsage public DhcpClientEvent(String msg, int durationMs) { private DhcpClientEvent(String msg, int durationMs) { this.msg = msg; this.durationMs = durationMs; } Loading @@ -46,12 +52,45 @@ public final class DhcpClientEvent implements Parcelable { this.durationMs = in.readInt(); } /** * Utility to create an instance of {@link ApfProgramEvent}. */ public static class Builder { private String mMsg; private int mDurationMs; /** * Set the message of the event. */ public Builder setMsg(String msg) { mMsg = msg; return this; } /** * Set the duration of the event in milliseconds. */ public Builder setDurationMs(int durationMs) { mDurationMs = durationMs; return this; } /** * Create a new {@link DhcpClientEvent}. */ public DhcpClientEvent build() { return new DhcpClientEvent(mMsg, mDurationMs); } } /** @hide */ @Override public void writeToParcel(Parcel out, int flags) { out.writeString(msg); out.writeInt(durationMs); } /** @hide */ @Override public int describeContents() { return 0; Loading @@ -62,6 +101,7 @@ public final class DhcpClientEvent implements Parcelable { return String.format("DhcpClientEvent(%s, %dms)", msg, durationMs); } /** @hide */ public static final Parcelable.Creator<DhcpClientEvent> CREATOR = new Parcelable.Creator<DhcpClientEvent>() { public DhcpClientEvent createFromParcel(Parcel in) { Loading Loading
api/system-current.txt +140 −0 Original line number Diff line number Diff line Loading @@ -3179,6 +3179,146 @@ package android.net { } package android.net.metrics { public final class ApfProgramEvent implements android.net.metrics.IpConnectivityLog.Event { } public static class ApfProgramEvent.Builder { ctor public ApfProgramEvent.Builder(); method public android.net.metrics.ApfProgramEvent build(); method public android.net.metrics.ApfProgramEvent.Builder setActualLifetime(long); method public android.net.metrics.ApfProgramEvent.Builder setCurrentRas(int); method public android.net.metrics.ApfProgramEvent.Builder setFilteredRas(int); method public android.net.metrics.ApfProgramEvent.Builder setFlags(boolean, boolean); method public android.net.metrics.ApfProgramEvent.Builder setLifetime(long); method public android.net.metrics.ApfProgramEvent.Builder setProgramLength(int); } public final class ApfStats implements android.net.metrics.IpConnectivityLog.Event { } public static class ApfStats.Builder { ctor public ApfStats.Builder(); method public android.net.metrics.ApfStats build(); method public android.net.metrics.ApfStats.Builder setDroppedRas(int); method public android.net.metrics.ApfStats.Builder setDurationMs(long); method public android.net.metrics.ApfStats.Builder setMatchingRas(int); method public android.net.metrics.ApfStats.Builder setMaxProgramSize(int); method public android.net.metrics.ApfStats.Builder setParseErrors(int); method public android.net.metrics.ApfStats.Builder setProgramUpdates(int); method public android.net.metrics.ApfStats.Builder setProgramUpdatesAll(int); method public android.net.metrics.ApfStats.Builder setProgramUpdatesAllowingMulticast(int); method public android.net.metrics.ApfStats.Builder setReceivedRas(int); method public android.net.metrics.ApfStats.Builder setZeroLifetimeRas(int); } public final class DhcpClientEvent implements android.net.metrics.IpConnectivityLog.Event { } public static class DhcpClientEvent.Builder { ctor public DhcpClientEvent.Builder(); method public android.net.metrics.DhcpClientEvent build(); method public android.net.metrics.DhcpClientEvent.Builder setDurationMs(int); method public android.net.metrics.DhcpClientEvent.Builder setMsg(String); } public final class DhcpErrorEvent implements android.net.metrics.IpConnectivityLog.Event { ctor public DhcpErrorEvent(int); method public static int errorCodeWithOption(int, int); field public static final int BOOTP_TOO_SHORT; field public static final int BUFFER_UNDERFLOW; field public static final int DHCP_BAD_MAGIC_COOKIE; field public static final int DHCP_ERROR = 4; // 0x4 field public static final int DHCP_INVALID_OPTION_LENGTH; field public static final int DHCP_NO_COOKIE; field public static final int DHCP_NO_MSG_TYPE; field public static final int DHCP_UNKNOWN_MSG_TYPE; field public static final int L2_ERROR = 1; // 0x1 field public static final int L2_TOO_SHORT; field public static final int L2_WRONG_ETH_TYPE; field public static final int L3_ERROR = 2; // 0x2 field public static final int L3_INVALID_IP; field public static final int L3_NOT_IPV4; field public static final int L3_TOO_SHORT; field public static final int L4_ERROR = 3; // 0x3 field public static final int L4_NOT_UDP; field public static final int L4_WRONG_PORT; field public static final int MISC_ERROR = 5; // 0x5 field public static final int PARSING_ERROR; field public static final int RECEIVE_ERROR; } public class IpConnectivityLog { method public boolean log(long, android.net.metrics.IpConnectivityLog.Event); method public boolean log(String, android.net.metrics.IpConnectivityLog.Event); method public boolean log(int, int[], android.net.metrics.IpConnectivityLog.Event); method public boolean log(android.net.metrics.IpConnectivityLog.Event); } public static interface IpConnectivityLog.Event extends android.os.Parcelable { } public final class IpManagerEvent implements android.net.metrics.IpConnectivityLog.Event { ctor public IpManagerEvent(int, long); field public static final int COMPLETE_LIFECYCLE = 3; // 0x3 field public static final int ERROR_INTERFACE_NOT_FOUND = 8; // 0x8 field public static final int ERROR_INVALID_PROVISIONING = 7; // 0x7 field public static final int ERROR_STARTING_IPREACHABILITYMONITOR = 6; // 0x6 field public static final int ERROR_STARTING_IPV4 = 4; // 0x4 field public static final int ERROR_STARTING_IPV6 = 5; // 0x5 field public static final int PROVISIONING_FAIL = 2; // 0x2 field public static final int PROVISIONING_OK = 1; // 0x1 } public final class IpReachabilityEvent implements android.net.metrics.IpConnectivityLog.Event { ctor public IpReachabilityEvent(int); field public static final int NUD_FAILED = 512; // 0x200 field public static final int NUD_FAILED_ORGANIC = 1024; // 0x400 field public static final int PROBE = 256; // 0x100 field public static final int PROVISIONING_LOST = 768; // 0x300 field public static final int PROVISIONING_LOST_ORGANIC = 1280; // 0x500 } public final class NetworkEvent implements android.net.metrics.IpConnectivityLog.Event { ctor public NetworkEvent(int, long); ctor public NetworkEvent(int); field public static final int NETWORK_CAPTIVE_PORTAL_FOUND = 4; // 0x4 field public static final int NETWORK_CONNECTED = 1; // 0x1 field public static final int NETWORK_CONSECUTIVE_DNS_TIMEOUT_FOUND = 12; // 0xc field public static final int NETWORK_DISCONNECTED = 7; // 0x7 field public static final int NETWORK_FIRST_VALIDATION_PORTAL_FOUND = 10; // 0xa field public static final int NETWORK_FIRST_VALIDATION_SUCCESS = 8; // 0x8 field public static final int NETWORK_LINGER = 5; // 0x5 field public static final int NETWORK_REVALIDATION_PORTAL_FOUND = 11; // 0xb field public static final int NETWORK_REVALIDATION_SUCCESS = 9; // 0x9 field public static final int NETWORK_UNLINGER = 6; // 0x6 field public static final int NETWORK_VALIDATED = 2; // 0x2 field public static final int NETWORK_VALIDATION_FAILED = 3; // 0x3 } public final class ValidationProbeEvent implements android.net.metrics.IpConnectivityLog.Event { method public static String getProbeName(int); field public static final int DNS_FAILURE = 0; // 0x0 field public static final int DNS_SUCCESS = 1; // 0x1 field public static final int PROBE_DNS = 0; // 0x0 field public static final int PROBE_FALLBACK = 4; // 0x4 field public static final int PROBE_HTTP = 1; // 0x1 field public static final int PROBE_HTTPS = 2; // 0x2 field public static final int PROBE_PAC = 3; // 0x3 field public static final int PROBE_PRIVDNS = 5; // 0x5 } public static class ValidationProbeEvent.Builder { ctor public ValidationProbeEvent.Builder(); method public android.net.metrics.ValidationProbeEvent build(); method public android.net.metrics.ValidationProbeEvent.Builder setDurationMs(long); method public android.net.metrics.ValidationProbeEvent.Builder setProbeType(int, boolean); method public android.net.metrics.ValidationProbeEvent.Builder setReturnCode(int); } } package android.net.wifi { @Deprecated public class RttManager { Loading
api/test-current.txt +140 −0 Original line number Diff line number Diff line Loading @@ -645,6 +645,146 @@ package android.net { } package android.net.metrics { public final class ApfProgramEvent implements android.net.metrics.IpConnectivityLog.Event { } public static class ApfProgramEvent.Builder { ctor public ApfProgramEvent.Builder(); method public android.net.metrics.ApfProgramEvent build(); method public android.net.metrics.ApfProgramEvent.Builder setActualLifetime(long); method public android.net.metrics.ApfProgramEvent.Builder setCurrentRas(int); method public android.net.metrics.ApfProgramEvent.Builder setFilteredRas(int); method public android.net.metrics.ApfProgramEvent.Builder setFlags(boolean, boolean); method public android.net.metrics.ApfProgramEvent.Builder setLifetime(long); method public android.net.metrics.ApfProgramEvent.Builder setProgramLength(int); } public final class ApfStats implements android.net.metrics.IpConnectivityLog.Event { } public static class ApfStats.Builder { ctor public ApfStats.Builder(); method public android.net.metrics.ApfStats build(); method public android.net.metrics.ApfStats.Builder setDroppedRas(int); method public android.net.metrics.ApfStats.Builder setDurationMs(long); method public android.net.metrics.ApfStats.Builder setMatchingRas(int); method public android.net.metrics.ApfStats.Builder setMaxProgramSize(int); method public android.net.metrics.ApfStats.Builder setParseErrors(int); method public android.net.metrics.ApfStats.Builder setProgramUpdates(int); method public android.net.metrics.ApfStats.Builder setProgramUpdatesAll(int); method public android.net.metrics.ApfStats.Builder setProgramUpdatesAllowingMulticast(int); method public android.net.metrics.ApfStats.Builder setReceivedRas(int); method public android.net.metrics.ApfStats.Builder setZeroLifetimeRas(int); } public final class DhcpClientEvent implements android.net.metrics.IpConnectivityLog.Event { } public static class DhcpClientEvent.Builder { ctor public DhcpClientEvent.Builder(); method public android.net.metrics.DhcpClientEvent build(); method public android.net.metrics.DhcpClientEvent.Builder setDurationMs(int); method public android.net.metrics.DhcpClientEvent.Builder setMsg(String); } public final class DhcpErrorEvent implements android.net.metrics.IpConnectivityLog.Event { ctor public DhcpErrorEvent(int); method public static int errorCodeWithOption(int, int); field public static final int BOOTP_TOO_SHORT; field public static final int BUFFER_UNDERFLOW; field public static final int DHCP_BAD_MAGIC_COOKIE; field public static final int DHCP_ERROR = 4; // 0x4 field public static final int DHCP_INVALID_OPTION_LENGTH; field public static final int DHCP_NO_COOKIE; field public static final int DHCP_NO_MSG_TYPE; field public static final int DHCP_UNKNOWN_MSG_TYPE; field public static final int L2_ERROR = 1; // 0x1 field public static final int L2_TOO_SHORT; field public static final int L2_WRONG_ETH_TYPE; field public static final int L3_ERROR = 2; // 0x2 field public static final int L3_INVALID_IP; field public static final int L3_NOT_IPV4; field public static final int L3_TOO_SHORT; field public static final int L4_ERROR = 3; // 0x3 field public static final int L4_NOT_UDP; field public static final int L4_WRONG_PORT; field public static final int MISC_ERROR = 5; // 0x5 field public static final int PARSING_ERROR; field public static final int RECEIVE_ERROR; } public class IpConnectivityLog { method public boolean log(long, android.net.metrics.IpConnectivityLog.Event); method public boolean log(String, android.net.metrics.IpConnectivityLog.Event); method public boolean log(int, int[], android.net.metrics.IpConnectivityLog.Event); method public boolean log(android.net.metrics.IpConnectivityLog.Event); } public static interface IpConnectivityLog.Event extends android.os.Parcelable { } public final class IpManagerEvent implements android.net.metrics.IpConnectivityLog.Event { ctor public IpManagerEvent(int, long); field public static final int COMPLETE_LIFECYCLE = 3; // 0x3 field public static final int ERROR_INTERFACE_NOT_FOUND = 8; // 0x8 field public static final int ERROR_INVALID_PROVISIONING = 7; // 0x7 field public static final int ERROR_STARTING_IPREACHABILITYMONITOR = 6; // 0x6 field public static final int ERROR_STARTING_IPV4 = 4; // 0x4 field public static final int ERROR_STARTING_IPV6 = 5; // 0x5 field public static final int PROVISIONING_FAIL = 2; // 0x2 field public static final int PROVISIONING_OK = 1; // 0x1 } public final class IpReachabilityEvent implements android.net.metrics.IpConnectivityLog.Event { ctor public IpReachabilityEvent(int); field public static final int NUD_FAILED = 512; // 0x200 field public static final int NUD_FAILED_ORGANIC = 1024; // 0x400 field public static final int PROBE = 256; // 0x100 field public static final int PROVISIONING_LOST = 768; // 0x300 field public static final int PROVISIONING_LOST_ORGANIC = 1280; // 0x500 } public final class NetworkEvent implements android.net.metrics.IpConnectivityLog.Event { ctor public NetworkEvent(int, long); ctor public NetworkEvent(int); field public static final int NETWORK_CAPTIVE_PORTAL_FOUND = 4; // 0x4 field public static final int NETWORK_CONNECTED = 1; // 0x1 field public static final int NETWORK_CONSECUTIVE_DNS_TIMEOUT_FOUND = 12; // 0xc field public static final int NETWORK_DISCONNECTED = 7; // 0x7 field public static final int NETWORK_FIRST_VALIDATION_PORTAL_FOUND = 10; // 0xa field public static final int NETWORK_FIRST_VALIDATION_SUCCESS = 8; // 0x8 field public static final int NETWORK_LINGER = 5; // 0x5 field public static final int NETWORK_REVALIDATION_PORTAL_FOUND = 11; // 0xb field public static final int NETWORK_REVALIDATION_SUCCESS = 9; // 0x9 field public static final int NETWORK_UNLINGER = 6; // 0x6 field public static final int NETWORK_VALIDATED = 2; // 0x2 field public static final int NETWORK_VALIDATION_FAILED = 3; // 0x3 } public final class ValidationProbeEvent implements android.net.metrics.IpConnectivityLog.Event { method public static String getProbeName(int); field public static final int DNS_FAILURE = 0; // 0x0 field public static final int DNS_SUCCESS = 1; // 0x1 field public static final int PROBE_DNS = 0; // 0x0 field public static final int PROBE_FALLBACK = 4; // 0x4 field public static final int PROBE_HTTP = 1; // 0x1 field public static final int PROBE_HTTPS = 2; // 0x2 field public static final int PROBE_PAC = 3; // 0x3 field public static final int PROBE_PRIVDNS = 5; // 0x5 } public static class ValidationProbeEvent.Builder { ctor public ValidationProbeEvent.Builder(); method public android.net.metrics.ValidationProbeEvent build(); method public android.net.metrics.ValidationProbeEvent.Builder setDurationMs(long); method public android.net.metrics.ValidationProbeEvent.Builder setProbeType(int, boolean); method public android.net.metrics.ValidationProbeEvent.Builder setReturnCode(int); } } package android.os { public static class Build.VERSION { Loading
core/java/android/net/metrics/ApfProgramEvent.java +100 −10 Original line number Diff line number Diff line Loading @@ -17,6 +17,8 @@ package android.net.metrics; import android.annotation.IntDef; import android.annotation.SystemApi; import android.annotation.TestApi; import android.annotation.UnsupportedAppUsage; import android.os.Parcel; import android.os.Parcelable; Loading @@ -36,11 +38,15 @@ import java.util.List; * the APF program in place with a new APF program. * {@hide} */ public final class ApfProgramEvent implements Parcelable { @TestApi @SystemApi public final class ApfProgramEvent implements IpConnectivityLog.Event { // Bitflag constants describing what an Apf program filters. // Bits are indexeds from LSB to MSB, starting at index 0. /** @hide */ public static final int FLAG_MULTICAST_FILTER_ON = 0; /** @hide */ public static final int FLAG_HAS_IPV4_ADDRESS = 1; /** {@hide} */ Loading @@ -48,21 +54,33 @@ public final class ApfProgramEvent implements Parcelable { @Retention(RetentionPolicy.SOURCE) public @interface Flags {} /** @hide */ @UnsupportedAppUsage public long lifetime; // Maximum computed lifetime of the program in seconds public final long lifetime; // Maximum computed lifetime of the program in seconds /** @hide */ @UnsupportedAppUsage public long actualLifetime; // Effective program lifetime in seconds public final long actualLifetime; // Effective program lifetime in seconds /** @hide */ @UnsupportedAppUsage public int filteredRas; // Number of RAs filtered by the APF program public final int filteredRas; // Number of RAs filtered by the APF program /** @hide */ @UnsupportedAppUsage public int currentRas; // Total number of current RAs at generation time public final int currentRas; // Total number of current RAs at generation time /** @hide */ @UnsupportedAppUsage public int programLength; // Length of the APF program in bytes public final int programLength; // Length of the APF program in bytes /** @hide */ @UnsupportedAppUsage public int flags; // Bitfield compound of FLAG_* constants @UnsupportedAppUsage public ApfProgramEvent() { public final int flags; // Bitfield compound of FLAG_* constants private ApfProgramEvent(long lifetime, long actualLifetime, int filteredRas, int currentRas, int programLength, int flags) { this.lifetime = lifetime; this.actualLifetime = actualLifetime; this.filteredRas = filteredRas; this.currentRas = currentRas; this.programLength = programLength; this.flags = flags; } private ApfProgramEvent(Parcel in) { Loading @@ -74,6 +92,75 @@ public final class ApfProgramEvent implements Parcelable { this.flags = in.readInt(); } /** * Utility to create an instance of {@link ApfProgramEvent}. */ public static class Builder { private long mLifetime; private long mActualLifetime; private int mFilteredRas; private int mCurrentRas; private int mProgramLength; private int mFlags; /** * Set the maximum computed lifetime of the program in seconds. */ public Builder setLifetime(long lifetime) { mLifetime = lifetime; return this; } /** * Set the effective program lifetime in seconds. */ public Builder setActualLifetime(long lifetime) { mActualLifetime = lifetime; return this; } /** * Set the number of RAs filtered by the APF program. */ public Builder setFilteredRas(int filteredRas) { mFilteredRas = filteredRas; return this; } /** * Set the total number of current RAs at generation time. */ public Builder setCurrentRas(int currentRas) { mCurrentRas = currentRas; return this; } /** * Set the length of the APF program in bytes. */ public Builder setProgramLength(int programLength) { mProgramLength = programLength; return this; } /** * Set the flags describing what an Apf program filters. */ public Builder setFlags(boolean hasIPv4, boolean multicastFilterOn) { mFlags = flagsFor(hasIPv4, multicastFilterOn); return this; } /** * Build a new {@link ApfProgramEvent}. */ public ApfProgramEvent build() { return new ApfProgramEvent(mLifetime, mActualLifetime, mFilteredRas, mCurrentRas, mProgramLength, mFlags); } } /** @hide */ @Override public void writeToParcel(Parcel out, int flags) { out.writeLong(lifetime); Loading @@ -84,6 +171,7 @@ public final class ApfProgramEvent implements Parcelable { out.writeInt(flags); } /** @hide */ @Override public int describeContents() { return 0; Loading @@ -96,6 +184,7 @@ public final class ApfProgramEvent implements Parcelable { programLength, actualLifetime, lifetimeString, namesOf(flags)); } /** @hide */ public static final Parcelable.Creator<ApfProgramEvent> CREATOR = new Parcelable.Creator<ApfProgramEvent>() { public ApfProgramEvent createFromParcel(Parcel in) { Loading @@ -107,6 +196,7 @@ public final class ApfProgramEvent implements Parcelable { } }; /** @hide */ @UnsupportedAppUsage public static @Flags int flagsFor(boolean hasIPv4, boolean multicastFilterOn) { int bitfield = 0; Loading
core/java/android/net/metrics/ApfStats.java +181 −25 File changed.Preview size limit exceeded, changes collapsed. Show changes
core/java/android/net/metrics/DhcpClientEvent.java +42 −2 Original line number Diff line number Diff line Loading @@ -16,6 +16,8 @@ package android.net.metrics; import android.annotation.SystemApi; import android.annotation.TestApi; import android.annotation.UnsupportedAppUsage; import android.os.Parcel; import android.os.Parcelable; Loading @@ -24,7 +26,9 @@ import android.os.Parcelable; * An event recorded when a DhcpClient state machine transitions to a new state. * {@hide} */ public final class DhcpClientEvent implements Parcelable { @SystemApi @TestApi public final class DhcpClientEvent implements IpConnectivityLog.Event { // Names for recording DhcpClient pseudo-state transitions. /** {@hide} Represents transitions from DhcpInitState to DhcpBoundState */ Loading @@ -32,11 +36,13 @@ public final class DhcpClientEvent implements Parcelable { /** {@hide} Represents transitions from and to DhcpBoundState via DhcpRenewingState */ public static final String RENEWING_BOUND = "RenewingBoundState"; /** @hide */ public final String msg; /** @hide */ public final int durationMs; @UnsupportedAppUsage public DhcpClientEvent(String msg, int durationMs) { private DhcpClientEvent(String msg, int durationMs) { this.msg = msg; this.durationMs = durationMs; } Loading @@ -46,12 +52,45 @@ public final class DhcpClientEvent implements Parcelable { this.durationMs = in.readInt(); } /** * Utility to create an instance of {@link ApfProgramEvent}. */ public static class Builder { private String mMsg; private int mDurationMs; /** * Set the message of the event. */ public Builder setMsg(String msg) { mMsg = msg; return this; } /** * Set the duration of the event in milliseconds. */ public Builder setDurationMs(int durationMs) { mDurationMs = durationMs; return this; } /** * Create a new {@link DhcpClientEvent}. */ public DhcpClientEvent build() { return new DhcpClientEvent(mMsg, mDurationMs); } } /** @hide */ @Override public void writeToParcel(Parcel out, int flags) { out.writeString(msg); out.writeInt(durationMs); } /** @hide */ @Override public int describeContents() { return 0; Loading @@ -62,6 +101,7 @@ public final class DhcpClientEvent implements Parcelable { return String.format("DhcpClientEvent(%s, %dms)", msg, durationMs); } /** @hide */ public static final Parcelable.Creator<DhcpClientEvent> CREATOR = new Parcelable.Creator<DhcpClientEvent>() { public DhcpClientEvent createFromParcel(Parcel in) { Loading