mirror of
https://gitlab.futo.org/keyboard/latinime.git
synced 2024-09-28 14:54:30 +01:00
Merge "Fallback to the included dict if the passed one is invalid"
This commit is contained in:
commit
728ab86f8c
@ -56,8 +56,11 @@ public class DictionaryFactory {
|
|||||||
BinaryDictionaryGetter.getDictionaryFiles(locale, context, fallbackResId);
|
BinaryDictionaryGetter.getDictionaryFiles(locale, context, fallbackResId);
|
||||||
if (null != assetFileList) {
|
if (null != assetFileList) {
|
||||||
for (final AssetFileAddress f : assetFileList) {
|
for (final AssetFileAddress f : assetFileList) {
|
||||||
dictList.add(
|
final BinaryDictionary binaryDictionary =
|
||||||
new BinaryDictionary(context, f.mFilename, f.mOffset, f.mLength, null));
|
new BinaryDictionary(context, f.mFilename, f.mOffset, f.mLength, null);
|
||||||
|
if (binaryDictionary.isValidDictionary()) {
|
||||||
|
dictList.add(binaryDictionary);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -67,7 +70,16 @@ public class DictionaryFactory {
|
|||||||
if (null == dictList) {
|
if (null == dictList) {
|
||||||
return new DictionaryCollection();
|
return new DictionaryCollection();
|
||||||
} else {
|
} else {
|
||||||
return new DictionaryCollection(dictList);
|
if (dictList.isEmpty()) {
|
||||||
|
// The list may be empty if no dictionaries have been added. The getter should not
|
||||||
|
// return an empty list, but if it does we end up here. Likewise, if the files
|
||||||
|
// we found could not be opened by the native code for any reason (format mismatch,
|
||||||
|
// file too big to fit in memory, etc) then we could have an empty list. In this
|
||||||
|
// case we want to fall back on the resource.
|
||||||
|
return new DictionaryCollection(createBinaryDictionary(context, fallbackResId));
|
||||||
|
} else {
|
||||||
|
return new DictionaryCollection(dictList);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user