Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 98e276a0 authored by Keisuke Kuroyanagi's avatar Keisuke Kuroyanagi Committed by Android (Google) Code Review
Browse files

Merge "Quit creating empty dictionary file in ExpandableBinaryDictionary."

parents 3d2a9af2 d437df0a
Loading
Loading
Loading
Loading
+8 −10
Original line number Diff line number Diff line
@@ -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();
+1 −0
Original line number Diff line number Diff line
@@ -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()];