summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHugo Benichi <hugobenichi@google.com>2017-06-05 14:52:24 +0900
committerHugo Benichi <hugobenichi@google.com>2017-07-12 15:22:03 +0900
commitf62ae8fde8f4981160a2a0fc76b4a47e2cd7a18b (patch)
tree7ebb0e103da48600b3764222cf9e1bacf6c0d93b
parent7fcd76bbc7604fb29f4c4ddefba7fc2e59c2eb12 (diff)
downloadCaptivePortalLogin-f62ae8fde8f4981160a2a0fc76b4a47e2cd7a18b.tar.gz
Instrument captive portal login activity
Also add CAPTIVE_PORTAL_LOGIN_ACTIVITY_SSL_ERROR constants to metrics_constants.proto for counting ssl error pages shown by the captive portal login activity. Bug: 36203355 Bug: 34901696 Bug: 36532213 Test: manually tested with captive portal testing setup while watching event logs: adb logcat -b events | grep captiveportallogin 06-08 16:25:20.279 21558 21558 I sysui_action: [1004,com.android.captiveportallogin] 06-08 17:01:04.052 21558 21558 I sysui_action: [1007,com.android.captiveportallogin] Merged-In: Ia05853506d424ad4cb2c11770ae7718fbef3f01c Merged-In: I55ea3c61842f16bf6a98e812fb6dc940f96f895c Merged-In: I38b8e4dd3d62ad1261695780aeb2377f26a25997 Merged-In: I9184f6263a003c2be28f41a550c6164c8d6ee907 (cherry picked from commit c61dc92fc0619d101c4b789f6305012701cc47a0) Change-Id: I89ca3dfc74d09b7b2d303c0eb01b7b9883b01a42
-rw-r--r--src/com/android/captiveportallogin/CaptivePortalLoginActivity.java21
1 files changed, 20 insertions, 1 deletions
diff --git a/src/com/android/captiveportallogin/CaptivePortalLoginActivity.java b/src/com/android/captiveportallogin/CaptivePortalLoginActivity.java
index 8d64c1d..a7e1490 100644
--- a/src/com/android/captiveportallogin/CaptivePortalLoginActivity.java
+++ b/src/com/android/captiveportallogin/CaptivePortalLoginActivity.java
@@ -47,6 +47,9 @@ import android.webkit.WebViewClient;
import android.widget.ProgressBar;
import android.widget.TextView;
+import com.android.internal.logging.MetricsLogger;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
+
import java.io.IOException;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
@@ -64,7 +67,14 @@ public class CaptivePortalLoginActivity extends Activity {
private static final int SOCKET_TIMEOUT_MS = 10000;
- private enum Result { DISMISSED, UNWANTED, WANTED_AS_IS };
+ private enum Result {
+ DISMISSED(MetricsEvent.ACTION_CAPTIVE_PORTAL_LOGIN_RESULT_DISMISSED),
+ UNWANTED(MetricsEvent.ACTION_CAPTIVE_PORTAL_LOGIN_RESULT_UNWANTED),
+ WANTED_AS_IS(MetricsEvent.ACTION_CAPTIVE_PORTAL_LOGIN_RESULT_WANTED_AS_IS);
+
+ final int metricsEvent;
+ Result(int metricsEvent) { this.metricsEvent = metricsEvent; }
+ };
private URL mUrl;
private String mUserAgent;
@@ -80,6 +90,9 @@ public class CaptivePortalLoginActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
+
+ logMetricsEvent(MetricsEvent.ACTION_CAPTIVE_PORTAL_LOGIN_ACTIVITY);
+
mCm = ConnectivityManager.from(this);
mNetwork = getIntent().getParcelableExtra(ConnectivityManager.EXTRA_NETWORK);
mCaptivePortal = getIntent().getParcelableExtra(ConnectivityManager.EXTRA_CAPTIVE_PORTAL);
@@ -176,6 +189,7 @@ public class CaptivePortalLoginActivity extends Activity {
if (DBG) {
Log.d(TAG, String.format("Result %s for %s", result.name(), mUrl.toString()));
}
+ logMetricsEvent(result.metricsEvent);
switch (result) {
case DISMISSED:
mCaptivePortal.reportCaptivePortalDismissed();
@@ -387,6 +401,7 @@ public class CaptivePortalLoginActivity extends Activity {
@Override
public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
+ logMetricsEvent(MetricsEvent.CAPTIVE_PORTAL_LOGIN_ACTIVITY_SSL_ERROR);
Log.w(TAG, "SSL error (error: " + error.getPrimaryError() + " host: " +
// Only show host to avoid leaking private info.
Uri.parse(error.getUrl()).getHost() + " certificate: " +
@@ -498,4 +513,8 @@ public class CaptivePortalLoginActivity extends Activity {
}
return url.getHost();
}
+
+ private void logMetricsEvent(int event) {
+ MetricsLogger.action(this, event, getPackageName());
+ }
}