field public final int state;
}
- public final class ConnectivityServiceChangeEvent extends android.net.metrics.IpConnectivityEvent implements android.os.Parcelable {
+ public final class DefaultNetworkEvent extends android.net.metrics.IpConnectivityEvent implements android.os.Parcelable {
method public int describeContents();
method public static void logEvent(int, int[], int, boolean, boolean);
method public void writeToParcel(android.os.Parcel, int);
- field public static final android.os.Parcelable.Creator<android.net.metrics.ConnectivityServiceChangeEvent> CREATOR;
+ field public static final android.os.Parcelable.Creator<android.net.metrics.DefaultNetworkEvent> CREATOR;
field public final int netId;
field public final boolean prevIPv4;
field public final boolean prevIPv6;
* {@hide}
*/
@SystemApi
-public final class ConnectivityServiceChangeEvent extends IpConnectivityEvent
- implements Parcelable {
+public final class DefaultNetworkEvent extends IpConnectivityEvent implements Parcelable {
// The ID of the network that has become the new default or NETID_UNSET if none.
public final int netId;
// The list of transport types of the new default network, for example TRANSPORT_WIFI, as
public final boolean prevIPv4;
public final boolean prevIPv6;
- private ConnectivityServiceChangeEvent(int netId, int[] transportTypes,
+ private DefaultNetworkEvent(int netId, int[] transportTypes,
int prevNetId, boolean prevIPv4, boolean prevIPv6) {
this.netId = netId;
this.transportTypes = transportTypes;
this.prevIPv6 = prevIPv6;
}
- private ConnectivityServiceChangeEvent(Parcel in) {
+ private DefaultNetworkEvent(Parcel in) {
this.netId = in.readInt();
this.transportTypes = in.createIntArray();
this.prevNetId = in.readInt();
return 0;
}
- public static final Parcelable.Creator<ConnectivityServiceChangeEvent> CREATOR
- = new Parcelable.Creator<ConnectivityServiceChangeEvent>() {
- public ConnectivityServiceChangeEvent createFromParcel(Parcel in) {
- return new ConnectivityServiceChangeEvent(in);
+ public static final Parcelable.Creator<DefaultNetworkEvent> CREATOR
+ = new Parcelable.Creator<DefaultNetworkEvent>() {
+ public DefaultNetworkEvent createFromParcel(Parcel in) {
+ return new DefaultNetworkEvent(in);
}
- public ConnectivityServiceChangeEvent[] newArray(int size) {
- return new ConnectivityServiceChangeEvent[size];
+ public DefaultNetworkEvent[] newArray(int size) {
+ return new DefaultNetworkEvent[size];
}
};
- public static void logEvent(int netId, int[] transportTypes,
- int prevNetId, boolean prevIPv4, boolean prevIPv6) {
- logEvent(IPCE_CONSRV_DEFAULT_NET_CHANGE,
- new ConnectivityServiceChangeEvent(
- netId, transportTypes, prevNetId, prevIPv4, prevIPv6));
+ public static void logEvent(
+ int netId, int[] transports, int prevNetId, boolean hadIPv4, boolean hadIPv6) {
+ final DefaultNetworkEvent ev =
+ new DefaultNetworkEvent(netId, transports, prevNetId, hadIPv4, hadIPv6);
+ logEvent(IPCE_CONSRV_DEFAULT_NET_CHANGE, ev);
}
};
import android.net.RouteInfo;
import android.net.UidRange;
import android.net.Uri;
-import android.net.metrics.ConnectivityServiceChangeEvent;
+import android.net.metrics.DefaultNetworkEvent;
import android.os.Binder;
import android.os.Build;
import android.os.Bundle;
rematchAllNetworksAndRequests(null, 0);
if (wasDefault && getDefaultNetwork() == null) {
// Log that we lost the default network and there is no replacement.
- logConnectivityServiceChangeEvent(null, nai);
+ logDefaultNetworkEvent(null, nai);
}
if (nai.created) {
// Tell netd to clean up the configuration for this network
handleApplyDefaultProxy(newNetwork.linkProperties.getHttpProxy());
updateTcpBufferSizes(newNetwork);
setDefaultDnsSystemProperties(newNetwork.linkProperties.getDnsServers());
-
- logConnectivityServiceChangeEvent(newNetwork, prevNetwork);
+ logDefaultNetworkEvent(newNetwork, prevNetwork);
}
// Handles a network appearing or improving its score.
return new NetworkMonitor(context, handler, nai, defaultRequest);
}
- private static void logConnectivityServiceChangeEvent(
- NetworkAgentInfo next, NetworkAgentInfo prev) {
- final int newNetId = (next == null) ? NETID_UNSET : next.network.netId;
- final int[] newTransportTypes = (next == null)
- ? new int[0]
- : next.networkCapabilities.getTransportTypes();
-
- final int oldNetId = (prev == null) ? NETID_UNSET : prev.network.netId;
- final boolean hadIPv4 = (prev != null) &&
- prev.linkProperties.hasIPv4Address() &&
- prev.linkProperties.hasIPv4DefaultRoute();
- final boolean hadIPv6 = (prev != null) &&
- prev.linkProperties.hasGlobalIPv6Address() &&
- prev.linkProperties.hasIPv6DefaultRoute();
- ConnectivityServiceChangeEvent.logEvent(newNetId, newTransportTypes,
- oldNetId, hadIPv4, hadIPv6);
+ private static void logDefaultNetworkEvent(NetworkAgentInfo newNai, NetworkAgentInfo prevNai) {
+ int newNetid = NETID_UNSET;
+ int prevNetid = NETID_UNSET;
+ int[] transports = new int[0];
+ boolean hadIPv4 = false;
+ boolean hadIPv6 = false;
+
+ if (newNai != null) {
+ newNetid = newNai.network.netId;
+ transports = newNai.networkCapabilities.getTransportTypes();
+ }
+ if (prevNai != null) {
+ prevNetid = prevNai.network.netId;
+ final LinkProperties lp = prevNai.linkProperties;
+ hadIPv4 = lp.hasIPv4Address() && lp.hasIPv4DefaultRoute();
+ hadIPv6 = lp.hasGlobalIPv6Address() && lp.hasIPv6DefaultRoute();
+ }
+
+ DefaultNetworkEvent.logEvent(newNetid, transports, prevNetid, hadIPv4, hadIPv6);
}
}