Merge "Quit creating empty dictionary file in ExpandableBinaryDictionary."

main
Keisuke Kuroyanagi 2014-04-25 04:36:54 +00:00 committed by Android (Google) Code Review
commit 98e276a0ec
2 changed files with 9 additions and 10 deletions

View File

@ -27,7 +27,6 @@ import com.android.inputmethod.latin.makedict.UnsupportedFormatException;
import com.android.inputmethod.latin.makedict.WordProperty;
import com.android.inputmethod.latin.SuggestedWords.SuggestedWordInfo;
import com.android.inputmethod.latin.utils.AsyncResultHolder;
import com.android.inputmethod.latin.utils.BinaryDictionaryUtils;
import com.android.inputmethod.latin.utils.CollectionUtils;
import com.android.inputmethod.latin.utils.CombinedFormatUtils;
import com.android.inputmethod.latin.utils.ExecutorUtils;
@ -233,24 +232,24 @@ abstract public class ExpandableBinaryDictionary extends Dictionary {
mBinaryDictionary = null;
}
private void createBinaryDictionaryLocked() {
BinaryDictionaryUtils.createEmptyDictFile(mDictFile.getAbsolutePath(),
DICTIONARY_FORMAT_VERSION, mLocale, getHeaderAttributeMap());
}
private void openBinaryDictionaryLocked() {
mBinaryDictionary = new BinaryDictionary(
mDictFile.getAbsolutePath(), 0 /* offset */, mDictFile.length(),
true /* useFullEditDistance */, mLocale, mDictType, true /* isUpdatable */);
}
private void createOnMemoryBinaryDictionaryLocked() {
mBinaryDictionary = new BinaryDictionary(
mDictFile.getAbsolutePath(), true /* useFullEditDistance */, mLocale, mDictType,
DICTIONARY_FORMAT_VERSION, getHeaderAttributeMap());
}
public void clear() {
ExecutorUtils.getExecutor(mDictName).execute(new Runnable() {
@Override
public void run() {
removeBinaryDictionaryLocked();
createBinaryDictionaryLocked();
openBinaryDictionaryLocked();
createOnMemoryBinaryDictionaryLocked();
}
});
}
@ -512,8 +511,7 @@ abstract public class ExpandableBinaryDictionary extends Dictionary {
+ mDictNameDictionaryUpdateController.mLastUpdateTime);
}
removeBinaryDictionaryLocked();
createBinaryDictionaryLocked();
openBinaryDictionaryLocked();
createOnMemoryBinaryDictionaryLocked();
loadInitialContentsLocked();
// Run GC and flush to file when initial contents have been loaded.
mBinaryDictionary.flushWithGCIfHasUpdated();

View File

@ -91,6 +91,7 @@ public final class BinaryDictionaryUtils {
return false;
}
@UsedForTesting
public static boolean createEmptyDictFile(final String filePath, final long dictVersion,
final Locale locale, final Map<String, String> attributeMap) {
final String[] keyArray = new String[attributeMap.size()];