Merge "Some fixes in ConnectivityService event logging" into nyc-dev
This commit is contained in:
@@ -26033,11 +26033,11 @@ package android.net.metrics {
|
||||
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;
|
||||
|
||||
@@ -24,8 +24,7 @@ import android.os.Parcelable;
|
||||
* {@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
|
||||
@@ -37,7 +36,7 @@ public final class ConnectivityServiceChangeEvent extends IpConnectivityEvent
|
||||
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;
|
||||
@@ -46,7 +45,7 @@ public final class ConnectivityServiceChangeEvent extends IpConnectivityEvent
|
||||
this.prevIPv6 = prevIPv6;
|
||||
}
|
||||
|
||||
private ConnectivityServiceChangeEvent(Parcel in) {
|
||||
private DefaultNetworkEvent(Parcel in) {
|
||||
this.netId = in.readInt();
|
||||
this.transportTypes = in.createIntArray();
|
||||
this.prevNetId = in.readInt();
|
||||
@@ -66,21 +65,21 @@ public final class ConnectivityServiceChangeEvent extends IpConnectivityEvent
|
||||
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);
|
||||
}
|
||||
};
|
||||
@@ -71,7 +71,7 @@ import android.net.ProxyInfo;
|
||||
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;
|
||||
@@ -2217,7 +2217,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
||||
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
|
||||
@@ -4452,8 +4452,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
||||
handleApplyDefaultProxy(newNetwork.linkProperties.getHttpProxy());
|
||||
updateTcpBufferSizes(newNetwork);
|
||||
setDefaultDnsSystemProperties(newNetwork.linkProperties.getDnsServers());
|
||||
|
||||
logConnectivityServiceChangeEvent(newNetwork, prevNetwork);
|
||||
logDefaultNetworkEvent(newNetwork, prevNetwork);
|
||||
}
|
||||
|
||||
// Handles a network appearing or improving its score.
|
||||
@@ -5075,21 +5074,24 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
||||
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();
|
||||
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;
|
||||
|
||||
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);
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user