Cache the sweet spot types

Change-Id: Ibaee062dc55c11892143d48b2d0959e78e52be83
diff --git a/native/src/proximity_info.h b/native/src/proximity_info.h
index a705d0c..421ca0e 100644
--- a/native/src/proximity_info.h
+++ b/native/src/proximity_info.h
@@ -81,7 +81,9 @@
 
     int getStartIndexFromCoordinates(const int x, const int y) const;
     void initializeCodeToKeyIndex();
-    SweetSpotType calculateSweetSpotType(int index, unsigned short baseLowerC) const;
+    SweetSpotType calculateSweetSpotType(int index) const;
+    float calculateSquaredDistanceFromSweetSpotCenter(int keyIndex, int inputIndex) const;
+
     const int MAX_PROXIMITY_CHARS_SIZE;
     const int KEYBOARD_WIDTH;
     const int KEYBOARD_HEIGHT;
@@ -102,6 +104,7 @@
     float mSweetSpotCenterXs[MAX_KEY_COUNT_IN_A_KEYBOARD];
     float mSweetSpotCenterYs[MAX_KEY_COUNT_IN_A_KEYBOARD];
     float mSweetSpotRadii[MAX_KEY_COUNT_IN_A_KEYBOARD];
+    SweetSpotType mSweetSpotTypes[MAX_WORD_LENGTH_INTERNAL];
     int mInputLength;
     unsigned short mPrimaryInputWord[MAX_WORD_LENGTH_INTERNAL];
     int mCodeToKeyIndex[MAX_CHAR_CODE + 1];