Cleanup DicTraverseSession.

Change-Id: I953665e1958e7214e9365e2bc9d3f3843016dc81
diff --git a/native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp b/native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp
index fdb8764..e79fb71 100644
--- a/native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp
+++ b/native/jni/com_android_inputmethod_latin_BinaryDictionary.cpp
@@ -190,7 +190,9 @@
     ProximityInfo *pInfo = reinterpret_cast<ProximityInfo *>(proximityInfo);
     DicTraverseSession *traverseSession =
             reinterpret_cast<DicTraverseSession *>(dicTraverseSession);
-
+    if (!traverseSession) {
+        return;
+    }
     // Input values
     int xCoordinates[inputSize];
     int yCoordinates[inputSize];
diff --git a/native/jni/com_android_inputmethod_latin_DicTraverseSession.cpp b/native/jni/com_android_inputmethod_latin_DicTraverseSession.cpp
index 3866433..5cc20aa 100644
--- a/native/jni/com_android_inputmethod_latin_DicTraverseSession.cpp
+++ b/native/jni/com_android_inputmethod_latin_DicTraverseSession.cpp
@@ -34,16 +34,17 @@
 static void latinime_initDicTraverseSession(JNIEnv *env, jclass clazz, jlong traverseSession,
         jlong dictionary, jintArray previousWord, jint previousWordLength) {
     DicTraverseSession *ts = reinterpret_cast<DicTraverseSession *>(traverseSession);
+    if (!ts) {
+        return;
+    }
     Dictionary *dict = reinterpret_cast<Dictionary *>(dictionary);
     if (!previousWord) {
-        DicTraverseSession::initSessionInstance(
-                ts, dict, 0 /* prevWord */, 0 /* prevWordLength*/, 0 /* suggestOptions */);
+        ts->init(dict, 0 /* prevWord */, 0 /* prevWordLength*/, 0 /* suggestOptions */);
         return;
     }
     int prevWord[previousWordLength];
     env->GetIntArrayRegion(previousWord, 0, previousWordLength, prevWord);
-    DicTraverseSession::initSessionInstance(
-            ts, dict, prevWord, previousWordLength, 0 /* suggestOptions */);
+    ts->init(dict, prevWord, previousWordLength, 0 /* suggestOptions */);
 }
 
 static void latinime_releaseDicTraverseSession(JNIEnv *env, jclass clazz, jlong traverseSession) {
diff --git a/native/jni/src/suggest/core/dictionary/dictionary.cpp b/native/jni/src/suggest/core/dictionary/dictionary.cpp
index fdc8936..aa52e63 100644
--- a/native/jni/src/suggest/core/dictionary/dictionary.cpp
+++ b/native/jni/src/suggest/core/dictionary/dictionary.cpp
@@ -48,8 +48,7 @@
         const SuggestOptions *const suggestOptions, const float languageWeight,
         SuggestionResults *const outSuggestionResults) const {
     TimeKeeper::setCurrentTime();
-    DicTraverseSession::initSessionInstance(
-            traverseSession, this, prevWordCodePoints, prevWordLength, suggestOptions);
+    traverseSession->init(this, prevWordCodePoints, prevWordLength, suggestOptions);
     const auto &suggest = suggestOptions->isGesture() ? mGestureSuggest : mTypingSuggest;
     suggest->getSuggestions(proximityInfo, traverseSession, xcoordinates,
             ycoordinates, times, pointerIds, inputCodePoints, inputSize,
diff --git a/native/jni/src/suggest/core/session/dic_traverse_session.h b/native/jni/src/suggest/core/session/dic_traverse_session.h
index 843ca85..50bffeb 100644
--- a/native/jni/src/suggest/core/session/dic_traverse_session.h
+++ b/native/jni/src/suggest/core/session/dic_traverse_session.h
@@ -44,15 +44,6 @@
                 dictSize >= DICTIONARY_SIZE_THRESHOLD_TO_USE_LARGE_CACHE_FOR_SUGGESTION);
     }
 
-    static AK_FORCE_INLINE void initSessionInstance(DicTraverseSession *traverseSession,
-            const Dictionary *const dictionary, const int *prevWord, const int prevWordLength,
-            const SuggestOptions *const suggestOptions) {
-        if (traverseSession) {
-            DicTraverseSession *tSession = static_cast<DicTraverseSession *>(traverseSession);
-            tSession->init(dictionary, prevWord, prevWordLength, suggestOptions);
-        }
-    }
-
     static AK_FORCE_INLINE void releaseSessionInstance(DicTraverseSession *traverseSession) {
         delete traverseSession;
     }
@@ -86,8 +77,6 @@
     const ProximityInfo *getProximityInfo() const { return mProximityInfo; }
     const SuggestOptions *getSuggestOptions() const { return mSuggestOptions; }
     int getPrevWordPtNodePos() const { return mPrevWordPtNodePos; }
-    // TODO: REMOVE
-    void setPrevWordPtNodePos(const int ptNodePos) { mPrevWordPtNodePos = ptNodePos; }
     DicNodesCache *getDicTraverseCache() { return &mDicNodesCache; }
     MultiBigramMap *getMultiBigramMap() { return &mMultiBigramMap; }
     const ProximityInfoState *getProximityInfoState(int id) const {