aboutsummaryrefslogtreecommitdiffstats
path: root/java/src/com/android/inputmethod/latin/Utils.java
diff options
context:
space:
mode:
authorsatok <satok@google.com>2012-05-27 23:03:46 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2012-05-27 23:03:46 -0700
commit1c6994268382ea6732b4b4541fa4da715096cf12 (patch)
tree3dbc4bb9b2458155e00ee4c61275ba65839ec976 /java/src/com/android/inputmethod/latin/Utils.java
parent1a31b4e484e33cdeba8676b09a7afc9738d1f027 (diff)
parentfff5cd6f767e248ecb5b30ea39cb9a22a476b953 (diff)
downloadlatinime-1c6994268382ea6732b4b4541fa4da715096cf12.tar.gz
latinime-1c6994268382ea6732b4b4541fa4da715096cf12.tar.xz
latinime-1c6994268382ea6732b4b4541fa4da715096cf12.zip
am fff5cd6f: am aa064139: Merge "Forget user history" into jb-dev
* commit 'fff5cd6f767e248ecb5b30ea39cb9a22a476b953': 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();
+ }
}