summaryrefslogtreecommitdiff
path: root/java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsSet.java
diff options
context:
space:
mode:
authorTadashi G. Takaoka <takaoka@google.com>2014-03-20 17:02:12 +0900
committerTadashi G. Takaoka <takaoka@google.com>2014-03-20 18:55:03 +0900
commitdf39eb696152954cca5bdac4cdc4ea6650db889f (patch)
tree987e3bccf20b1430c76ceaa3ce057337c8da3b52 /java/src/com/android/inputmethod/keyboard/internal/KeyboardTextsSet.java
parent0c268b08b69e9f4f730dc145bb86522ca2964a52 (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.java21
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",