aboutsummaryrefslogtreecommitdiffstats
path: root/java/src/com/android/inputmethod/latin/DictionaryStats.java
diff options
context:
space:
mode:
authorDan Zivkovic <zivkovic@google.com>2015-03-24 19:20:26 +0000
committerAndroid (Google) Code Review <android-gerrit@google.com>2015-03-24 19:20:27 +0000
commita8b14a4fdd544d20c08e9cae8b8a094f248b1728 (patch)
tree5bfe31f088bf5e6babecca10e1548b536a309e82 /java/src/com/android/inputmethod/latin/DictionaryStats.java
parente1b91d4138b4f5b7e83d09d506e0be4a6b78467b (diff)
parent72278d30478335b914b2a9758fda0131bde9c70e (diff)
downloadlatinime-a8b14a4fdd544d20c08e9cae8b8a094f248b1728.tar.gz
latinime-a8b14a4fdd544d20c08e9cae8b8a094f248b1728.tar.xz
latinime-a8b14a4fdd544d20c08e9cae8b8a094f248b1728.zip
Merge "Change DictionaryStats to report content version."
Diffstat (limited to 'java/src/com/android/inputmethod/latin/DictionaryStats.java')
-rw-r--r--java/src/com/android/inputmethod/latin/DictionaryStats.java55
1 files changed, 46 insertions, 9 deletions
diff --git a/java/src/com/android/inputmethod/latin/DictionaryStats.java b/java/src/com/android/inputmethod/latin/DictionaryStats.java
index 5dd39d3d6..a6b37aa8f 100644
--- a/java/src/com/android/inputmethod/latin/DictionaryStats.java
+++ b/java/src/com/android/inputmethod/latin/DictionaryStats.java
@@ -17,6 +17,7 @@
package com.android.inputmethod.latin;
import java.io.File;
+import java.math.BigDecimal;
import java.util.Locale;
public class DictionaryStats {
@@ -26,18 +27,54 @@ public class DictionaryStats {
public final String mDictName;
public final String mDictFilePath;
public final long mDictFileSize;
-
- public final int mUnigramCount;
- public final int mNgramCount;
- // TODO: Add more members.
+ public final int mContentVersion;
public DictionaryStats(final Locale locale, final String dictName, final File dictFile,
- final int unigramCount, final int ngramCount) {
+ final int contentVersion) {
mLocale = locale;
mDictName = dictName;
- mDictFilePath = dictFile.getAbsolutePath();
- mDictFileSize = dictFile.length();
- mUnigramCount = unigramCount;
- mNgramCount = ngramCount;
+ mDictFilePath = (dictFile == null) ? null : dictFile.getName();
+ mDictFileSize = (dictFile == null || !dictFile.exists()) ? 0 : dictFile.length();
+ mContentVersion = contentVersion;
+ }
+
+ public String getFileSizeString() {
+ if (mDictFileSize == 0) {
+ return "0";
+ }
+ BigDecimal bytes = new BigDecimal(mDictFileSize);
+ BigDecimal kb = bytes.divide(new BigDecimal(1024), 2, BigDecimal.ROUND_HALF_UP);
+ if (kb.longValue() == 0) {
+ return bytes.toString() + " bytes";
+ }
+ BigDecimal mb = kb.divide(new BigDecimal(1024), 2, BigDecimal.ROUND_HALF_UP);
+ if (mb.longValue() == 0) {
+ return kb.toString() + " kb";
+ }
+ return mb.toString() + " Mb";
+ }
+
+ @Override
+ public String toString() {
+ final StringBuilder builder = new StringBuilder(mDictName);
+ if (mDictName.equals(Dictionary.TYPE_MAIN)) {
+ builder.append(" (");
+ builder.append(mContentVersion);
+ builder.append(")");
+ }
+ builder.append(": ");
+ builder.append(mDictFilePath);
+ builder.append(" / ");
+ builder.append(getFileSizeString());
+ return builder.toString();
+ }
+
+ public static String toString(final Iterable<DictionaryStats> stats) {
+ final StringBuilder builder = new StringBuilder("LM Stats");
+ for (DictionaryStats stat : stats) {
+ builder.append("\n ");
+ builder.append(stat.toString());
+ }
+ return builder.toString();
}
}