Merge "Also log IPv4 and IPv6 connectivity of any previous default network" into nyc-dev
am: 0628d32
* commit '0628d324d0f1c2116c051faadd8e4bf26206b1a6':
Also log IPv4 and IPv6 connectivity of any previous default network
Change-Id: Ibcbd79a6674cf062138ccbd031d14721b0367e22
This commit is contained in:
@@ -27,28 +27,38 @@ public class ConnectivityServiceChangeEvent extends IpConnectivityEvent implemen
|
|||||||
|
|
||||||
// The ID of the network that has become the new default or NETID_UNSET if none.
|
// The ID of the network that has become the new default or NETID_UNSET if none.
|
||||||
private final int mNetId;
|
private final int mNetId;
|
||||||
// The ID of the network that was the default before or NETID_UNSET if none.
|
|
||||||
private final int mPrevNetId;
|
|
||||||
// The list of transport types of the new default network, for example TRANSPORT_WIFI, as
|
// The list of transport types of the new default network, for example TRANSPORT_WIFI, as
|
||||||
// defined in NetworkCapabilities.java.
|
// defined in NetworkCapabilities.java.
|
||||||
private final int[] mTransportTypes;
|
private final int[] mTransportTypes;
|
||||||
|
// The ID of the network that was the default before or NETID_UNSET if none.
|
||||||
|
private final int mPrevNetId;
|
||||||
|
// Whether the previous network had IPv4/IPv6 connectivity.
|
||||||
|
private final boolean mPrevIPv4;
|
||||||
|
private final boolean mPrevIPv6;
|
||||||
|
|
||||||
public ConnectivityServiceChangeEvent(int netId, int prevNetId, int[] transportTypes) {
|
public ConnectivityServiceChangeEvent(int netId, int[] transportTypes,
|
||||||
|
int prevNetId, boolean prevIPv4, boolean prevIPv6) {
|
||||||
mNetId = netId;
|
mNetId = netId;
|
||||||
mPrevNetId = prevNetId;
|
|
||||||
mTransportTypes = transportTypes;
|
mTransportTypes = transportTypes;
|
||||||
|
mPrevNetId = prevNetId;
|
||||||
|
mPrevIPv4 = prevIPv4;
|
||||||
|
mPrevIPv6 = prevIPv6;
|
||||||
}
|
}
|
||||||
|
|
||||||
public ConnectivityServiceChangeEvent(Parcel in) {
|
public ConnectivityServiceChangeEvent(Parcel in) {
|
||||||
mNetId = in.readInt();
|
mNetId = in.readInt();
|
||||||
mPrevNetId = in.readInt();
|
|
||||||
mTransportTypes = in.createIntArray();
|
mTransportTypes = in.createIntArray();
|
||||||
|
mPrevNetId = in.readInt();
|
||||||
|
mPrevIPv4 = (in.readByte() > 0);
|
||||||
|
mPrevIPv6 = (in.readByte() > 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
public void writeToParcel(Parcel out, int flags) {
|
public void writeToParcel(Parcel out, int flags) {
|
||||||
out.writeInt(mNetId);
|
out.writeInt(mNetId);
|
||||||
out.writeInt(mPrevNetId);
|
|
||||||
out.writeIntArray(mTransportTypes);
|
out.writeIntArray(mTransportTypes);
|
||||||
|
out.writeInt(mPrevNetId);
|
||||||
|
out.writeByte(mPrevIPv4 ? (byte) 1 : (byte) 0);
|
||||||
|
out.writeByte(mPrevIPv6 ? (byte) 1 : (byte) 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static final Parcelable.Creator<ConnectivityServiceChangeEvent> CREATOR
|
public static final Parcelable.Creator<ConnectivityServiceChangeEvent> CREATOR
|
||||||
@@ -62,8 +72,10 @@ public class ConnectivityServiceChangeEvent extends IpConnectivityEvent implemen
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
public static void logEvent(int netId, int prevNetId, int[] transportTypes) {
|
public static void logEvent(int netId, int[] transportTypes,
|
||||||
|
int prevNetId, boolean prevIPv4, boolean prevIPv6) {
|
||||||
IpConnectivityEvent.logEvent(IpConnectivityEvent.IPCE_CONSRV_DEFAULT_NET_CHANGE,
|
IpConnectivityEvent.logEvent(IpConnectivityEvent.IPCE_CONSRV_DEFAULT_NET_CHANGE,
|
||||||
new ConnectivityServiceChangeEvent(netId, prevNetId, transportTypes));
|
new ConnectivityServiceChangeEvent(
|
||||||
|
netId, transportTypes, prevNetId, prevIPv4, prevIPv6));
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -2208,9 +2208,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||||||
rematchAllNetworksAndRequests(null, 0);
|
rematchAllNetworksAndRequests(null, 0);
|
||||||
if (wasDefault && getDefaultNetwork() == null) {
|
if (wasDefault && getDefaultNetwork() == null) {
|
||||||
// Log that we lost the default network and there is no replacement.
|
// Log that we lost the default network and there is no replacement.
|
||||||
final int[] transportTypes = new int[0];
|
logConnectivityServiceChangeEvent(null, nai);
|
||||||
ConnectivityServiceChangeEvent.logEvent(NETID_UNSET, nai.network.netId,
|
|
||||||
transportTypes);
|
|
||||||
}
|
}
|
||||||
if (nai.created) {
|
if (nai.created) {
|
||||||
// Tell netd to clean up the configuration for this network
|
// Tell netd to clean up the configuration for this network
|
||||||
@@ -4434,7 +4432,6 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void makeDefault(NetworkAgentInfo newNetwork, NetworkAgentInfo prevNetwork) {
|
private void makeDefault(NetworkAgentInfo newNetwork, NetworkAgentInfo prevNetwork) {
|
||||||
int prevNetId = (prevNetwork == null) ? NETID_UNSET : prevNetwork.network.netId;
|
|
||||||
if (DBG) log("Switching to new default network: " + newNetwork);
|
if (DBG) log("Switching to new default network: " + newNetwork);
|
||||||
setupDataActivityTracking(newNetwork);
|
setupDataActivityTracking(newNetwork);
|
||||||
try {
|
try {
|
||||||
@@ -4446,8 +4443,8 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||||||
handleApplyDefaultProxy(newNetwork.linkProperties.getHttpProxy());
|
handleApplyDefaultProxy(newNetwork.linkProperties.getHttpProxy());
|
||||||
updateTcpBufferSizes(newNetwork);
|
updateTcpBufferSizes(newNetwork);
|
||||||
setDefaultDnsSystemProperties(newNetwork.linkProperties.getDnsServers());
|
setDefaultDnsSystemProperties(newNetwork.linkProperties.getDnsServers());
|
||||||
ConnectivityServiceChangeEvent.logEvent(newNetwork.network.netId, prevNetId,
|
|
||||||
newNetwork.networkCapabilities.getTransportTypes());
|
logConnectivityServiceChangeEvent(newNetwork, prevNetwork);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Handles a network appearing or improving its score.
|
// Handles a network appearing or improving its score.
|
||||||
@@ -5068,4 +5065,22 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
|||||||
NetworkAgentInfo nai, NetworkRequest defaultRequest) {
|
NetworkAgentInfo nai, NetworkRequest defaultRequest) {
|
||||||
return new NetworkMonitor(context, handler, nai, defaultRequest);
|
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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user