am af26a441: Merge "[IL47] Inline getSuggestedWordsGestureLocked"

* commit 'af26a44102c004844546cb8d049aa43b629f3598':
  [IL47] Inline getSuggestedWordsGestureLocked
main
Jean Chalard 2013-12-27 00:06:03 -08:00 committed by Android Git Automerger
commit e099325f99
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. // Batch input has ended or canceled while the message was being delivered.
return; return;
} }
getSuggestedWordsGestureLocked(batchPointers, sequenceNumber, mLatinIme.mInputLogic.mWordComposer.setBatchInputPointers(batchPointers);
getSuggestedWords(Suggest.SESSION_GESTURE, sequenceNumber,
new OnGetSuggestedWordsCallback() { new OnGetSuggestedWordsCallback() {
@Override @Override
public void onGetSuggestedWords(final SuggestedWords suggestedWords) { public void onGetSuggestedWords(SuggestedWords suggestedWords) {
// We're now inside the callback. This always runs on the // We're now inside the callback. This always runs on the
// InputUpdater thread, no matter what thread updateBatchInput // InputUpdater thread, no matter what thread updateBatchInput
// was called on. // 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( mLatinIme.mHandler.showGesturePreviewAndSuggestionStrip(
suggestedWords, suggestedWords,
forEnd /* dismissGestureFloatingPreviewText */); forEnd /* dismissGestureFloatingPreviewText */);
@ -1404,27 +1412,6 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen
updateBatchInput(batchPointers, sequenceNumber, true /* forEnd */); 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, public void getSuggestedWords(final int sessionId, final int sequenceNumber,
final OnGetSuggestedWordsCallback callback) { final OnGetSuggestedWordsCallback callback) {
mHandler.obtainMessage(MSG_GET_SUGGESTED_WORDS, sessionId, sequenceNumber, callback) mHandler.obtainMessage(MSG_GET_SUGGESTED_WORDS, sessionId, sequenceNumber, callback)