diff options
author | 2012-08-29 16:23:42 +0900 | |
---|---|---|
committer | 2012-08-29 16:24:53 +0900 | |
commit | 0023a57eeaac2efd3d3eb7592a7a893e157806bb (patch) | |
tree | 316dc7cf78ed288aa357bba7389b027a047b77c9 /java/src/com/android/inputmethod/latin/LocaleUtils.java | |
parent | 78527e4dbbac36235e1d2f03a461d25bee8059d5 (diff) | |
download | latinime-0023a57eeaac2efd3d3eb7592a7a893e157806bb.tar.gz latinime-0023a57eeaac2efd3d3eb7592a7a893e157806bb.tar.xz latinime-0023a57eeaac2efd3d3eb7592a7a893e157806bb.zip |
Move some methods from Utils to LocaleUtils class
Change-Id: I4a834549c2ea96ac30d7e2cb692d69af219cab1a
Diffstat (limited to 'java/src/com/android/inputmethod/latin/LocaleUtils.java')
-rw-r--r-- | java/src/com/android/inputmethod/latin/LocaleUtils.java | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/java/src/com/android/inputmethod/latin/LocaleUtils.java b/java/src/com/android/inputmethod/latin/LocaleUtils.java index 3b08cab01..01c281b89 100644 --- a/java/src/com/android/inputmethod/latin/LocaleUtils.java +++ b/java/src/com/android/inputmethod/latin/LocaleUtils.java @@ -32,6 +32,9 @@ import java.util.Locale; * dictionary pack. */ public class LocaleUtils { + private static final HashMap<String, Long> EMPTY_LT_HASH_MAP = CollectionUtils.newHashMap(); + private static final String LOCALE_AND_TIME_STR_SEPARATER = ","; + private LocaleUtils() { // Intentional empty constructor for utility class. } @@ -219,4 +222,38 @@ public class LocaleUtils { return retval; } } + + public static HashMap<String, Long> localeAndTimeStrToHashMap(String str) { + if (TextUtils.isEmpty(str)) { + return EMPTY_LT_HASH_MAP; + } + final String[] ss = str.split(LOCALE_AND_TIME_STR_SEPARATER); + final int N = ss.length; + if (N < 2 || N % 2 != 0) { + return EMPTY_LT_HASH_MAP; + } + final HashMap<String, Long> retval = CollectionUtils.newHashMap(); + for (int i = 0; i < N / 2; ++i) { + final String localeStr = ss[i * 2]; + final long time = Long.valueOf(ss[i * 2 + 1]); + retval.put(localeStr, time); + } + return retval; + } + + public static String localeAndTimeHashMapToStr(HashMap<String, Long> map) { + if (map == null || map.isEmpty()) { + return ""; + } + final StringBuilder builder = new StringBuilder(); + for (String localeStr : map.keySet()) { + if (builder.length() > 0) { + builder.append(LOCALE_AND_TIME_STR_SEPARATER); + } + final Long time = map.get(localeStr); + builder.append(localeStr).append(LOCALE_AND_TIME_STR_SEPARATER); + builder.append(String.valueOf(time)); + } + return builder.toString(); + } } |