From 134a18cdea38dc639437176681a9a040a0892c49 Mon Sep 17 00:00:00 2001 From: Hugo Benichi Date: Thu, 21 Apr 2016 15:02:38 +0900 Subject: [PATCH] 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 --- services/core/java/com/android/server/ConnectivityService.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/services/core/java/com/android/server/ConnectivityService.java b/services/core/java/com/android/server/ConnectivityService.java index b965f64c53..b06936129b 100644 --- a/services/core/java/com/android/server/ConnectivityService.java +++ b/services/core/java/com/android/server/ConnectivityService.java @@ -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); }