From bb480bbb92a6a8707f0ef3f3ccc4b535737d42a7 Mon Sep 17 00:00:00 2001 From: Irfan Sheriff Date: Thu, 24 Jun 2010 11:31:41 -0700 Subject: [PATCH] Allow soft AP settings config before bring up Bug: 2538623 Change-Id: I4b927deb0e4981c164744b85e5c85c3fc95a31eb --- res/xml/tether_prefs.xml | 1 - res/xml/wifi_ap_settings.xml | 1 - .../android/settings/wifi/WifiApSettings.java | 23 ++++++++++++------- 3 files changed, 15 insertions(+), 10 deletions(-) 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); - } } }