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

Commit 080a35e9 authored by Keisuke Kuroyanagi's avatar Keisuke Kuroyanagi
Browse files

Rename UnigramProperty to WordProperty.

Bug: 12810574
Change-Id: If5ddd803948aaf6e491ddcbaa5436fb3af3f7257
parent 5f7f6a16
Loading
Loading
Loading
Loading
+25 −25
Original line number Diff line number Diff line
@@ -27,7 +27,7 @@ import com.android.inputmethod.latin.utils.CollectionUtils;
import com.android.inputmethod.latin.utils.JniUtils;
import com.android.inputmethod.latin.utils.LanguageModelParam;
import com.android.inputmethod.latin.utils.StringUtils;
import com.android.inputmethod.latin.utils.UnigramProperty;
import com.android.inputmethod.latin.utils.WordProperty;

import java.io.File;
import java.util.ArrayList;
@@ -61,18 +61,18 @@ public final class BinaryDictionary extends Dictionary {

    public static final int NOT_A_VALID_TIMESTAMP = -1;

    // Format to get unigram flags from native side via getUnigramPropertyNative().
    private static final int FORMAT_UNIGRAM_PROPERTY_OUTPUT_FLAG_COUNT = 4;
    private static final int FORMAT_UNIGRAM_PROPERTY_IS_NOT_A_WORD_INDEX = 0;
    private static final int FORMAT_UNIGRAM_PROPERTY_IS_BLACKLISTED_INDEX = 1;
    private static final int FORMAT_UNIGRAM_PROPERTY_HAS_BIGRAMS_INDEX = 2;
    private static final int FORMAT_UNIGRAM_PROPERTY_HAS_SHORTCUTS_INDEX = 3;
    // Format to get unigram flags from native side via getWordPropertyNative().
    private static final int FORMAT_WORD_PROPERTY_OUTPUT_FLAG_COUNT = 4;
    private static final int FORMAT_WORD_PROPERTY_IS_NOT_A_WORD_INDEX = 0;
    private static final int FORMAT_WORD_PROPERTY_IS_BLACKLISTED_INDEX = 1;
    private static final int FORMAT_WORD_PROPERTY_HAS_BIGRAMS_INDEX = 2;
    private static final int FORMAT_WORD_PROPERTY_HAS_SHORTCUTS_INDEX = 3;

    // Format to get unigram historical info from native side via getUnigramPropertyNative().
    private static final int FORMAT_UNIGRAM_PROPERTY_OUTPUT_HISTORICAL_INFO_COUNT = 3;
    private static final int FORMAT_UNIGRAM_PROPERTY_TIMESTAMP_INDEX = 0;
    private static final int FORMAT_UNIGRAM_PROPERTY_LEVEL_INDEX = 1;
    private static final int FORMAT_UNIGRAM_PROPERTY_COUNT_INDEX = 2;
    // Format to get unigram historical info from native side via getWordPropertyNative().
    private static final int FORMAT_WORD_PROPERTY_OUTPUT_HISTORICAL_INFO_COUNT = 3;
    private static final int FORMAT_WORD_PROPERTY_TIMESTAMP_INDEX = 0;
    private static final int FORMAT_WORD_PROPERTY_LEVEL_INDEX = 1;
    private static final int FORMAT_WORD_PROPERTY_COUNT_INDEX = 2;

    private long mNativeDict;
    private final Locale mLocale;
@@ -143,7 +143,7 @@ public final class BinaryDictionary extends Dictionary {
    private static native int getFormatVersionNative(long dict);
    private static native int getProbabilityNative(long dict, int[] word);
    private static native int getBigramProbabilityNative(long dict, int[] word0, int[] word1);
    private static native void getUnigramPropertyNative(long dict, int[] word,
    private static native void getWordPropertyNative(long dict, int[] word,
            int[] outCodePoints, boolean[] outFlags, int[] outProbability,
            int[] outHistoricalInfo, ArrayList<int[]> outShortcutTargets,
            ArrayList<Integer> outShortcutProbabilities);
@@ -306,28 +306,28 @@ public final class BinaryDictionary extends Dictionary {
    }

    @UsedForTesting
    public UnigramProperty getUnigramProperty(final String word) {
    public WordProperty getWordProperty(final String word) {
        if (TextUtils.isEmpty(word)) {
            return null;
        }
        final int[] codePoints = StringUtils.toCodePointArray(word);
        final int[] outCodePoints = new int[MAX_WORD_LENGTH];
        final boolean[] outFlags = new boolean[FORMAT_UNIGRAM_PROPERTY_OUTPUT_FLAG_COUNT];
        final boolean[] outFlags = new boolean[FORMAT_WORD_PROPERTY_OUTPUT_FLAG_COUNT];
        final int[] outProbability = new int[1];
        final int[] outHistoricalInfo =
                new int[FORMAT_UNIGRAM_PROPERTY_OUTPUT_HISTORICAL_INFO_COUNT];
                new int[FORMAT_WORD_PROPERTY_OUTPUT_HISTORICAL_INFO_COUNT];
        final ArrayList<int[]> outShortcutTargets = CollectionUtils.newArrayList();
        final ArrayList<Integer> outShortcutProbabilities = CollectionUtils.newArrayList();
        getUnigramPropertyNative(mNativeDict, codePoints, outCodePoints, outFlags, outProbability,
        getWordPropertyNative(mNativeDict, codePoints, outCodePoints, outFlags, outProbability,
                outHistoricalInfo, outShortcutTargets, outShortcutProbabilities);
        return new UnigramProperty(codePoints,
                outFlags[FORMAT_UNIGRAM_PROPERTY_IS_NOT_A_WORD_INDEX],
                outFlags[FORMAT_UNIGRAM_PROPERTY_IS_BLACKLISTED_INDEX],
                outFlags[FORMAT_UNIGRAM_PROPERTY_HAS_BIGRAMS_INDEX],
                outFlags[FORMAT_UNIGRAM_PROPERTY_HAS_SHORTCUTS_INDEX], outProbability[0],
                outHistoricalInfo[FORMAT_UNIGRAM_PROPERTY_TIMESTAMP_INDEX],
                outHistoricalInfo[FORMAT_UNIGRAM_PROPERTY_LEVEL_INDEX],
                outHistoricalInfo[FORMAT_UNIGRAM_PROPERTY_COUNT_INDEX],
        return new WordProperty(codePoints,
                outFlags[FORMAT_WORD_PROPERTY_IS_NOT_A_WORD_INDEX],
                outFlags[FORMAT_WORD_PROPERTY_IS_BLACKLISTED_INDEX],
                outFlags[FORMAT_WORD_PROPERTY_HAS_BIGRAMS_INDEX],
                outFlags[FORMAT_WORD_PROPERTY_HAS_SHORTCUTS_INDEX], outProbability[0],
                outHistoricalInfo[FORMAT_WORD_PROPERTY_TIMESTAMP_INDEX],
                outHistoricalInfo[FORMAT_WORD_PROPERTY_LEVEL_INDEX],
                outHistoricalInfo[FORMAT_WORD_PROPERTY_COUNT_INDEX],
                outShortcutTargets, outShortcutProbabilities);
    }

+3 −3
Original line number Diff line number Diff line
@@ -26,7 +26,7 @@ import java.util.ArrayList;
// This has information that belong to a unigram. This class has some detailed attributes such as
// historical information but they have to be checked only for testing purpose.
@UsedForTesting
public class UnigramProperty {
public class WordProperty {
    public final String mCodePoints;
    public final boolean mIsNotAWord;
    public final boolean mIsBlacklisted;
@@ -50,8 +50,8 @@ public class UnigramProperty {
        return codePoints.length;
    }

    // This represents invalid unigram when the probability is BinaryDictionary.NOT_A_PROBABILITY.
    public UnigramProperty(final int[] codePoints, final boolean isNotAWord,
    // This represents invalid word when the probability is BinaryDictionary.NOT_A_PROBABILITY.
    public WordProperty(final int[] codePoints, final boolean isNotAWord,
            final boolean isBlacklisted, final boolean hasBigram,
            final boolean hasShortcuts, final int probability, final int timestamp,
            final int level, final int count, final ArrayList<int[]> shortcutTargets,
+1 −1
Original line number Diff line number Diff line
@@ -32,7 +32,7 @@ LATIN_IME_CORE_SRC_FILES := \
        error_type_utils.cpp \
        multi_bigram_map.cpp \
        suggestions_output_utils.cpp \
        unigram_property.cpp) \
        word_property.cpp) \
    $(addprefix suggest/core/layout/, \
        additional_proximity_chars.cpp \
        proximity_info.cpp \
+6 −7
Original line number Diff line number Diff line
@@ -24,7 +24,7 @@
#include "jni.h"
#include "jni_common.h"
#include "suggest/core/dictionary/dictionary.h"
#include "suggest/core/dictionary/unigram_property.h"
#include "suggest/core/dictionary/word_property.h"
#include "suggest/core/suggest_options.h"
#include "suggest/policyimpl/dictionary/structure/dictionary_structure_with_buffer_policy_factory.h"
#include "suggest/policyimpl/dictionary/utils/dict_file_writing_utils.h"
@@ -260,7 +260,7 @@ static jint latinime_BinaryDictionary_getBigramProbability(JNIEnv *env, jclass c
            word1Length);
}

static void latinime_BinaryDictionary_getUnigramProperty(JNIEnv *env, jclass clazz,
static void latinime_BinaryDictionary_getWordProperty(JNIEnv *env, jclass clazz,
        jlong dict, jintArray word, jintArray outCodePoints, jbooleanArray outFlags,
        jintArray outProbability, jintArray outHistoricalInfo, jobject outShortcutTargets,
        jobject outShortcutProbabilities) {
@@ -269,9 +269,8 @@ static void latinime_BinaryDictionary_getUnigramProperty(JNIEnv *env, jclass cla
    const jsize wordLength = env->GetArrayLength(word);
    int wordCodePoints[wordLength];
    env->GetIntArrayRegion(word, 0, wordLength, wordCodePoints);
    const UnigramProperty unigramProperty = dictionary->getUnigramProperty(
            wordCodePoints, wordLength);
    unigramProperty.outputProperties(env, outCodePoints, outFlags, outProbability,
    const WordProperty wordProperty = dictionary->getWordProperty(wordCodePoints, wordLength);
    wordProperty.outputProperties(env, outCodePoints, outFlags, outProbability,
            outHistoricalInfo, outShortcutTargets, outShortcutProbabilities);
}

@@ -521,9 +520,9 @@ static const JNINativeMethod sMethods[] = {
        reinterpret_cast<void *>(latinime_BinaryDictionary_getBigramProbability)
    },
    {
        const_cast<char *>("getUnigramPropertyNative"),
        const_cast<char *>("getWordPropertyNative"),
        const_cast<char *>("(J[I[I[Z[I[ILjava/util/ArrayList;Ljava/util/ArrayList;)V"),
        reinterpret_cast<void *>(latinime_BinaryDictionary_getUnigramProperty)
        reinterpret_cast<void *>(latinime_BinaryDictionary_getWordProperty)
    },
    {
        const_cast<char *>("calcNormalizedScoreNative"),
+2 −2
Original line number Diff line number Diff line
@@ -143,10 +143,10 @@ void Dictionary::getProperty(const char *const query, const int queryLength, cha
            maxResultLength);
}

const UnigramProperty Dictionary::getUnigramProperty(const int *const codePoints,
const WordProperty Dictionary::getWordProperty(const int *const codePoints,
        const int codePointCount) {
    TimeKeeper::setCurrentTime();
    return mDictionaryStructureWithBufferPolicy.get()->getUnigramProperty(
    return mDictionaryStructureWithBufferPolicy.get()->getWordProperty(
            codePoints, codePointCount);
}

Loading