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
main
Jean Chalard 2011-09-15 15:42:21 +09:00
parent fa52a09f21
commit 5c08151c22
2 changed files with 4 additions and 6 deletions

View File

@ -306,12 +306,10 @@ public class Suggest implements Dictionary.WordCallback {
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;

View File

@ -164,11 +164,11 @@ public class WordComposer {
* 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();
}
/**