Loading java/src/com/android/inputmethod/deprecated/languageswitcher/InputLanguageSelection.java +2 −7 Original line number Diff line number Diff line Loading @@ -29,7 +29,6 @@ import org.xmlpull.v1.XmlPullParserException; import android.content.SharedPreferences; import android.content.SharedPreferences.Editor; import android.content.res.Configuration; import android.content.res.Resources; import android.os.Bundle; import android.preference.CheckBoxPreference; Loading Loading @@ -123,10 +122,7 @@ public class InputLanguageSelection extends PreferenceActivity { private Pair<Boolean, Boolean> hasDictionaryOrLayout(Locale locale) { if (locale == null) return new Pair<Boolean, Boolean>(false, false); final Resources res = getResources(); final Configuration conf = res.getConfiguration(); final Locale saveLocale = conf.locale; conf.locale = locale; res.updateConfiguration(conf, res.getDisplayMetrics()); final Locale saveLocale = Utils.setSystemLocale(res, locale); boolean hasDictionary = false; boolean hasLayout = false; Loading Loading @@ -155,8 +151,7 @@ public class InputLanguageSelection extends PreferenceActivity { } catch (XmlPullParserException e) { } catch (IOException e) { } conf.locale = saveLocale; res.updateConfiguration(conf, res.getDisplayMetrics()); Utils.setSystemLocale(res, saveLocale); return new Pair<Boolean, Boolean>(hasDictionary, hasLayout); } Loading java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java +3 −2 Original line number Diff line number Diff line Loading @@ -169,7 +169,8 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha final SoftReference<LatinKeyboard> ref = mKeyboardCache.get(id); LatinKeyboard keyboard = (ref == null) ? null : ref.get(); if (keyboard == null) { final Locale savedLocale = mSubtypeSwitcher.changeSystemLocale( final Resources res = mInputMethodService.getResources(); final Locale savedLocale = Utils.setSystemLocale(res, mSubtypeSwitcher.getInputLocale()); keyboard = new LatinKeyboard(mInputMethodService, id); Loading @@ -183,7 +184,7 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha Log.d(TAG, "keyboard cache size=" + mKeyboardCache.size() + ": " + ((ref == null) ? "LOAD" : "GCed") + " id=" + id); mSubtypeSwitcher.changeSystemLocale(savedLocale); Utils.setSystemLocale(res, savedLocale); } else if (DEBUG) { Log.d(TAG, "keyboard cache size=" + mKeyboardCache.size() + ": HIT id=" + id); } Loading java/src/com/android/inputmethod/latin/LatinIME.java +3 −3 Original line number Diff line number Diff line Loading @@ -470,14 +470,14 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar final String localeStr = mSubtypeSwitcher.getInputLocaleStr(); final Locale keyboardLocale = new Locale(localeStr); final Locale savedLocale = mSubtypeSwitcher.changeSystemLocale(keyboardLocale); final Resources res = mResources; final Locale savedLocale = Utils.setSystemLocale(res, keyboardLocale); if (mSuggest != null) { mSuggest.close(); } final SharedPreferences prefs = mPrefs; mQuickFixes = isQuickFixesEnabled(prefs); final Resources res = mResources; int mainDicResId = Utils.getMainDictionaryResourceId(res); mSuggest = new Suggest(this, mainDicResId, keyboardLocale); loadAndSetAutoCorrectionThreshold(prefs); Loading @@ -499,7 +499,7 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar mWordSeparators = res.getString(R.string.word_separators); mSentenceSeparators = res.getString(R.string.sentence_separators); mSubtypeSwitcher.changeSystemLocale(savedLocale); Utils.setSystemLocale(res, savedLocale); } /* package private */ void resetSuggestMainDict() { Loading java/src/com/android/inputmethod/latin/SubtypeSwitcher.java +0 −13 Original line number Diff line number Diff line Loading @@ -475,19 +475,6 @@ public class SubtypeSwitcher { } } /** * Change system locale for this application * @param newLocale * @return oldLocale */ public Locale changeSystemLocale(Locale newLocale) { Configuration conf = mResources.getConfiguration(); Locale oldLocale = conf.locale; conf.locale = newLocale; mResources.updateConfiguration(conf, mResources.getDisplayMetrics()); return oldLocale; } public boolean isKeyboardMode() { return KEYBOARD_MODE.equals(getCurrentSubtypeMode()); } Loading java/src/com/android/inputmethod/latin/Utils.java +10 −0 Original line number Diff line number Diff line Loading @@ -23,6 +23,7 @@ import com.android.inputmethod.keyboard.Keyboard; import com.android.inputmethod.keyboard.KeyboardId; import android.content.Context; import android.content.res.Configuration; import android.content.res.Resources; import android.inputmethodservice.InputMethodService; import android.os.AsyncTask; Loading @@ -43,6 +44,7 @@ import java.io.IOException; import java.io.PrintWriter; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Locale; public class Utils { private static final String TAG = Utils.class.getSimpleName(); Loading Loading @@ -652,4 +654,12 @@ public class Utils { public static int dipToPixel(float scale, int dip) { return (int) (dip * scale + 0.5); } public static Locale setSystemLocale(Resources res, Locale newLocale) { final Configuration conf = res.getConfiguration(); final Locale saveLocale = conf.locale; conf.locale = newLocale; res.updateConfiguration(conf, res.getDisplayMetrics()); return saveLocale; } } Loading
java/src/com/android/inputmethod/deprecated/languageswitcher/InputLanguageSelection.java +2 −7 Original line number Diff line number Diff line Loading @@ -29,7 +29,6 @@ import org.xmlpull.v1.XmlPullParserException; import android.content.SharedPreferences; import android.content.SharedPreferences.Editor; import android.content.res.Configuration; import android.content.res.Resources; import android.os.Bundle; import android.preference.CheckBoxPreference; Loading Loading @@ -123,10 +122,7 @@ public class InputLanguageSelection extends PreferenceActivity { private Pair<Boolean, Boolean> hasDictionaryOrLayout(Locale locale) { if (locale == null) return new Pair<Boolean, Boolean>(false, false); final Resources res = getResources(); final Configuration conf = res.getConfiguration(); final Locale saveLocale = conf.locale; conf.locale = locale; res.updateConfiguration(conf, res.getDisplayMetrics()); final Locale saveLocale = Utils.setSystemLocale(res, locale); boolean hasDictionary = false; boolean hasLayout = false; Loading Loading @@ -155,8 +151,7 @@ public class InputLanguageSelection extends PreferenceActivity { } catch (XmlPullParserException e) { } catch (IOException e) { } conf.locale = saveLocale; res.updateConfiguration(conf, res.getDisplayMetrics()); Utils.setSystemLocale(res, saveLocale); return new Pair<Boolean, Boolean>(hasDictionary, hasLayout); } Loading
java/src/com/android/inputmethod/keyboard/KeyboardSwitcher.java +3 −2 Original line number Diff line number Diff line Loading @@ -169,7 +169,8 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha final SoftReference<LatinKeyboard> ref = mKeyboardCache.get(id); LatinKeyboard keyboard = (ref == null) ? null : ref.get(); if (keyboard == null) { final Locale savedLocale = mSubtypeSwitcher.changeSystemLocale( final Resources res = mInputMethodService.getResources(); final Locale savedLocale = Utils.setSystemLocale(res, mSubtypeSwitcher.getInputLocale()); keyboard = new LatinKeyboard(mInputMethodService, id); Loading @@ -183,7 +184,7 @@ public class KeyboardSwitcher implements SharedPreferences.OnSharedPreferenceCha Log.d(TAG, "keyboard cache size=" + mKeyboardCache.size() + ": " + ((ref == null) ? "LOAD" : "GCed") + " id=" + id); mSubtypeSwitcher.changeSystemLocale(savedLocale); Utils.setSystemLocale(res, savedLocale); } else if (DEBUG) { Log.d(TAG, "keyboard cache size=" + mKeyboardCache.size() + ": HIT id=" + id); } Loading
java/src/com/android/inputmethod/latin/LatinIME.java +3 −3 Original line number Diff line number Diff line Loading @@ -470,14 +470,14 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar final String localeStr = mSubtypeSwitcher.getInputLocaleStr(); final Locale keyboardLocale = new Locale(localeStr); final Locale savedLocale = mSubtypeSwitcher.changeSystemLocale(keyboardLocale); final Resources res = mResources; final Locale savedLocale = Utils.setSystemLocale(res, keyboardLocale); if (mSuggest != null) { mSuggest.close(); } final SharedPreferences prefs = mPrefs; mQuickFixes = isQuickFixesEnabled(prefs); final Resources res = mResources; int mainDicResId = Utils.getMainDictionaryResourceId(res); mSuggest = new Suggest(this, mainDicResId, keyboardLocale); loadAndSetAutoCorrectionThreshold(prefs); Loading @@ -499,7 +499,7 @@ public class LatinIME extends InputMethodServiceCompatWrapper implements Keyboar mWordSeparators = res.getString(R.string.word_separators); mSentenceSeparators = res.getString(R.string.sentence_separators); mSubtypeSwitcher.changeSystemLocale(savedLocale); Utils.setSystemLocale(res, savedLocale); } /* package private */ void resetSuggestMainDict() { Loading
java/src/com/android/inputmethod/latin/SubtypeSwitcher.java +0 −13 Original line number Diff line number Diff line Loading @@ -475,19 +475,6 @@ public class SubtypeSwitcher { } } /** * Change system locale for this application * @param newLocale * @return oldLocale */ public Locale changeSystemLocale(Locale newLocale) { Configuration conf = mResources.getConfiguration(); Locale oldLocale = conf.locale; conf.locale = newLocale; mResources.updateConfiguration(conf, mResources.getDisplayMetrics()); return oldLocale; } public boolean isKeyboardMode() { return KEYBOARD_MODE.equals(getCurrentSubtypeMode()); } Loading
java/src/com/android/inputmethod/latin/Utils.java +10 −0 Original line number Diff line number Diff line Loading @@ -23,6 +23,7 @@ import com.android.inputmethod.keyboard.Keyboard; import com.android.inputmethod.keyboard.KeyboardId; import android.content.Context; import android.content.res.Configuration; import android.content.res.Resources; import android.inputmethodservice.InputMethodService; import android.os.AsyncTask; Loading @@ -43,6 +44,7 @@ import java.io.IOException; import java.io.PrintWriter; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Locale; public class Utils { private static final String TAG = Utils.class.getSimpleName(); Loading Loading @@ -652,4 +654,12 @@ public class Utils { public static int dipToPixel(float scale, int dip) { return (int) (dip * scale + 0.5); } public static Locale setSystemLocale(Resources res, Locale newLocale) { final Configuration conf = res.getConfiguration(); final Locale saveLocale = conf.locale; conf.locale = newLocale; res.updateConfiguration(conf, res.getDisplayMetrics()); return saveLocale; } }