Split network monitoring and portal probe events
This patches changes how captive portal tests and network lifecycle
events are logged as connectivity events:
- it splits NetworkMonitorEvent into two event classes:
- ValidationProbeEvent for logging individual probe events.
- NetworkEvent for logging network connection, validation,
lingering, and disconnection.
- it removes the redundant CaptivePortalCheckResultEvent class.
The information logged in CaptivePortalCheckResultEvent was already
logged by NetworkMonitorEvent, but missing the evaluation durations.
It is now logged by ValidationProbeEvent.
- it removes the CaptivePortalStateChangeEvent class, which is now
redundant with NetworkEvent, but missing evaluation durations.
In addition, it adds event logging when ConnectivityService puts a
network into lingering or removes a network from lingering.
Bug: 28204408
Change-Id: I8f9752e4d36175ecfcbd1545a01a41bad6e06ea4
This commit is contained in:
@@ -72,6 +72,7 @@ import android.net.RouteInfo;
|
||||
import android.net.UidRange;
|
||||
import android.net.Uri;
|
||||
import android.net.metrics.DefaultNetworkEvent;
|
||||
import android.net.metrics.NetworkEvent;
|
||||
import android.os.Binder;
|
||||
import android.os.Build;
|
||||
import android.os.Bundle;
|
||||
@@ -2109,6 +2110,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
||||
|
||||
private void linger(NetworkAgentInfo nai) {
|
||||
nai.lingering = true;
|
||||
NetworkEvent.logEvent(nai.network.netId, NetworkEvent.NETWORK_LINGER);
|
||||
nai.networkMonitor.sendMessage(NetworkMonitor.CMD_NETWORK_LINGER);
|
||||
notifyNetworkCallbacks(nai, ConnectivityManager.CALLBACK_LOSING);
|
||||
}
|
||||
@@ -2122,6 +2124,7 @@ public class ConnectivityService extends IConnectivityManager.Stub
|
||||
nai.networkLingered.clear();
|
||||
if (!nai.lingering) return;
|
||||
nai.lingering = false;
|
||||
NetworkEvent.logEvent(nai.network.netId, NetworkEvent.NETWORK_UNLINGER);
|
||||
if (VDBG) log("Canceling linger of " + nai.name());
|
||||
nai.networkMonitor.sendMessage(NetworkMonitor.CMD_NETWORK_CONNECTED);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user