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

Commit 83c40a23 authored by Keisuke Kuroyanagi's avatar Keisuke Kuroyanagi
Browse files

Use PrevWordsInfo instead of String in Java side.

Bug: 14119293
Bug: 14425059

Change-Id: I3d5da84881a49a04550180dd9aac2c37da2ed762
parent 169c4d25
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