diff options
author | 2012-05-27 23:01:41 -0700 | |
---|---|---|
committer | 2012-05-27 23:01:41 -0700 | |
commit | fff5cd6f767e248ecb5b30ea39cb9a22a476b953 (patch) | |
tree | a7c04ba0f7dbdc36bae539ef5c4985acb66ddba7 /java/src/com/android/inputmethod/latin/Utils.java | |
parent | fac23787bbd7723acba4e7e344aa6f799d9584f6 (diff) | |
parent | aa0641394b7ffc16c462c5d9cc269d1f5114748f (diff) | |
download | latinime-fff5cd6f767e248ecb5b30ea39cb9a22a476b953.tar.gz latinime-fff5cd6f767e248ecb5b30ea39cb9a22a476b953.tar.xz latinime-fff5cd6f767e248ecb5b30ea39cb9a22a476b953.zip |
am aa064139: Merge "Forget user history" into jb-dev
* commit 'aa0641394b7ffc16c462c5d9cc269d1f5114748f':
Forget user history
Diffstat (limited to 'java/src/com/android/inputmethod/latin/Utils.java')
-rw-r--r-- | java/src/com/android/inputmethod/latin/Utils.java | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/java/src/com/android/inputmethod/latin/Utils.java b/java/src/com/android/inputmethod/latin/Utils.java index 036ff74b8..91996674b 100644 --- a/java/src/com/android/inputmethod/latin/Utils.java +++ b/java/src/com/android/inputmethod/latin/Utils.java @@ -44,8 +44,10 @@ import java.io.IOException; import java.io.PrintWriter; import java.nio.channels.FileChannel; import java.text.SimpleDateFormat; +import java.util.Collections; import java.util.Date; import java.util.HashMap; +import java.util.Map; public class Utils { private Utils() { @@ -484,4 +486,40 @@ public class Utils { } return sDeviceOverrideValueMap.get(key); } + + private static final HashMap<String, Long> EMPTY_LT_HASH_MAP = new HashMap<String, Long>(); + private static final String LOCALE_AND_TIME_STR_SEPARATER = ","; + 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 = new HashMap<String, Long>(); + for (int i = 0; i < N / 2; ++i) { + final String localeStr = ss[i]; + final long time = Long.valueOf(ss[i + 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(); + } } |