From 51eab871dfe9742a8d0ea2a048393b301596bd95 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Reimar=20D=C3=B6ffinger?= Date: Sun, 13 Dec 2015 15:12:30 +0100 Subject: [PATCH] Switch to default Java Collator. It is dependent on Android version, but seems more stable and well-tested. Plus it decreases the size of the APK. --- mksmallicu.sh | 1 + .../hughes/android/dictionary/DictionaryApplication.java | 8 +++++--- src/com/hughes/android/dictionary/engine/Index.java | 2 +- src/com/hughes/android/dictionary/engine/Language.java | 2 +- 4 files changed, 8 insertions(+), 5 deletions(-) diff --git a/mksmallicu.sh b/mksmallicu.sh index 22d0b85..892a8a7 100755 --- a/mksmallicu.sh +++ b/mksmallicu.sh @@ -9,3 +9,4 @@ zip -d "$DST" com/ibm/icu/impl/ICULangDataTables*.class com/ibm/icu/impl/ICURegi zip -d "$DST" com/ibm/icu/text/CompactDecimalDataCache*.class com/ibm/icu/text/*Currency*.class com/ibm/icu/text/Date*.class com/ibm/icu/text/*Format*.class com/ibm/icu/text/*TimeZone*.class com/ibm/icu/text/NF*.class com/ibm/icu/text/RBNF*.class com/ibm/icu/text/*Substitution*.class zip -d "$DST" com/ibm/icu/util/*Currency*.class com/ibm/icu/util/GlobalizationPreferences*.class com/ibm/icu/util/*Calendar*.class com/ibm/icu/util/EasterRule*.class com/ibm/icu/util/*DateRule*.class com/ibm/icu/util/*Holiday*.class com/ibm/icu/util/*Time*.class com/ibm/icu/util/Range.class com/ibm/icu/util/STZInfo*.class com/ibm/icu/util/Measure*.class zip -d "$DST" license.html +zip -d "$DST" com/ibm/icu/impl/coll/* com/ibm/icu/impl/data/icudt55b/coll/* com/ibm/icu/text/*Collat* com/ibm/icu/text/StringSearch* com/ibm/icu/text/AlphabeticIndex* com/ibm/icu/impl/text/RbnfScanner* diff --git a/src/com/hughes/android/dictionary/DictionaryApplication.java b/src/com/hughes/android/dictionary/DictionaryApplication.java index b8022ce..d5b19e5 100644 --- a/src/com/hughes/android/dictionary/DictionaryApplication.java +++ b/src/com/hughes/android/dictionary/DictionaryApplication.java @@ -43,7 +43,7 @@ import com.hughes.android.dictionary.engine.Language.LanguageResources; import com.hughes.android.dictionary.engine.TransliteratorManager; import com.hughes.android.util.PersistentObjectCache; import com.hughes.util.ListUtil; -import com.ibm.icu.text.Collator; +import java.text.Collator; import java.io.BufferedReader; import java.io.File; @@ -65,10 +65,12 @@ public class DictionaryApplication extends Application { // If set to false, avoid use of ICU collator // Works well enough for most european languages, // gives faster startup and avoids crashes on some - // devices due to Dalvik bugs (e.g. ARMv6, S5570i, CM11). + // devices due to Dalvik bugs (e.g. ARMv6, S5570i, CM11) + // when using ICU4J. // Leave it enabled by default for correctness except // for my known broken development/performance test device config. - static public final boolean USE_COLLATOR = !android.os.Build.FINGERPRINT.equals("Samsung/cm_tassve/tassve:4.4.4/KTU84Q/20150211:userdebug/release-keys"); + //static public final boolean USE_COLLATOR = !android.os.Build.FINGERPRINT.equals("Samsung/cm_tassve/tassve:4.4.4/KTU84Q/20150211:userdebug/release-keys"); + static public final boolean USE_COLLATOR = true; // Static, determined by resources (and locale). // Unordered. diff --git a/src/com/hughes/android/dictionary/engine/Index.java b/src/com/hughes/android/dictionary/engine/Index.java index bb4b460..d9d17bf 100644 --- a/src/com/hughes/android/dictionary/engine/Index.java +++ b/src/com/hughes/android/dictionary/engine/Index.java @@ -29,7 +29,7 @@ import com.hughes.util.raf.RAFSerializable; import com.hughes.util.raf.RAFSerializer; import com.hughes.util.raf.SerializableSerializer; import com.hughes.util.raf.UniformRAFList; -import com.ibm.icu.text.Collator; +import java.text.Collator; import com.ibm.icu.text.Transliterator; import java.io.DataInput; diff --git a/src/com/hughes/android/dictionary/engine/Language.java b/src/com/hughes/android/dictionary/engine/Language.java index 78085f6..0d48fc3 100644 --- a/src/com/hughes/android/dictionary/engine/Language.java +++ b/src/com/hughes/android/dictionary/engine/Language.java @@ -15,7 +15,7 @@ package com.hughes.android.dictionary.engine; import com.hughes.android.dictionary.DictionaryApplication; -import com.ibm.icu.text.Collator; +import java.text.Collator; import java.util.Comparator; import java.util.LinkedHashMap; -- 2.43.0