]> gitweb.fperrin.net Git - Dictionary.git/blobdiff - src/com/hughes/android/dictionary/DictionaryInfo.java
Major refactor of down dictionary list is stored by app.
[Dictionary.git] / src / com / hughes / android / dictionary / DictionaryInfo.java
index e965994a2251e3f294b09d294603896ea890a23c..a291dc092824f2a29898460e22b39a738127a668 100644 (file)
@@ -22,27 +22,29 @@ public class DictionaryInfo implements Serializable {
   
   private static final long serialVersionUID = -6850863377577700388L;
   
-  public static final class IndexInfo {
-    public IndexInfo(String langIso, int allTokenCount, int mainTokenCount) {
-      this.langIso = langIso;
+  public static final class IndexInfo implements Serializable {
+    private static final long serialVersionUID = 6524751236198309438L;
+
+    public IndexInfo(String shortName, int allTokenCount, int mainTokenCount) {
+      this.shortName = shortName;
       this.allTokenCount = allTokenCount;
       this.mainTokenCount = mainTokenCount;
     }
-    public final String langIso;
+    public final String shortName;  // Often LangISO.
     public final int allTokenCount;
     public final int mainTokenCount;
     
     public static final int SIZE = 3;
     
     public StringBuilder append(StringBuilder result) {
-      result.append("\t").append(langIso);
+      result.append(shortName);
       result.append("\t").append(allTokenCount);
       result.append("\t").append(mainTokenCount);
       return result;
     }
 
     public IndexInfo(final String[] fields, int i) {
-      langIso = fields[i++];
+      shortName = fields[i++];
       allTokenCount = Integer.parseInt(fields[i++]);
       mainTokenCount = Integer.parseInt(fields[i++]);
     }
@@ -50,26 +52,23 @@ public class DictionaryInfo implements Serializable {
   }
   
   // Stuff populated from the text file.
-  public String uncompressedFilename;
+  public String uncompressedFilename;  // used as a key throughout the program.
   public String downloadUrl;
   public long uncompressedSize;
   public long creationMillis;
-  public String dictInfo;
   public final List<IndexInfo> indexInfos = new ArrayList<DictionaryInfo.IndexInfo>();
-
-  String name;  // Determined at runtime based on locale on device--user editable?
-  String localFile;  // Determined based on device's Environment.
+  public String dictInfo;
   
   public StringBuilder append(final StringBuilder result) {
-    result.append(uncompressedFilename).append("\t");
-    result.append(downloadUrl).append("\t");
-    result.append(creationMillis).append("\t");
-    result.append(uncompressedSize).append("\t");
-    result.append(dictInfo).append("\t");
-    result.append(indexInfos.size()).append("\t");
+    result.append(uncompressedFilename);
+    result.append("\t").append(downloadUrl);
+    result.append("\t").append(creationMillis);
+    result.append("\t").append(uncompressedSize);
+    result.append("\t").append(indexInfos.size());
     for (final IndexInfo indexInfo : indexInfos) {
-      indexInfo.append(result);
+      indexInfo.append(result.append("\t"));
     }
+    result.append("\t").append(dictInfo.replaceAll("\n", "\\\\n"));
     return result;
   }
 
@@ -80,12 +79,12 @@ public class DictionaryInfo implements Serializable {
     downloadUrl = fields[i++];
     creationMillis = Long.parseLong(fields[i++]);
     uncompressedSize = Long.parseLong(fields[i++]);
-    dictInfo = fields[i++];
     final int size = Integer.parseInt(fields[i++]);
     for (int j = 0; j < size; ++j) {
       indexInfos.add(new IndexInfo(fields, i));
       i += IndexInfo.SIZE;
     }
+    dictInfo = fields[i++].replaceAll("\\n", "\n");
   }
 
   public DictionaryInfo() {
@@ -94,7 +93,7 @@ public class DictionaryInfo implements Serializable {
 
   @Override
   public String toString() {
-    return name;
+    return uncompressedFilename;
   }