diff --git a/src/com/android/settings/wifi/WifiEnabler.java b/src/com/android/settings/wifi/WifiEnabler.java index 4a02197ba00..d70d6ba4be1 100644 --- a/src/com/android/settings/wifi/WifiEnabler.java +++ b/src/com/android/settings/wifi/WifiEnabler.java @@ -231,8 +231,13 @@ public class WifiEnabler implements SwitchBar.OnSwitchChangeListener { if (mayDisableTethering(isChecked)) { mWifiManager.setWifiApEnabled(null, false); } - mMetricsFeatureProvider.action(mContext, - isChecked ? MetricsEvent.ACTION_WIFI_ON : MetricsEvent.ACTION_WIFI_OFF); + if (isChecked) { + mMetricsFeatureProvider.action(mContext, MetricsEvent.ACTION_WIFI_ON); + } else { + // Log if user was connected at the time of switching off. + mMetricsFeatureProvider.action(mContext, MetricsEvent.ACTION_WIFI_OFF, + mConnected.get()); + } if (!mWifiManager.setWifiEnabled(isChecked)) { // Error mSwitchBar.setEnabled(true); diff --git a/src/com/android/settings/wifi/WifiSettings.java b/src/com/android/settings/wifi/WifiSettings.java index dacd48154c4..bdb3779f854 100644 --- a/src/com/android/settings/wifi/WifiSettings.java +++ b/src/com/android/settings/wifi/WifiSettings.java @@ -483,12 +483,13 @@ public class WifiSettings extends RestrictedSettingsFragment } switch (item.getItemId()) { case MENU_ID_CONNECT: { - if (mSelectedAccessPoint.isSaved()) { - connect(mSelectedAccessPoint.getConfig()); + boolean isSavedNetwork = mSelectedAccessPoint.isSaved(); + if (isSavedNetwork) { + connect(mSelectedAccessPoint.getConfig(), isSavedNetwork); } else if (mSelectedAccessPoint.getSecurity() == AccessPoint.SECURITY_NONE) { /** Bypass dialog for unsecured networks */ mSelectedAccessPoint.generateOpenNetworkConfig(); - connect(mSelectedAccessPoint.getConfig()); + connect(mSelectedAccessPoint.getConfig(), isSavedNetwork); } else { showDialog(mSelectedAccessPoint, WifiConfigUiBase.MODE_CONNECT); } @@ -521,7 +522,7 @@ public class WifiSettings extends RestrictedSettingsFragment if (mSelectedAccessPoint.getSecurity() == AccessPoint.SECURITY_NONE && !mSelectedAccessPoint.isSaved() && !mSelectedAccessPoint.isActive()) { mSelectedAccessPoint.generateOpenNetworkConfig(); - connect(mSelectedAccessPoint.getConfig()); + connect(mSelectedAccessPoint.getConfig(), false /* isSavedNetwork */); } else if (mSelectedAccessPoint.isSaved()) { showDialog(mSelectedAccessPoint, WifiConfigUiBase.MODE_VIEW); } else { @@ -831,14 +832,14 @@ public class WifiSettings extends RestrictedSettingsFragment if (config == null) { if (mSelectedAccessPoint != null && mSelectedAccessPoint.isSaved()) { - connect(mSelectedAccessPoint.getConfig()); + connect(mSelectedAccessPoint.getConfig(), true /* isSavedNetwork */); } } else if (configController.getMode() == WifiConfigUiBase.MODE_MODIFY) { mWifiManager.save(config, mSaveListener); } else { mWifiManager.save(config, mSaveListener); if (mSelectedAccessPoint != null) { // Not an "Add network" - connect(config); + connect(config, false /* isSavedNetwork */); } } @@ -868,13 +869,17 @@ public class WifiSettings extends RestrictedSettingsFragment changeNextButtonState(false); } - protected void connect(final WifiConfiguration config) { - mMetricsFeatureProvider.action(getActivity(), MetricsEvent.ACTION_WIFI_CONNECT); + protected void connect(final WifiConfiguration config, boolean isSavedNetwork) { + // Log subtype if configuration is a saved network. + mMetricsFeatureProvider.action(getActivity(), MetricsEvent.ACTION_WIFI_CONNECT, + isSavedNetwork); mWifiManager.connect(config, mConnectListener); } - protected void connect(final int networkId) { - mMetricsFeatureProvider.action(getActivity(), MetricsEvent.ACTION_WIFI_CONNECT); + protected void connect(final int networkId, boolean isSavedNetwork) { + // Log subtype if configuration is a saved network. + mMetricsFeatureProvider.action(getActivity(), MetricsEvent.ACTION_WIFI_CONNECT, + isSavedNetwork); mWifiManager.connect(networkId, mConnectListener); } diff --git a/src/com/android/settings/wifi/WifiSettingsForSetupWizard.java b/src/com/android/settings/wifi/WifiSettingsForSetupWizard.java index 2f354784724..68f28ee6eec 100644 --- a/src/com/android/settings/wifi/WifiSettingsForSetupWizard.java +++ b/src/com/android/settings/wifi/WifiSettingsForSetupWizard.java @@ -130,17 +130,17 @@ public class WifiSettingsForSetupWizard extends WifiSettings { } @Override - protected void connect(final WifiConfiguration config) { + protected void connect(final WifiConfiguration config, boolean isSavedNetwork) { WifiSetupActivity activity = (WifiSetupActivity) getActivity(); activity.networkSelected(); - super.connect(config); + super.connect(config, isSavedNetwork); } @Override - protected void connect(final int networkId) { + protected void connect(final int networkId, boolean isSavedNetwork) { WifiSetupActivity activity = (WifiSetupActivity) getActivity(); activity.networkSelected(); - super.connect(networkId); + super.connect(networkId, isSavedNetwork); } @Override