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

Commit 586b0ca1 authored by Satoshi Kataoka's avatar Satoshi Kataoka
Browse files

Show results in the native code.

Change-Id: I712ba49cf4a89a36836fbf49cd72e7eef218e61f
parent 77e8e81a
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;