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

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

Merge "Use PrevWordsInfo instead of String in Java side."

parents 10bd458e 83c40a23
Loading
Loading
Loading
Loading
+3 −3
Original line number Diff line number Diff line
@@ -265,7 +265,7 @@ public final class BinaryDictionary extends Dictionary {

    @Override
    public ArrayList<SuggestedWordInfo> getSuggestions(final WordComposer composer,
            final String prevWord, final ProximityInfo proximityInfo,
            final PrevWordsInfo prevWordsInfo, final ProximityInfo proximityInfo,
            final boolean blockOffensiveWords, final int[] additionalFeaturesOptions,
            final int sessionId, final float[] inOutLanguageWeight) {
        if (!isValidDictionary()) {
@@ -274,8 +274,8 @@ public final class BinaryDictionary extends Dictionary {

        Arrays.fill(mInputCodePoints, Constants.NOT_A_CODE);
        // TODO: toLowerCase in the native code
        final int[] prevWordCodePointArray = (null == prevWord)
                ? null : StringUtils.toCodePointArray(prevWord);
        final int[] prevWordCodePointArray = (null == prevWordsInfo.mPrevWord)
                ? null : StringUtils.toCodePointArray(prevWordsInfo.mPrevWord);
        final InputPointers inputPointers = composer.getInputPointers();
        final boolean isGesture = composer.isBatchMode();
        final int inputSize;
+3 −5
Original line number Diff line number Diff line
@@ -69,7 +69,7 @@ public abstract class Dictionary {
     * Searches for suggestions for a given context. For the moment the context is only the
     * previous word.
     * @param composer the key sequence to match with coordinate info, as a WordComposer
     * @param prevWord the previous word, or null if none
     * @param prevWordsInfo the information of previous words.
     * @param proximityInfo the object for key proximity. May be ignored by some implementations.
     * @param blockOffensiveWords whether to block potentially offensive words
     * @param additionalFeaturesOptions options about additional features used for the suggestion.
@@ -79,10 +79,8 @@ public abstract class Dictionary {
     * different language weight is used.
     * @return the list of suggestions (possibly null if none)
     */
    // TODO: pass more context than just the previous word, to enable better suggestions (n-gram
    // and more)
    abstract public ArrayList<SuggestedWordInfo> getSuggestions(final WordComposer composer,
            final String prevWord, final ProximityInfo proximityInfo,
            final PrevWordsInfo prevWordsInfo, final ProximityInfo proximityInfo,
            final boolean blockOffensiveWords, final int[] additionalFeaturesOptions,
            final int sessionId, final float[] inOutLanguageWeight);

@@ -156,7 +154,7 @@ public abstract class Dictionary {

        @Override
        public ArrayList<SuggestedWordInfo> getSuggestions(final WordComposer composer,
                final String prevWord, final ProximityInfo proximityInfo,
                final PrevWordsInfo prevWordsInfo, final ProximityInfo proximityInfo,
                final boolean blockOffensiveWords, final int[] additionalFeaturesOptions,
                final int sessionId, final float[] inOutLanguageWeight) {
            return null;
+3 −3
Original line number Diff line number Diff line
@@ -57,7 +57,7 @@ public final class DictionaryCollection extends Dictionary {

    @Override
    public ArrayList<SuggestedWordInfo> getSuggestions(final WordComposer composer,
            final String prevWord, final ProximityInfo proximityInfo,
            final PrevWordsInfo prevWordsInfo, final ProximityInfo proximityInfo,
            final boolean blockOffensiveWords, final int[] additionalFeaturesOptions,
            final int sessionId, final float[] inOutLanguageWeight) {
        final CopyOnWriteArrayList<Dictionary> dictionaries = mDictionaries;
@@ -65,13 +65,13 @@ public final class DictionaryCollection extends Dictionary {
        // To avoid creating unnecessary objects, we get the list out of the first
        // dictionary and add the rest to it if not null, hence the get(0)
        ArrayList<SuggestedWordInfo> suggestions = dictionaries.get(0).getSuggestions(composer,
                prevWord, proximityInfo, blockOffensiveWords, additionalFeaturesOptions,
                prevWordsInfo, proximityInfo, blockOffensiveWords, additionalFeaturesOptions,
                sessionId, inOutLanguageWeight);
        if (null == suggestions) suggestions = CollectionUtils.newArrayList();
        final int length = dictionaries.size();
        for (int i = 1; i < length; ++ i) {
            final ArrayList<SuggestedWordInfo> sugg = dictionaries.get(i).getSuggestions(composer,
                    prevWord, proximityInfo, blockOffensiveWords, additionalFeaturesOptions,
                    prevWordsInfo, proximityInfo, blockOffensiveWords, additionalFeaturesOptions,
                    sessionId, inOutLanguageWeight);
            if (null != sugg) suggestions.addAll(sugg);
        }
+2 −2
Original line number Diff line number Diff line
@@ -444,7 +444,7 @@ public class DictionaryFacilitatorForSuggest {

    // TODO: Revise the way to fusion suggestion results.
    public SuggestionResults getSuggestionResults(final WordComposer composer,
            final String prevWord, final ProximityInfo proximityInfo,
            final PrevWordsInfo prevWordsInfo, final ProximityInfo proximityInfo,
            final boolean blockOffensiveWords, final int[] additionalFeaturesOptions,
            final int sessionId, final ArrayList<SuggestedWordInfo> rawSuggestions) {
        final Dictionaries dictionaries = mDictionaries;
@@ -455,7 +455,7 @@ public class DictionaryFacilitatorForSuggest {
            final Dictionary dictionary = dictionaries.getDict(dictType);
            if (null == dictionary) continue;
            final ArrayList<SuggestedWordInfo> dictionarySuggestions =
                    dictionary.getSuggestions(composer, prevWord, proximityInfo,
                    dictionary.getSuggestions(composer, prevWordsInfo, proximityInfo,
                            blockOffensiveWords, additionalFeaturesOptions, sessionId,
                            languageWeight);
            if (null == dictionarySuggestions) continue;
+2 −2
Original line number Diff line number Diff line
@@ -367,7 +367,7 @@ abstract public class ExpandableBinaryDictionary extends Dictionary {

    @Override
    public ArrayList<SuggestedWordInfo> getSuggestions(final WordComposer composer,
            final String prevWord, final ProximityInfo proximityInfo,
            final PrevWordsInfo prevWordsInfo, final ProximityInfo proximityInfo,
            final boolean blockOffensiveWords, final int[] additionalFeaturesOptions,
            final int sessionId, final float[] inOutLanguageWeight) {
        reloadDictionaryIfRequired();
@@ -380,7 +380,7 @@ abstract public class ExpandableBinaryDictionary extends Dictionary {
                    return null;
                }
                final ArrayList<SuggestedWordInfo> suggestions =
                        mBinaryDictionary.getSuggestions(composer, prevWord, proximityInfo,
                        mBinaryDictionary.getSuggestions(composer, prevWordsInfo, proximityInfo,
                                blockOffensiveWords, additionalFeaturesOptions, sessionId,
                                inOutLanguageWeight);
                if (mBinaryDictionary.isCorrupted()) {
Loading