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

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

Merge "Refactor a method" into jb-dev

parents a6204bbe 4455fe2c
Loading
Loading
Loading
Loading
+14 −10
Original line number Diff line number Diff line
@@ -722,15 +722,16 @@ public class BinaryDictInputOutput {
    }

    /**
     * Makes the flag value for an attribute.
     * Makes the flag value for a bigram.
     *
     * @param more whether there are more attributes after this one.
     * @param offset the offset of the attribute.
     * @param frequency the frequency of the attribute, 0..15
     * @param more whether there are more bigrams after this one.
     * @param offset the offset of the bigram.
     * @param bigramFrequency the frequency of the bigram, 0..15.
     * @param unigramFrequency the unigram frequency of the same word.
     * @return the flags
     */
    private static final int makeAttributeFlags(final boolean more, final int offset,
            final int frequency) {
    private static final int makeBigramFlags(final boolean more, final int offset,
            final int bigramFrequency, final int unigramFrequency) {
        int bigramFlags = (more ? FLAG_ATTRIBUTE_HAS_NEXT : 0)
                + (offset < 0 ? FLAG_ATTRIBUTE_OFFSET_NEGATIVE : 0);
        switch (getByteSize(offset)) {
@@ -746,7 +747,7 @@ public class BinaryDictInputOutput {
        default:
            throw new RuntimeException("Strange offset size");
        }
        bigramFlags += frequency & FLAG_ATTRIBUTE_FREQUENCY;
        bigramFlags += bigramFrequency & FLAG_ATTRIBUTE_FREQUENCY;
        return bigramFlags;
    }

@@ -854,11 +855,14 @@ public class BinaryDictInputOutput {
                final Iterator bigramIterator = group.mBigrams.iterator();
                while (bigramIterator.hasNext()) {
                    final WeightedString bigram = (WeightedString)bigramIterator.next();
                    final int addressOfBigram = findAddressOfWord(dict, bigram.mWord);
                    final CharGroup target =
                            FusionDictionary.findWordInTree(dict.mRoot, bigram.mWord);
                    final int addressOfBigram = target.mCachedAddress;
                    final int unigramFrequencyForThisWord = target.mFrequency;
                    ++groupAddress;
                    final int offset = addressOfBigram - groupAddress;
                    int bigramFlags = makeAttributeFlags(bigramIterator.hasNext(), offset,
                            bigram.mFrequency);
                    int bigramFlags = makeBigramFlags(bigramIterator.hasNext(), offset,
                            bigram.mFrequency, unigramFrequencyForThisWord);
                    buffer[index++] = (byte)bigramFlags;
                    final int bigramShift = writeVariableAddress(buffer, index, Math.abs(offset));
                    index += bigramShift;
+1 −1
Original line number Diff line number Diff line
@@ -154,7 +154,7 @@ public class XmlDictInputOutput {
        // In this version of the XML file, the bigram frequency is given as an int 0..XML_MAX
        private final static int XML_MAX = 256;
        // In memory and in the binary dictionary the bigram frequency is 0..MEMORY_MAX
        private final static int MEMORY_MAX = 16;
        private final static int MEMORY_MAX = 256;
        private final static int XML_TO_MEMORY_RATIO = XML_MAX / MEMORY_MAX;

        private String mSrc;