diff --git a/res/xml/tether_prefs.xml b/res/xml/tether_prefs.xml index 6e3d0624b3a..77fc7c6fa4a 100644 --- a/res/xml/tether_prefs.xml +++ b/res/xml/tether_prefs.xml @@ -28,7 +28,6 @@ diff --git a/src/com/android/settings/wifi/WifiApSettings.java b/src/com/android/settings/wifi/WifiApSettings.java index 0815238081b..ca1b8568873 100644 --- a/src/com/android/settings/wifi/WifiApSettings.java +++ b/src/com/android/settings/wifi/WifiApSettings.java @@ -120,18 +120,25 @@ public class WifiApSettings extends PreferenceActivity if (button == DialogInterface.BUTTON_POSITIVE) { mWifiConfig = mDialog.getConfig(); - if(mWifiConfig != null) { - mWifiManager.setWifiApEnabled(mWifiConfig, true); + if (mWifiConfig != null) { + /** + * if soft AP is running, bring up with new config + * else update the configuration alone + */ + if (mWifiManager.getWifiApState() == WifiManager.WIFI_AP_STATE_ENABLED) { + mWifiManager.setWifiApEnabled(mWifiConfig, true); + /** + * There is no tether notification on changing AP + * configuration. Update status with new config. + */ + mWifiApEnabler.updateConfigSummary(mWifiConfig); + } else { + mWifiManager.setWifiApConfiguration(mWifiConfig); + } mCreateNetwork.setSummary(String.format(getString(CONFIG_SUBTEXT), mWifiConfig.SSID, mWifiConfig.allowedKeyManagement.get(KeyMgmt.WPA_PSK) ? mSecurityType[WPA_INDEX] : mSecurityType[OPEN_INDEX])); - /** - * There is no tether notification on changing AP - * configuration. Update status with new config. - */ - mWifiApEnabler.updateConfigSummary(mWifiConfig); - } } }