aboutsummaryrefslogtreecommitdiffstats
path: root/java
diff options
context:
space:
mode:
authorTadashi G. Takaoka <takaoka@google.com>2014-01-27 17:22:13 +0900
committerTadashi G. Takaoka <takaoka@google.com>2014-01-27 19:05:16 +0900
commitc0c74d22a020002bcd33deae1990d588e5c07280 (patch)
treea86b390a82601101384b917ed9c0e00b27bb06d4 /java
parent1e4b1300e65095ca4b064afb5590d4bc02ff7725 (diff)
downloadlatinime-c0c74d22a020002bcd33deae1990d588e5c07280.tar.gz
latinime-c0c74d22a020002bcd33deae1990d588e5c07280.tar.xz
latinime-c0c74d22a020002bcd33deae1990d588e5c07280.zip
Add SubtypeLocaleUtils.isRtlLanguage method
Change-Id: I2e399ae9ca111638b583c5681de08b0e6db86e3a
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;
+ }
}