Skip to content
Snippets Groups Projects
Commit 4a144b9b authored by Jean Chalard's avatar Jean Chalard
Browse files

[IL47] Inline getSuggestedWordsGestureLocked

This method is confusing with the *Locked convention, and
the two-step call creates a useless callback object. This is
better inlined both for readability and for performance.

Bug: 8636060
Change-Id: I7c427c3ca4e831388a6d54de6728b32206a45d80
parent 71a3e963
No related branches found
No related tags found
No related merge requests found
...@@ -1334,13 +1334,21 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen ...@@ -1334,13 +1334,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 */);
...@@ -1397,27 +1405,6 @@ public class LatinIME extends InputMethodService implements KeyboardActionListen ...@@ -1397,27 +1405,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)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment