diff options
| author | Tadashi G. Takaoka <takaoka@google.com> | 2014-03-20 17:02:12 +0900 |
|---|---|---|
| committer | Tadashi G. Takaoka <takaoka@google.com> | 2014-03-20 18:55:03 +0900 |
| commit | df39eb696152954cca5bdac4cdc4ea6650db889f (patch) | |
| tree | 987e3bccf20b1430c76ceaa3ce057337c8da3b52 /java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsSet.java | |
| parent | 0c268b08b69e9f4f730dc145bb86522ca2964a52 (diff) | |
Consolidate KeyboardTextsSet.setLocale and loadStringResoucres
Change-Id: Idaf8f0d80fdeef4f1430f11d4083366e8ab7f6e0
Diffstat (limited to 'java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsSet.java')
| -rw-r--r-- | java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsSet.java | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsSet.java b/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsSet.java index bdc36ed45..044cd119e 100644 --- a/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsSet.java +++ b/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsSet.java @@ -23,6 +23,8 @@ import android.text.TextUtils; import com.android.inputmethod.annotations.UsedForTesting; import com.android.inputmethod.latin.Constants; import com.android.inputmethod.latin.utils.CollectionUtils; +import com.android.inputmethod.latin.utils.RunInLocale; +import com.android.inputmethod.latin.utils.SubtypeLocaleUtils; import java.util.HashMap; import java.util.Locale; @@ -38,17 +40,22 @@ public final class KeyboardTextsSet { // Resource name to text map. private HashMap<String, String> mResourceNameToTextsMap = CollectionUtils.newHashMap(); - public void setLocale(final Locale locale) { + public void setLocale(final Locale locale, final Context context) { final String language = locale.getLanguage(); mTextsTable = KeyboardTextsTable.getTextsTable(language); - } - - // TODO: Consolidate this method with {@link #setLocale(Locale)}. - public void loadStringResources(final Context context) { final Resources res = context.getResources(); final int referenceId = context.getApplicationInfo().labelRes; final String resourcePackageName = res.getResourcePackageName(referenceId); - loadStringResourcesInternal(res, RESOURCE_NAMES, resourcePackageName); + final RunInLocale<Void> job = new RunInLocale<Void>() { + @Override + protected Void job(final Resources resource) { + loadStringResourcesInternal(res, RESOURCE_NAMES, resourcePackageName); + return null; + } + }; + // Null means the current system locale. + job.runInLocale(res, + SubtypeLocaleUtils.NO_LANGUAGE.equals(locale.toString()) ? null : locale); } @UsedForTesting @@ -129,7 +136,7 @@ public final class KeyboardTextsSet { // These texts' name should be aligned with the @string/<name> in // values*/strings-action-keys.xml. - private static final String[] RESOURCE_NAMES = { + static final String[] RESOURCE_NAMES = { // Labels for action. "label_go_key", "label_send_key", |
