Merge "Refactor ime settings"
diff --git a/src/com/android/settings/DevelopmentSettings.java b/src/com/android/settings/DevelopmentSettings.java
index db68a14..8ed9a7e 100644
--- a/src/com/android/settings/DevelopmentSettings.java
+++ b/src/com/android/settings/DevelopmentSettings.java
@@ -1107,16 +1107,14 @@
 
     private void writeExperimentalWebViewOptions() {
         if (mExperimentalWebView != null) {
-            SystemProperties.set(WebViewFactory.WEBVIEW_EXPERIMENTAL_PROPERTY,
-                    mExperimentalWebView.isChecked() ? "true" : null);
+            WebViewFactory.setUseExperimentalWebView(mExperimentalWebView.isChecked());
             pokeSystemProperties();
         }
     }
 
     private void updateExperimentalWebViewOptions() {
         if (mExperimentalWebView != null) {
-            updateCheckBox(mExperimentalWebView, SystemProperties.getBoolean(
-                    WebViewFactory.WEBVIEW_EXPERIMENTAL_PROPERTY, false));
+            updateCheckBox(mExperimentalWebView, WebViewFactory.useExperimentalWebView());
         }
     }
 
diff --git a/src/com/android/settings/inputmethod/UserDictionaryAddWordFragment.java b/src/com/android/settings/inputmethod/UserDictionaryAddWordFragment.java
index 8f7029a..86c3e79 100644
--- a/src/com/android/settings/inputmethod/UserDictionaryAddWordFragment.java
+++ b/src/com/android/settings/inputmethod/UserDictionaryAddWordFragment.java
@@ -27,7 +27,6 @@
 import android.view.ViewGroup;
 import android.widget.AdapterView;
 import android.widget.ArrayAdapter;
-import android.widget.Spinner;
 
 import com.android.settings.R;
 import com.android.settings.inputmethod.UserDictionaryAddWordContents.LocaleRenderer;
diff --git a/src/com/android/settings/inputmethod/UserDictionarySettingsUtils.java b/src/com/android/settings/inputmethod/UserDictionarySettingsUtils.java
index 2238b4b..e77f9c5 100644
--- a/src/com/android/settings/inputmethod/UserDictionarySettingsUtils.java
+++ b/src/com/android/settings/inputmethod/UserDictionarySettingsUtils.java
@@ -16,9 +16,11 @@
 
 package com.android.settings.inputmethod;
 
+import com.android.settings.R;
 import com.android.settings.Utils;
 
 import android.content.Context;
+import android.text.TextUtils;
 
 import java.util.Locale;
 
@@ -27,6 +29,11 @@
  */
 public class UserDictionarySettingsUtils {
     public static String getLocaleDisplayName(Context context, String localeStr) {
+        if (TextUtils.isEmpty(localeStr)) {
+            // CAVEAT: localeStr should not be null because a null locale stands for the system
+            // locale in UserDictionary.Words.addWord.
+            return context.getResources().getString(R.string.user_dict_settings_all_languages);
+        }
         final Locale locale = Utils.createLocaleFromString(localeStr);
         final Locale systemLocale = context.getResources().getConfiguration().locale;
         return locale.getDisplayName(systemLocale);
diff --git a/src/com/android/settings/wifi/WifiSettings.java b/src/com/android/settings/wifi/WifiSettings.java
index cb35e10..24f56c1 100644
--- a/src/com/android/settings/wifi/WifiSettings.java
+++ b/src/com/android/settings/wifi/WifiSettings.java
@@ -646,6 +646,8 @@
                         ap = new AccessPoint(getActivity(), mAccessPointSavedState);
                         // For repeated orientation changes
                         mDlgAccessPoint = ap;
+                        // Reset the saved access point data
+                        mAccessPointSavedState = null;
                     }
                 }
                 // If it's still null, fine, it's for Add Network