Fix the issue WiFi UI IP settings lost when change slider state before save IP settings

Original GID: 1062
diff --git a/src/com/android/settings/wifi/AdvancedSettings.java b/src/com/android/settings/wifi/AdvancedSettings.java
index 2adf072..5906e70 100644
--- a/src/com/android/settings/wifi/AdvancedSettings.java
+++ b/src/com/android/settings/wifi/AdvancedSettings.java
@@ -64,6 +64,7 @@
         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 @@
                         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 @@
             }
             
             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;