aboutsummaryrefslogtreecommitdiffstats
path: root/java/src/com/android/inputmethod/latin/Utils.java
diff options
context:
space:
mode:
authorsatok <satok@google.com>2012-05-27 23:01:41 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2012-05-27 23:01:41 -0700
commitfff5cd6f767e248ecb5b30ea39cb9a22a476b953 (patch)
treea7c04ba0f7dbdc36bae539ef5c4985acb66ddba7 /java/src/com/android/inputmethod/latin/Utils.java
parentfac23787bbd7723acba4e7e344aa6f799d9584f6 (diff)
parentaa0641394b7ffc16c462c5d9cc269d1f5114748f (diff)
downloadlatinime-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.java38
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();
+ }
}