mirror of
https://gitlab.futo.org/keyboard/latinime.git
synced 2024-09-28 14:54:30 +01:00
am d5a3c593: Remove a broken dictionary file when fail to read a dictionary file.
* commit 'd5a3c593dba3475f5e72b1fbe53cee5ed17a7529': Remove a broken dictionary file when fail to read a dictionary file.
This commit is contained in:
commit
bfb4c3aa7f
@ -561,8 +561,7 @@ public final class BinaryDictDecoderUtils {
|
||||
*/
|
||||
@UsedForTesting
|
||||
/* package */ static FusionDictionary readDictionaryBinary(final Ver3DictDecoder dictDecoder,
|
||||
final FusionDictionary dict) throws FileNotFoundException, IOException,
|
||||
UnsupportedFormatException {
|
||||
final FusionDictionary dict) throws IOException, UnsupportedFormatException {
|
||||
// Read header
|
||||
final FileHeader fileHeader = dictDecoder.readHeader();
|
||||
|
||||
|
@ -25,6 +25,8 @@ import com.android.inputmethod.latin.makedict.FusionDictionary.PtNode;
|
||||
import com.android.inputmethod.latin.makedict.FusionDictionary.WeightedString;
|
||||
import com.android.inputmethod.latin.utils.JniUtils;
|
||||
|
||||
import android.util.Log;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.IOException;
|
||||
@ -38,6 +40,7 @@ import java.util.TreeMap;
|
||||
*/
|
||||
@UsedForTesting
|
||||
public class Ver3DictDecoder implements DictDecoder {
|
||||
private static final String TAG = Ver3DictDecoder.class.getSimpleName();
|
||||
|
||||
static {
|
||||
JniUtils.loadNativeLibrary();
|
||||
@ -308,7 +311,21 @@ public class Ver3DictDecoder implements DictDecoder {
|
||||
if (mDictBuffer == null) {
|
||||
openDictBuffer();
|
||||
}
|
||||
try {
|
||||
return BinaryDictDecoderUtils.readDictionaryBinary(this, dict);
|
||||
} catch (IOException e) {
|
||||
Log.e(TAG, "The dictionary " + mDictionaryBinaryFile.getName() + " is broken.", e);
|
||||
if (!mDictionaryBinaryFile.delete()) {
|
||||
Log.e(TAG, "Failed to delete the broken dictionary.");
|
||||
}
|
||||
throw e;
|
||||
} catch (UnsupportedFormatException e) {
|
||||
Log.e(TAG, "The dictionary " + mDictionaryBinaryFile.getName() + " is broken.", e);
|
||||
if (!mDictionaryBinaryFile.delete()) {
|
||||
Log.e(TAG, "Failed to delete the broken dictionary.");
|
||||
}
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
|
Loading…
x
Reference in New Issue
Block a user