//---android_code/packages/apps/Settings/src/com/android/settings/wifi/WifiEnabler.java
@Override public void onSwitchChanged(Switch switchView, boolean isChecked) { //Do nothing if called as a result of a state machine event if (mStateMachineEvent) { return; } // Show toast message if Wi-Fi is not allowed in airplane mode if (isChecked && !WirelessUtils.isRadioAllowed(mContext, Settings.Global.RADIO_WIFI)) { Toast.makeText(mContext, R.string.wifi_in_airplane_mode, Toast.LENGTH_SHORT).show(); // Reset switch to off. No infinite check/listenenr loop. mSwitchBar.setChecked(false); return; } // Disable tethering if enabling Wifi if (mayDisableTethering(isChecked)) { mWifiManager.setWifiApEnabled(null, false); } MetricsLogger.action(mContext, isChecked ? MetricsEvent.ACTION_WIFI_ON : MetricsEvent.ACTION_WIFI_OFF); if (!mWifiManager.setWifiEnabled(isChecked)) { // Error mSwitchBar.setEnabled(true); Toast.makeText(mContext, R.string.wifi_error, Toast.LENGTH_SHORT).show(); } } vim android_code/packages/apps/Settings/src/com/android/settings/ WirelessSettings.java vim android_code/linux/kernel/arch/x86platform/intel-mid/device_libs/platform_wifi.c