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

Commit ffcbbaf1 authored by Satoshi Kataoka's avatar Satoshi Kataoka
Browse files

Refactor on UserHistoryDictionary

Bug: 9429906
Change-Id: I576a91643bdaf5017cc826ac2e07a74a9a275d60
parent adc91027
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -38,7 +38,7 @@ public final class BinaryDictionary extends Dictionary {
    private static final String TAG = BinaryDictionary.class.getSimpleName();
    private static final String TAG = BinaryDictionary.class.getSimpleName();


    // Must be equal to MAX_WORD_LENGTH in native/jni/src/defines.h
    // Must be equal to MAX_WORD_LENGTH in native/jni/src/defines.h
    private static final int MAX_WORD_LENGTH = Constants.Dictionary.MAX_WORD_LENGTH;
    private static final int MAX_WORD_LENGTH = Constants.DICTIONARY_MAX_WORD_LENGTH;
    // Must be equal to MAX_RESULTS in native/jni/src/defines.h
    // Must be equal to MAX_RESULTS in native/jni/src/defines.h
    private static final int MAX_RESULTS = 18;
    private static final int MAX_RESULTS = 18;


+4 −9
Original line number Original line Diff line number Diff line
@@ -126,15 +126,6 @@ public final class Constants {
        }
        }
    }
    }


    public static final class Dictionary {
        // Must be equal to MAX_WORD_LENGTH in native/jni/src/defines.h
        public static final int MAX_WORD_LENGTH = 48;

        private Dictionary() {
             // This utility class is no publicly instantiable.
        }
    }

    public static final int NOT_A_CODE = -1;
    public static final int NOT_A_CODE = -1;


    public static final int NOT_A_COORDINATE = -1;
    public static final int NOT_A_COORDINATE = -1;
