From 1cd7ca991961937c1a84572a6cafa3eaf5181be4 Mon Sep 17 00:00:00 2001
From: Keisuke Kuroyanagi <ksk@google.com>
Date: Fri, 14 Sep 2012 18:03:10 +0900
Subject: [PATCH] Using isSkippableChar instead of '\'' and '-'.

Change-Id: I295a72b683b2ebc28a006baa66baf7e1b97100eb
---
 native/jni/src/correction.cpp           | 2 +-
 native/jni/src/proximity_info.h         | 5 +++++
 native/jni/src/proximity_info_state.cpp | 4 +---
 native/jni/src/unigram_dictionary.cpp   | 1 -
 4 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/native/jni/src/correction.cpp b/native/jni/src/correction.cpp
index 15a7131222..49e3e3c8cf 100644
--- a/native/jni/src/correction.cpp
+++ b/native/jni/src/correction.cpp
@@ -631,7 +631,7 @@ Correction::CorrectionType Correction::processCharAndCalcState(
 inline static int getQuoteCount(const unsigned short *word, const int length) {
     int quoteCount = 0;
     for (int i = 0; i < length; ++i) {
-        if (word[i] == '\'') {
+        if (word[i] == SINGLE_QUOTE) {
             ++quoteCount;
         }
     }
diff --git a/native/jni/src/proximity_info.h b/native/jni/src/proximity_info.h
index 2f258ef86a..0d8c6a3ca0 100644
--- a/native/jni/src/proximity_info.h
+++ b/native/jni/src/proximity_info.h
@@ -27,6 +27,11 @@ namespace latinime {
 
 class Correction;
 
+inline bool isSkippableChar(const uint16_t character) {
+    // TODO: Do not hardcode here
+    return character == '\'' || character == '-';
+}
+
 class ProximityInfo {
  public:
     ProximityInfo(JNIEnv *env, const jstring localeJStr, const int maxProximityCharsSize,
diff --git a/native/jni/src/proximity_info_state.cpp b/native/jni/src/proximity_info_state.cpp
index 7e917a929b..3edd9b391e 100644
--- a/native/jni/src/proximity_info_state.cpp
+++ b/native/jni/src/proximity_info_state.cpp
@@ -469,9 +469,7 @@ float ProximityInfoState::getPointToKeyLength(const int inputIndex, const int co
         const int index = inputIndex * mProximityInfo->getKeyCount() + keyId;
         return min(mDistanceCache[index] * scale, mMaxPointToKeyLength);
     }
-    // TODO: Do not hardcode here
-    // No penalty to ' and -
-    if (codePoint == '\'' || codePoint == '-') {
+    if (isSkippableChar(codePoint)) {
         return 0;
     }
     // If the char is not a key on the keyboard then return the max length.
diff --git a/native/jni/src/unigram_dictionary.cpp b/native/jni/src/unigram_dictionary.cpp
index 6eaff48dfb..49d044fbcc 100644
--- a/native/jni/src/unigram_dictionary.cpp
+++ b/native/jni/src/unigram_dictionary.cpp
@@ -314,7 +314,6 @@ void UnigramDictionary::initSuggestions(ProximityInfo *proximityInfo, const int
     correction->initCorrection(proximityInfo, inputSize, maxDepth);
 }
 
-static const char QUOTE = '\'';
 static const char SPACE = ' ';
 
 void UnigramDictionary::getOneWordSuggestions(ProximityInfo *proximityInfo,
-- 
GitLab