From dc543d289884386faa1361d8fca5536a59c72c1a Mon Sep 17 00:00:00 2001 From: Benny Wong Date: Thu, 17 Sep 2009 00:41:21 -0500 Subject: [PATCH] Fix the issue WiFi UI IP settings lost when change slider state before save IP settings Original GID: 1062 --- .../settings/wifi/AdvancedSettings.java | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/src/com/android/settings/wifi/AdvancedSettings.java b/src/com/android/settings/wifi/AdvancedSettings.java index 2adf072ed6b..5906e70c2c4 100644 --- a/src/com/android/settings/wifi/AdvancedSettings.java +++ b/src/com/android/settings/wifi/AdvancedSettings.java @@ -64,6 +64,7 @@ public class AdvancedSettings extends PreferenceActivity addPreferencesFromResource(R.xml.wifi_advanced_settings); mUseStaticIpCheckBox = (CheckBoxPreference) findPreference(KEY_USE_STATIC_IP); + mUseStaticIpCheckBox.setOnPreferenceChangeListener(this); for (int i = 0; i < mPreferenceKeys.length; i++) { Preference preference = findPreference(mPreferenceKeys[i]); @@ -167,7 +168,16 @@ public class AdvancedSettings extends PreferenceActivity Toast.LENGTH_SHORT).show(); return false; } - + + } else if (key.equals(KEY_USE_STATIC_IP)) { + boolean value = ((Boolean) newValue).booleanValue(); + + try { + Settings.System.putInt(getContentResolver(), + Settings.System.WIFI_USE_STATIC_IP, value ? 1 : 0); + } catch (NumberFormatException e) { + return false; + } } else { String value = (String) newValue; @@ -177,6 +187,12 @@ public class AdvancedSettings extends PreferenceActivity } preference.setSummary(value); + for (int i = 0; i < mSettingNames.length; i++) { + if (key.equals(mPreferenceKeys[i])) { + Settings.System.putString(getContentResolver(), mSettingNames[i], value); + break; + } + } } return true;