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

Commit 25ff89a7 authored by Jean Chalard's avatar Jean Chalard Committed by Android (Google) Code Review
Browse files

Merge "Activate bigram predictions from the binary dictionary"

parents a252e054 ad290d65
Loading
Loading
Loading
Loading
+6 −9
Original line number Diff line number Diff line
@@ -139,22 +139,19 @@ public class BinaryDictionary extends Dictionary {
        Arrays.fill(mBigramScores, 0);

        int codesSize = codes.size();
        if (codesSize <= 0) {
            // Do not return bigrams from BinaryDictionary when nothing was typed.
            // Only use user-history bigrams (or whatever other bigram dictionaries decide).
            return;
        }
        Arrays.fill(mInputCodes, -1);
        if (codesSize > 0) {
            int[] alternatives = codes.getCodesAt(0);
            System.arraycopy(alternatives, 0, mInputCodes, 0,
                    Math.min(alternatives.length, MAX_PROXIMITY_CHARS_SIZE));
        }

        int count = getBigramsNative(mNativeDict, chars, chars.length, mInputCodes, codesSize,
                mOutputChars_bigrams, mBigramScores, MAX_WORD_LENGTH, MAX_BIGRAMS,
                MAX_PROXIMITY_CHARS_SIZE);

        for (int j = 0; j < count; ++j) {
            if (mBigramScores[j] < 1) break;
            if (codesSize > 0 && mBigramScores[j] < 1) break;
            final int start = j * MAX_WORD_LENGTH;
            int len = 0;
            while (len <  MAX_WORD_LENGTH && mOutputChars_bigrams[start + len] != 0) {
+2 −1
Original line number Diff line number Diff line
@@ -134,7 +134,8 @@ int BigramDictionary::getBigrams(unsigned short *prevWord, int prevWordLength, i
        const int length = BinaryFormat::getWordAtAddress(root, bigramPos, MAX_WORD_LENGTH,
                bigramBuffer);

        if (checkFirstCharacter(bigramBuffer)) {
        // codesSize == 0 means we are trying to find bigram predictions.
        if (codesSize < 1 || checkFirstCharacter(bigramBuffer)) {
            const int frequency = UnigramDictionary::MASK_ATTRIBUTE_FREQUENCY & bigramFlags;
            addWordBigram(bigramBuffer, length, frequency);
        }