]> gitweb.fperrin.net Git - Dictionary.git/commitdiff
Attempt to fix issue #49.
authorReimar Döffinger <Reimar.Doeffinger@gmx.de>
Wed, 26 Oct 2016 07:52:40 +0000 (09:52 +0200)
committerReimar Döffinger <Reimar.Doeffinger@gmx.de>
Wed, 26 Oct 2016 07:52:40 +0000 (09:52 +0200)
Sorting/comparison of words containing a dash
is still causing issues.

AndroidManifest.xml
build.gradle
src/com/hughes/android/dictionary/engine/Index.java
src/com/hughes/android/dictionary/engine/NormalizeComparator.java

index a1bc6b2bde3d1fa1a5c5aa351e81ae4dc06e7784..47de4b1fb78dfa10c1d8a6f17040efb051d84487 100644 (file)
@@ -2,8 +2,8 @@
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
     package="com.hughes.android.dictionary"
     android:installLocation="auto"
-    android:versionCode="70"
-    android:versionName="5.2.10" >
+    android:versionCode="71"
+    android:versionName="5.2.11" >
 
     <uses-sdk
         android:minSdkVersion="10"
index 042d12e692846231e75b34e8955ec36910d915a3..06ccfb0a047a60947ae6b44adf09eba63ed9393c 100644 (file)
@@ -3,7 +3,7 @@ buildscript {
         jcenter()
     }
     dependencies {
-        classpath 'com.android.tools.build:gradle:2.2.0'
+        classpath 'com.android.tools.build:gradle:2.2.2'
     }
 }
 
index 01cd12576748ca879ff9ac4f16bc0d0242f61b83..069cca798219be68e046be0bccd0115843c6dd92 100644 (file)
@@ -310,7 +310,7 @@ public final class Index implements RAFSerializable<Index> {
             }
             final IndexEntry midEntry = sortedIndexEntries.get(mid);
 
-            int comp = NormalizeComparator.compareWithoutLeadingDash(token, midEntry.normalizedToken(), sortCollator, dict.dictFileVersion);
+            int comp = NormalizeComparator.compareWithoutDash(token, midEntry.normalizedToken(), sortCollator, dict.dictFileVersion);
             if (comp == 0)
                 comp = sortCollator.compare(token, midEntry.normalizedToken());
             if (comp == 0) {
index 82f0feac6af99b3c61e4c98ac8958db99d212436..75a477d9934f17aabb7e340f2f99baf39a4044a3 100644 (file)
@@ -31,25 +31,19 @@ public class NormalizeComparator implements Comparator<String> {
        this.version = version;
     }
 
-    // Handles comparison between items starting with "-", returns 0 for all others.
-    public static int compareWithoutLeadingDash(final String a, final String b, final Comparator c, int version) {
+    // Handles comparison between items containing "-".
+    public static int compareWithoutDash(final String a, final String b, final Comparator c, int version) {
         if (version < 7) return 0;
-        if (a.startsWith("-") || b.startsWith("-"))
-        {
-            String s1 = a;
-            String s2 = b;
-            if (s1.startsWith("-")) s1 = s1.substring(1);
-            if (s2.startsWith("-")) s2 = s2.substring(1);
-            return c.compare(s1, s2);
-        }
-        return 0;
+        String s1 = a.replace("-", "");
+        String s2 = b.replace("-", "");
+        return c.compare(s1, s2);
     }
 
     @Override
     public int compare(final String s1, final String s2) {
         final String n1 = normalizer.transform(s1);
         final String n2 = normalizer.transform(s2);
-        int cn = compareWithoutLeadingDash(n1, n2, comparator, version);
+        int cn = compareWithoutDash(n1, n2, comparator, version);
         if (cn != 0) {
             return cn;
         }