Implement filtering in the sample Autofill Keyboard.
Inline suggestion filtering implemented in ag/10271909. Test: manual Change-Id: I9129de847c3e16f032d2c933c95b94997429baf2
This commit is contained in:
@@ -144,7 +144,8 @@ public class AutofillImeService extends InputMethodService {
|
||||
Log.d(TAG, "updateSuggestionViews() called");
|
||||
mSuggestionViews = Arrays.asList(suggestionViews);
|
||||
mSuggestionViewSizes = Arrays.asList(sizes);
|
||||
updateInlineSuggestionVisibility(true, true);
|
||||
final boolean visible = !mSuggestionViews.isEmpty();
|
||||
updateInlineSuggestionVisibility(visible, true);
|
||||
}
|
||||
|
||||
private void onInlineSuggestionsResponseInternal(InlineSuggestionsResponse response) {
|
||||
@@ -157,6 +158,10 @@ public class AutofillImeService extends InputMethodService {
|
||||
final View[] suggestionViews = new View[totalSuggestionsCount];
|
||||
final Size[] sizes = new Size[totalSuggestionsCount];
|
||||
|
||||
if (totalSuggestionsCount == 0) {
|
||||
updateSuggestionViews(suggestionViews, sizes);
|
||||
return;
|
||||
}
|
||||
for (int i=0; i<totalSuggestionsCount; i++) {
|
||||
final int index = i;
|
||||
InlineSuggestion inlineSuggestion = inlineSuggestions.get(index);
|
||||
@@ -183,7 +188,6 @@ public class AutofillImeService extends InputMethodService {
|
||||
|
||||
void handle(String data) {
|
||||
Log.d(TAG, "handle() called: [" + data + "]");
|
||||
mDecoder.decode(data);
|
||||
updateInlineSuggestionVisibility(mDecoder.isEmpty(), false);
|
||||
mDecoder.decodeAndApply(data);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -28,7 +28,7 @@ final class Decoder {
|
||||
this.mInputConnection = inputConnection;
|
||||
}
|
||||
|
||||
void decode(String data) {
|
||||
void decodeAndApply(String data) {
|
||||
if ("DEL".equals(data)) {
|
||||
mInputConnection.sendKeyEvent(new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_DEL));
|
||||
} else if ("ENT".equals(data)) {
|
||||
|
||||
Reference in New Issue
Block a user