@@ -142,6 +133,10 @@ public final class Constants {
    public static final int SPELL_CHECKER_COORDINATE = -3;
    public static final int SPELL_CHECKER_COORDINATE = -3;
    public static final int EXTERNAL_KEYBOARD_COORDINATE = -4;
    public static final int EXTERNAL_KEYBOARD_COORDINATE = -4;



    // Must be equal to MAX_WORD_LENGTH in native/jni/src/defines.h
    public static final int DICTIONARY_MAX_WORD_LENGTH = 48;

    public static boolean isValidCoordinate(final int coordinate) {
    public static boolean isValidCoordinate(final int coordinate) {
        // Detect {@link NOT_A_COORDINATE}, {@link SUGGESTION_STRIP_COORDINATE},
        // Detect {@link NOT_A_COORDINATE}, {@link SUGGESTION_STRIP_COORDINATE},
        // and {@link SPELL_CHECKER_COORDINATE}.
        // and {@link SPELL_CHECKER_COORDINATE}.
+1 −1
Original line number Original line Diff line number Diff line
@@ -48,7 +48,7 @@ abstract public class ExpandableBinaryDictionary extends Dictionary {
    /**
    /**
     * The maximum length of a word in this dictionary.
     * The maximum length of a word in this dictionary.
     */
     */
    protected static final int MAX_WORD_LENGTH = Constants.Dictionary.MAX_WORD_LENGTH;
    protected static final int MAX_WORD_LENGTH = Constants.DICTIONARY_MAX_WORD_LENGTH;


    /**
    /**
     * A static map of locks, each of which controls access to a single binary dictionary file. They
     * A static map of locks, each of which controls access to a single binary dictionary file. They
+9 −9
Original line number Original line Diff line number Diff line
@@ -43,7 +43,7 @@ public class ExpandableDictionary extends Dictionary {
    protected static final int BIGRAM_MAX_FREQUENCY = 255;
    protected static final int BIGRAM_MAX_FREQUENCY = 255;


    private Context mContext;
    private Context mContext;
    private char[] mWordBuilder = new char[Constants.Dictionary.MAX_WORD_LENGTH];
    private char[] mWordBuilder = new char[Constants.DICTIONARY_MAX_WORD_LENGTH];
    private int mMaxDepth;
    private int mMaxDepth;
    private int mInputLength;
    private int mInputLength;


@@ -87,7 +87,7 @@ public class ExpandableDictionary extends Dictionary {
        }
        }
    }
    }


    protected interface NextWord {
    public interface NextWord {
        public Node getWordNode();
        public Node getWordNode();
        public int getFrequency();
        public int getFrequency();
        public ForgettingCurveParams getFcParams();
        public ForgettingCurveParams getFcParams();
@@ -161,7 +161,7 @@ public class ExpandableDictionary extends Dictionary {
        super(dictType);
        super(dictType);
        mContext = context;
        mContext = context;
        clearDictionary();
        clearDictionary();
        mCodes = new int[Constants.Dictionary.MAX_WORD_LENGTH][];
        mCodes = new int[Constants.DICTIONARY_MAX_WORD_LENGTH][];
    }
    }


    public void loadDictionary() {
    public void loadDictionary() {
@@ -198,11 +198,11 @@ public class ExpandableDictionary extends Dictionary {
    }
    }


    public int getMaxWordLength() {
    public int getMaxWordLength() {
        return Constants.Dictionary.MAX_WORD_LENGTH;
        return Constants.DICTIONARY_MAX_WORD_LENGTH;
    }
    }


    public void addWord(final String word, final String shortcutTarget, final int frequency) {
    public void addWord(final String word, final String shortcutTarget, final int frequency) {
        if (word.length() >= Constants.Dictionary.MAX_WORD_LENGTH) {
        if (word.length() >= Constants.DICTIONARY_MAX_WORD_LENGTH) {
            return;
            return;
        }
        }
        addWordRec(mRoots, word, 0, shortcutTarget, frequency, null);
        addWordRec(mRoots, word, 0, shortcutTarget, frequency, null);
@@ -258,7 +258,7 @@ public class ExpandableDictionary extends Dictionary {
            final boolean blockOffensiveWords) {
            final boolean blockOffensiveWords) {
        if (reloadDictionaryIfRequired()) return null;
        if (reloadDictionaryIfRequired()) return null;
        if (composer.size() > 1) {
        if (composer.size() > 1) {
            if (composer.size() >= Constants.Dictionary.MAX_WORD_LENGTH) {
            if (composer.size() >= Constants.DICTIONARY_MAX_WORD_LENGTH) {
                return null;
                return null;
            }
            }
            final ArrayList<SuggestedWordInfo> suggestions =
            final ArrayList<SuggestedWordInfo> suggestions =
@@ -629,7 +629,7 @@ public class ExpandableDictionary extends Dictionary {
    }
    }


    // Local to reverseLookUp, but do not allocate each time.
    // Local to reverseLookUp, but do not allocate each time.
    private final char[] mLookedUpString = new char[Constants.Dictionary.MAX_WORD_LENGTH];
    private final char[] mLookedUpString = new char[Constants.DICTIONARY_MAX_WORD_LENGTH];


    /**
    /**
     * reverseLookUp retrieves the full word given a list of terminal nodes and adds those words
     * reverseLookUp retrieves the full word given a list of terminal nodes and adds those words
@@ -644,7 +644,7 @@ public class ExpandableDictionary extends Dictionary {
        for (NextWord nextWord : terminalNodes) {
        for (NextWord nextWord : terminalNodes) {
            node = nextWord.getWordNode();
            node = nextWord.getWordNode();
            freq = nextWord.getFrequency();
            freq = nextWord.getFrequency();
            int index = Constants.Dictionary.MAX_WORD_LENGTH;
            int index = Constants.DICTIONARY_MAX_WORD_LENGTH;
            do {
            do {
                --index;
                --index;
                mLookedUpString[index] = node.mCode;
                mLookedUpString[index] = node.mCode;
@@ -656,7 +656,7 @@ public class ExpandableDictionary extends Dictionary {
            // to ignore the word in this case.
            // to ignore the word in this case.
            if (freq >= 0 && node == null) {
            if (freq >= 0 && node == null) {
                suggestions.add(new SuggestedWordInfo(new String(mLookedUpString, index,
                suggestions.add(new SuggestedWordInfo(new String(mLookedUpString, index,
                        Constants.Dictionary.MAX_WORD_LENGTH - index),
                        Constants.DICTIONARY_MAX_WORD_LENGTH - index),
                        freq, SuggestedWordInfo.KIND_CORRECTION, mDictType));
                        freq, SuggestedWordInfo.KIND_CORRECTION, mDictType));
            }
            }
        }
        }
+1 −1
Original line number Original line Diff line number Diff line
@@ -49,7 +49,7 @@ public final class LastComposedWord {
    public final String mPrevWord;
    public final String mPrevWord;
    public final int mCapitalizedMode;
    public final int mCapitalizedMode;
    public final InputPointers mInputPointers =
    public final InputPointers mInputPointers =
            new InputPointers(Constants.Dictionary.MAX_WORD_LENGTH);
            new InputPointers(Constants.DICTIONARY_MAX_WORD_LENGTH);


    private boolean mActive;
    private boolean mActive;


Loading