if (mayDisableTethering(isChecked)) {
mWifiManager.setWifiApEnabled(null, false);
}
- MetricsLogger.action(mContext,
- isChecked ? MetricsEvent.ACTION_WIFI_ON : MetricsEvent.ACTION_WIFI_OFF);
+ if (isChecked) {
+ MetricsLogger.action(mContext, MetricsEvent.ACTION_WIFI_ON);
+ } else {
+ // Log if user was connected at the time of switching off.
+ MetricsLogger.action(mContext, MetricsEvent.ACTION_WIFI_OFF,
+ mConnected.get());
+ }
if (!mWifiManager.setWifiEnabled(isChecked)) {
// Error
mSwitchBar.setEnabled(true);
}
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);
}
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 {
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 */);
}
}
changeNextButtonState(false);
}
- protected void connect(final WifiConfiguration config) {
- MetricsLogger.action(getActivity(), MetricsEvent.ACTION_WIFI_CONNECT);
+ protected void connect(final WifiConfiguration config, boolean isSavedNetwork) {
+ // Log subtype if configuration is a saved network.
+ MetricsLogger.action(getActivity(), MetricsEvent.ACTION_WIFI_CONNECT,
+ isSavedNetwork);
mWifiManager.connect(config, mConnectListener);
}
- protected void connect(final int networkId) {
- MetricsLogger.action(getActivity(), MetricsEvent.ACTION_WIFI_CONNECT);
+ protected void connect(final int networkId, boolean isSavedNetwork) {
+ // Log subtype if configuration is a saved network.
+ MetricsLogger.action(getActivity(), MetricsEvent.ACTION_WIFI_CONNECT,
+ isSavedNetwork);
mWifiManager.connect(networkId, mConnectListener);
}
}
@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