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

Commit e2a6badf authored by Ken Wakasa's avatar Ken Wakasa Committed by Android (Google) Code Review
Browse files

Merge "Show results in the native code." into jb-mr1-dev

parents 4e9e6cd1 586b0ca1
Loading
Loading
Loading
Loading
+41 −5
Original line number Diff line number Diff line
@@ -25,18 +25,53 @@
#define AKLOGE(fmt, ...) __android_log_print(ANDROID_LOG_ERROR, LOG_TAG, fmt, ##__VA_ARGS__)
#define AKLOGI(fmt, ...) __android_log_print(ANDROID_LOG_INFO, LOG_TAG, fmt, ##__VA_ARGS__)

#define DUMP_RESULT(words, frequencies, maxWordCount, maxWordLength) do { \
        dumpResult(words, frequencies, maxWordCount, maxWordLength); } while(0)
#define DUMP_WORD(word, length) do { dumpWord(word, length); } while(0)
#define DUMP_WORD_INT(word, length) do { dumpWordInt(word, length); } while(0)

static inline void dumpWord(const unsigned short *word, const int length) {
static inline void dumpWordInfo(const unsigned short *word, const int length,
        const int rank, const int frequency) {
    static char charBuf[50];
    int i = 0;
    for (; i < length; ++i) {
        const unsigned short c = word[i];
        if (c == 0) {
            break;
        }
        charBuf[i] = c;
    }
    charBuf[i] = 0;
    if (i > 1) {
        AKLOGI("%2d [ %s ] (%d)", rank, charBuf, frequency);
    }
}

    for (int i = 0; i < length; ++i) {
        charBuf[i] = word[i];
static inline void dumpResult(
        const unsigned short *outWords, const int *frequencies, const int maxWordCounts,
        const int maxWordLength) {
    AKLOGI("--- DUMP RESULT ---------");
    for (int i = 0; i < maxWordCounts; ++i) {
        dumpWordInfo(&outWords[i * maxWordLength], maxWordLength, i, frequencies[i]);
    }
    charBuf[length] = 0;
    AKLOGI("-------------------------");
}

static inline void dumpWord(const unsigned short *word, const int length) {
    static char charBuf[50];
    int i = 0;
    for (; i < length; ++i) {
        const unsigned short c = word[i];
        if (c == 0) {
            break;
        }
        charBuf[i] = c;
    }
    charBuf[i] = 0;
    if (i > 1) {
        AKLOGI("[ %s ]", charBuf);
    }
}

static inline void dumpWordInt(const int *word, const int length) {
    static char charBuf[50];
@@ -51,6 +86,7 @@ static inline void dumpWordInt(const int *word, const int length) {
#else
#define AKLOGE(fmt, ...)
#define AKLOGI(fmt, ...)
#define DUMP_RESULT(words, frequencies, maxWordCount, maxWordLength)
#define DUMP_WORD(word, length)
#define DUMP_WORD_INT(word, length)
#endif
+3 −0
Original line number Diff line number Diff line
@@ -67,6 +67,9 @@ int Dictionary::getSuggestions(ProximityInfo *proximityInfo, int *xcoordinates,
        result = mGestureDecoder->getSuggestions(proximityInfo, xcoordinates, ycoordinates,
                times, pointerIds, codes, codesSize, commitPoint,
                outWords, frequencies, spaceIndices, outputTypes);
        if (DEBUG_DICT) {
            DUMP_RESULT(outWords, frequencies, 18 /* MAX_WORDS */, MAX_WORD_LENGTH_INTERNAL);
        }
        return result;
    } else {
        std::map<int, int> bigramMap;