Avoid returning an object that's still used internally

There is no definite path known for this to end up being
touched by other classes, but we could imagine through
some way or some other it ends up shoved in the stringbuilder
pool, leading to catastrophic results.

Hopefully related to
Bug: 5248688

Change-Id: Ib8abfc31263cbf31d515ed607ced5d8253971938
diff --git a/java/src/com/android/inputmethod/latin/Suggest.java b/java/src/com/android/inputmethod/latin/Suggest.java
index 93933f1..16dccf8 100644
--- a/java/src/com/android/inputmethod/latin/Suggest.java
+++ b/java/src/com/android/inputmethod/latin/Suggest.java
@@ -306,12 +306,10 @@
         Arrays.fill(mScores, 0);
 
         // Save a lowercase version of the original word
-        CharSequence typedWord = wordComposer.getTypedWord();
+        String typedWord = wordComposer.getTypedWord();
         if (typedWord != null) {
-            final String typedWordString = typedWord.toString();
-            typedWord = typedWordString;
             // Treating USER_TYPED as UNIGRAM suggestion for logging now.
-            LatinImeLogger.onAddSuggestedWord(typedWordString, Suggest.DIC_USER_TYPED,
+            LatinImeLogger.onAddSuggestedWord(typedWord, Suggest.DIC_USER_TYPED,
                     Dictionary.DataType.UNIGRAM);
         }
         mTypedWord = typedWord;
diff --git a/java/src/com/android/inputmethod/latin/WordComposer.java b/java/src/com/android/inputmethod/latin/WordComposer.java
index 24519ad..a79e6dc 100644
--- a/java/src/com/android/inputmethod/latin/WordComposer.java
+++ b/java/src/com/android/inputmethod/latin/WordComposer.java
@@ -164,11 +164,11 @@
      * Returns the word as it was typed, without any correction applied.
      * @return the word that was typed so far
      */
-    public CharSequence getTypedWord() {
+    public String getTypedWord() {
         if (size() == 0) {
             return null;
         }
-        return mTypedWord;
+        return mTypedWord.toString();
     }
 
     /**