Add SystemApi for captive portal metrics

The metrics go through NetworkMonitor in the NetworkStack so that they
can be upgraded to new metrics in the future.

Test: flashed, captive portal login works, metrics shown in events log
Bug: 112869080
Merged-In: I4bccfbd87bae5b2d65e45c7a5918aa45ab5d76e8
Change-Id: Ib5e2126788f8d56a00a56d7efcd33c5f9a37a6de
This commit is contained in:
Remi NGUYEN VAN
2019-01-30 15:22:01 +09:00
parent c7fe99fdbe
commit fb43a914d3
2 changed files with 19 additions and 0 deletions

View File

@@ -117,4 +117,17 @@ public class CaptivePortal implements Parcelable {
} catch (RemoteException e) {
}
}
/**
* Log a captive portal login event.
* @hide
*/
@SystemApi
@TestApi
public void logEvent(int eventId, String packageName) {
try {
ICaptivePortal.Stub.asInterface(mBinder).logEvent(eventId, packageName);
} catch (RemoteException e) {
}
}
}

View File

@@ -144,6 +144,7 @@ import com.android.internal.R;
import com.android.internal.annotations.GuardedBy;
import com.android.internal.annotations.VisibleForTesting;
import com.android.internal.app.IBatteryStats;
import com.android.internal.logging.MetricsLogger;
import com.android.internal.net.LegacyVpnInfo;
import com.android.internal.net.VpnConfig;
import com.android.internal.net.VpnInfo;
@@ -2683,6 +2684,11 @@ public class ConnectivityService extends IConnectivityManager.Stub
EVENT_PROVISIONING_NOTIFICATION, PROVISIONING_NOTIFICATION_HIDE,
mNai.network.netId));
}
@Override
public void logCaptivePortalLoginEvent(int eventId, String packageName) {
new MetricsLogger().action(eventId, packageName);
}
}
private boolean networkRequiresValidation(NetworkAgentInfo nai) {