aboutsummaryrefslogtreecommitdiffstats
path: root/java
diff options
context:
space:
mode:
authorTadashi G. Takaoka <takaoka@google.com>2014-01-27 17:30:14 -0800
committerAndroid Git Automerger <android-git-automerger@android.com>2014-01-27 17:30:14 -0800
commita4d04eb8635817be027be734d24cb0607b342002 (patch)
tree9ece81edd8c70168cb94ae7e4ccdd92ee5fa2853 /java
parent4e0a7f4ce2ab30ba39259943a8df589ed112a4d0 (diff)
parentc2e2b3949b159d6412e0e5815c1503d94b2b5ce7 (diff)
downloadlatinime-a4d04eb8635817be027be734d24cb0607b342002.tar.gz
latinime-a4d04eb8635817be027be734d24cb0607b342002.tar.xz
latinime-a4d04eb8635817be027be734d24cb0607b342002.zip
am c2e2b394: Merge "Add SubtypeLocaleUtils.isRtlLanguage method"
* commit 'c2e2b3949b159d6412e0e5815c1503d94b2b5ce7': Add SubtypeLocaleUtils.isRtlLanguage method
Diffstat (limited to 'java')
-rw-r--r--java/src/com/android/inputmethod/latin/utils/SubtypeLocaleUtils.java21
1 files changed, 21 insertions, 0 deletions
diff --git a/java/src/com/android/inputmethod/latin/utils/SubtypeLocaleUtils.java b/java/src/com/android/inputmethod/latin/utils/SubtypeLocaleUtils.java
index fdbe81ab6..fb1be30f1 100644
--- a/java/src/com/android/inputmethod/latin/utils/SubtypeLocaleUtils.java
+++ b/java/src/com/android/inputmethod/latin/utils/SubtypeLocaleUtils.java
@@ -25,9 +25,11 @@ import android.os.Build;
import android.util.Log;
import android.view.inputmethod.InputMethodSubtype;
+import com.android.inputmethod.annotations.UsedForTesting;
import com.android.inputmethod.latin.DictionaryFactory;
import com.android.inputmethod.latin.R;
+import java.util.Arrays;
import java.util.HashMap;
import java.util.Locale;
@@ -334,4 +336,23 @@ public final class SubtypeLocaleUtils {
final Locale locale = getSubtypeLocale(subtype);
return StringUtils.capitalizeFirstCodePoint(locale.getLanguage(), locale);
}
+
+ // TODO: Get this information from the framework instead of maintaining here by ourselves.
+ // Sorted list of known Right-To-Left language codes.
+ private static final String[] SORTED_RTL_LANGUAGES = {
+ "ar", // Arabic
+ "fa", // Persian
+ "iw", // Hebrew
+ };
+ static {
+ Arrays.sort(SORTED_RTL_LANGUAGES);
+ }
+
+ // TODO: Remove @UsedForTesting annotation.
+ @UsedForTesting
+ public static boolean isRtlLanguage(final InputMethodSubtype subtype) {
+ final Locale locale = getSubtypeLocale(subtype);
+ final String language = locale.getLanguage();
+ return Arrays.binarySearch(SORTED_RTL_LANGUAGES, language) >= 0;
+ }
}