--- /dev/null
+// Copyright 2017 Reimar Döffinger
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package com.hughes.android.dictionary;
+
+import java.util.Locale;
+
+import java.text.Collator;
+
+final public class CollatorWrapper {
+static public Collator getInstance() {
+ return Collator.getInstance();
+}
+static public Collator getInstanceStrengthIdentical(Locale l) {
+ Collator c = Collator.getInstance(l);
+ c.setStrength(Collator.IDENTICAL);
+ return c;
+}
+}
import android.widget.LinearLayout;
import android.widget.Toast;
+import com.hughes.android.dictionary.CollatorWrapper;
import com.hughes.android.dictionary.DictionaryInfo.IndexInfo;
import com.hughes.android.dictionary.engine.Dictionary;
import com.hughes.android.dictionary.engine.Language;
import com.hughes.android.dictionary.engine.TransliteratorManager;
import com.hughes.android.util.PersistentObjectCache;
import com.hughes.util.ListUtil;
-import java.text.Collator;
import java.io.BufferedReader;
import java.io.File;
PersistentObjectCache.getInstance().write(C.DICTIONARY_CONFIGS, dictionaryConfig);
}
- final Comparator collator = USE_COLLATOR ? Collator.getInstance() : String.CASE_INSENSITIVE_ORDER;
+ final Comparator collator = USE_COLLATOR ? CollatorWrapper.getInstance() : String.CASE_INSENSITIVE_ORDER;
final Comparator<String> uncompressedFilenameComparator = new Comparator<String>() {
@Override
public int compare(String uncompressedFilename1, String uncompressedFilename2) {
import com.hughes.util.raf.RAFSerializer;
import com.hughes.util.raf.SerializableSerializer;
import com.hughes.util.raf.UniformRAFList;
-import java.text.Collator;
import com.ibm.icu.text.Transliterator;
import java.io.DataInput;
package com.hughes.android.dictionary.engine;
+import com.hughes.android.dictionary.CollatorWrapper;
import com.hughes.android.dictionary.DictionaryApplication;
-import java.text.Collator;
import java.util.Comparator;
import java.util.HashMap;
final String isoCode;
final Locale locale;
- private Collator collator;
+ private Comparator collator;
private Language(final Locale locale, final String isoCode) {
this.locale = locale;
return String.CASE_INSENSITIVE_ORDER;
// Don't think this is thread-safe...
// if (collator == null) {
- this.collator = Collator.getInstance(locale);
- this.collator.setStrength(Collator.IDENTICAL);
+ this.collator = CollatorWrapper.getInstanceStrengthIdentical(locale);
// }
return collator;
}