diff options
author | Hugo Benichi <hugobenichi@google.com> | 2017-06-05 14:52:24 +0900 |
---|---|---|
committer | Hugo Benichi <hugobenichi@google.com> | 2017-07-11 16:14:56 +0900 |
commit | bdcf91fa80fd40a4a39d11966009c1f32c7870e4 (patch) | |
tree | 7ebb0e103da48600b3764222cf9e1bacf6c0d93b | |
parent | faf93b8a0f34701125c00b0145653620a726ae88 (diff) | |
download | CaptivePortalLogin-bdcf91fa80fd40a4a39d11966009c1f32c7870e4.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]
Change-Id: I38b8e4dd3d62ad1261695780aeb2377f26a25997
Merged-In: Ia05853506d424ad4cb2c11770ae7718fbef3f01c
Merged-In: I9184f6263a003c2be28f41a550c6164c8d6ee907
(cherry picked from commit c61dc92fc0619d101c4b789f6305012701cc47a0)
-rw-r--r-- | src/com/android/captiveportallogin/CaptivePortalLoginActivity.java | 21 |
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()); + } } |