Implement filtering in the sample Autofill Keyboard.

Inline suggestion filtering implemented in ag/10271909.

Test: manual

Change-Id: I9129de847c3e16f032d2c933c95b94997429baf2
This commit is contained in:
Ahaan Ugale
2020-02-10 14:06:04 +01:00
parent 2c8214fc6c
commit 4114e23598
2 changed files with 8 additions and 4 deletions

View File

@@ -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);
}
}

View File

@@ -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)) {