Merge "[IL47] Inline getSuggestedWordsGestureLocked"

main
Jean Chalard 2013-12-27 08:04:51 +00:00 committed by Android (Google) Code Review
commit af26a44102
1 changed files with 10 additions and 23 deletions

View File

@ -1341,13 +1341,21 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
// Batch input has ended or canceled while the message was being delivered.
return;
}
getSuggestedWordsGestureLocked(batchPointers, sequenceNumber,
mLatinIme.mInputLogic.mWordComposer.setBatchInputPointers(batchPointers);
getSuggestedWords(Suggest.SESSION_GESTURE, sequenceNumber,
new OnGetSuggestedWordsCallback() {
@Override
public void onGetSuggestedWords(final SuggestedWords suggestedWords) {
public void onGetSuggestedWords(SuggestedWords suggestedWords) {
// We're now inside the callback. This always runs on the
// InputUpdater thread, no matter what thread updateBatchInput
// was called on.
if (suggestedWords.isEmpty()) {
// Use old suggestions if we don't have any new ones.
// Previous suggestions are found in InputLogic#mSuggestedWords.
// Since these are the most recent ones and we just recomputed
// new ones to update them, then the previous ones are there.
suggestedWords = mLatinIme.mInputLogic.mSuggestedWords;
}
mLatinIme.mHandler.showGesturePreviewAndSuggestionStrip(
suggestedWords,
forEnd /* dismissGestureFloatingPreviewText */);
@ -1404,27 +1412,6 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
updateBatchInput(batchPointers, sequenceNumber, true /* forEnd */);
}
// {@link LatinIME#getSuggestedWords(int)} method calls with same session id have to
// be synchronized.
private void getSuggestedWordsGestureLocked(final InputPointers batchPointers,
final int sequenceNumber, final OnGetSuggestedWordsCallback callback) {
mLatinIme.mInputLogic.mWordComposer.setBatchInputPointers(batchPointers);
getSuggestedWords(Suggest.SESSION_GESTURE, sequenceNumber,
new OnGetSuggestedWordsCallback() {
@Override
public void onGetSuggestedWords(SuggestedWords suggestedWords) {
if (suggestedWords.isEmpty()) {
// Previous suggestions are found in InputLogic#mSuggestedWords.
// Since these are the most recent ones and we just recomputed new
// ones to update them, it means the previous ones are there.
callback.onGetSuggestedWords(mLatinIme.mInputLogic.mSuggestedWords);
} else {
callback.onGetSuggestedWords(suggestedWords);
}
}
});
}
public void getSuggestedWords(final int sessionId, final int sequenceNumber,
final OnGetSuggestedWordsCallback callback) {
mHandler.obtainMessage(MSG_GET_SUGGESTED_WORDS, sessionId, sequenceNumber, callback)