]> gitweb.fperrin.net Git - Dictionary.git/blobdiff - src/com/hughes/android/dictionary/engine/Index.java
Some lint fixes.
[Dictionary.git] / src / com / hughes / android / dictionary / engine / Index.java
index 30c18e2eb3bce1acd67ae9cac22d4ad102bb7637..b58384d1d4981849cb7966c9ca923e507c8d6bae 100644 (file)
@@ -58,7 +58,7 @@ public final class Index implements RAFSerializable<Index> {
 
     // persisted: tells how the entries are sorted.
     public final Language sortLanguage;
-    private final String normalizerRules;
+    public final String normalizerRules;
 
     // Built from the two above.
     private Transliterator normalizer;
@@ -67,7 +67,7 @@ public final class Index implements RAFSerializable<Index> {
     public final List<IndexEntry> sortedIndexEntries;
 
     // persisted.
-    private final Set<String> stoplist;
+    public final Set<String> stoplist;
 
     // One big list!
     // Various sub-types.
@@ -125,9 +125,6 @@ public final class Index implements RAFSerializable<Index> {
         sortLanguage = Language.lookup(languageCode);
         normalizerRules = raf.readUTF();
         swapPairEntries = raf.readBoolean();
-        if (sortLanguage == null) {
-            throw new IOException("Unsupported language: " + languageCode);
-        }
         if (dict.dictFileVersion >= 2) {
             mainTokenCount = raf.readInt();
         }
@@ -158,9 +155,7 @@ public final class Index implements RAFSerializable<Index> {
         raf.writeUTF(sortLanguage.getIsoCode());
         raf.writeUTF(normalizerRules);
         raf.writeBoolean(swapPairEntries);
-        if (dict.dictFileVersion >= 2) {
-            raf.writeInt(mainTokenCount);
-        }
+        raf.writeInt(mainTokenCount);
         RAFList.write(raf, sortedIndexEntries, new IndexEntrySerializer(null), 32, true);
         StringUtil.writeVarInt(raf, stoplist.size());
         for (String i : stoplist) {
@@ -410,7 +405,8 @@ public final class Index implements RAFSerializable<Index> {
                 return -1;
             }
             final IndexEntry indexEntry = sortedIndexEntries.get(index);
-            if (!indexEntry.normalizedToken.startsWith(normalizedPrefix)) {
+            if (!indexEntry.normalizedToken.startsWith(normalizedPrefix) &&
+                !NormalizeComparator.withoutDash(indexEntry.normalizedToken).startsWith(normalizedPrefix)) {
                 break;
             }
             rowCount += indexEntry.numRows + indexEntry.htmlEntries.size();
@@ -500,7 +496,8 @@ public final class Index implements RAFSerializable<Index> {
                 return null;
             }
             final IndexEntry indexEntry = sortedIndexEntries.get(index);
-            if (!indexEntry.normalizedToken.startsWith(searchToken)) {
+            if (!indexEntry.normalizedToken.startsWith(searchToken) &&
+                !NormalizeComparator.withoutDash(indexEntry.normalizedToken).startsWith(searchToken)) {
                 break;
             }