diff options
author | 2014-01-27 17:22:13 +0900 | |
---|---|---|
committer | 2014-01-27 19:05:16 +0900 | |
commit | c0c74d22a020002bcd33deae1990d588e5c07280 (patch) | |
tree | a86b390a82601101384b917ed9c0e00b27bb06d4 /java | |
parent | 1e4b1300e65095ca4b064afb5590d4bc02ff7725 (diff) | |
download | latinime-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.java | 21 |
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; + } } |