OSDN Git Service

Instrument sign-in-captive-portal button
authorHugo Benichi <hugobenichi@google.com>
Mon, 5 Jun 2017 07:30:37 +0000 (16:30 +0900)
committerHugo Benichi <hugobenichi@google.com>
Thu, 8 Jun 2017 13:03:49 +0000 (22:03 +0900)
Bug: 36203355
Bug: 34901696
Bug: 36532213
Test: WifiDetailPreferenceControllerTest updated
Change-Id: I03dbcdd6efbd0d7aaf2ef67d541fceeb6acc2acf

src/com/android/settings/wifi/details/WifiDetailPreferenceController.java
tests/robotests/src/com/android/settings/wifi/details/WifiDetailPreferenceControllerTest.java

index 15308e1..4ab0805 100644 (file)
@@ -247,8 +247,7 @@ public class WifiDetailPreferenceController extends PreferenceController impleme
         mButtonsPref = (LayoutPreference) screen.findPreference(KEY_BUTTONS_PREF);
         mSignInButton = (Button) mButtonsPref.findViewById(R.id.signin_button);
         mSignInButton.setText(R.string.support_sign_in_button_text);
-        mSignInButton.setOnClickListener(
-            view -> mConnectivityManagerWrapper.startCaptivePortalApp(mNetwork));
+        mSignInButton.setOnClickListener(view -> signIntoNetwork());
 
         mSignalStrengthPref =
                 (WifiDetailPreference) screen.findPreference(KEY_SIGNAL_STRENGTH_PREF);
@@ -477,4 +476,13 @@ public class WifiDetailPreferenceController extends PreferenceController impleme
                 mFragment.getActivity(), MetricsProto.MetricsEvent.ACTION_WIFI_FORGET);
         mFragment.getActivity().finish();
     }
+
+    /**
+     * Sign in to the captive portal found on this wifi network associated with this preference.
+     */
+    private void signIntoNetwork() {
+        mMetricsFeatureProvider.action(
+                mFragment.getActivity(), MetricsProto.MetricsEvent.ACTION_WIFI_SIGNIN);
+        mConnectivityManagerWrapper.startCaptivePortalApp(mNetwork);
+    }
 }
index 43177f7..0839d8b 100644 (file)
@@ -715,6 +715,8 @@ public class WifiDetailPreferenceControllerTest {
         verify(mockSignInButton).setOnClickListener(captor.capture());
         captor.getValue().onClick(mockSignInButton);
         verify(mockConnectivityManagerWrapper).startCaptivePortalApp(mockNetwork);
+        verify(mockMetricsFeatureProvider)
+                .action(mockActivity, MetricsProto.MetricsEvent.ACTION_WIFI_SIGNIN);
     }
 
     @Test