summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
author Felipe Leme <felipeal@google.com> 2017-09-08 21:29:11 +0000
committer android-build-merger <android-build-merger@google.com> 2017-09-08 21:29:11 +0000
commit760205ea96dcb80a5dc1024fff0a20e0c454fc8a (patch)
tree6da1efd56c4f6be0d5b99fd84ea1c9ddfe8d95e6
parent3c2212e00c6c1579acd4339864cdd964134281b2 (diff)
parent30d6df451456327665a5c908b8d30e3e71c65699 (diff)
Merge "Add pseudo-filtering on authenticated views." into oc-mr1-dev
am: 30d6df4514 Change-Id: I9c5050c4c62311bdf2f5809164dd802f7b8f7efa
-rw-r--r--services/autofill/java/com/android/server/autofill/ui/FillUi.java20
1 files changed, 15 insertions, 5 deletions
diff --git a/services/autofill/java/com/android/server/autofill/ui/FillUi.java b/services/autofill/java/com/android/server/autofill/ui/FillUi.java
index 24f3b339b761..371e74d6f04e 100644
--- a/services/autofill/java/com/android/server/autofill/ui/FillUi.java
+++ b/services/autofill/java/com/android/server/autofill/ui/FillUi.java
@@ -229,6 +229,13 @@ final class FillUi {
public void setFilterText(@Nullable String filterText) {
throwIfDestroyed();
if (mAdapter == null) {
+ // ViewState doesn't not support filtering - typically when it's for an authenticated
+ // FillResponse.
+ if (TextUtils.isEmpty(filterText)) {
+ mCallback.requestShowFillUi(mContentWidth, mContentHeight, mWindowPresenter);
+ } else {
+ mCallback.requestHideFillUi();
+ }
return;
}
@@ -510,8 +517,9 @@ final class FillUi {
final ViewItem item = mAllItems.get(i);
final String value = item.getValue();
// No value, i.e. null, matches any filter
- if (value == null
- || value.toLowerCase().startsWith(constraintLowerCase)) {
+ if ((value == null && item.mDataset.getAuthentication() == null)
+ || (value != null
+ && value.toLowerCase().startsWith(constraintLowerCase))) {
filteredItems.add(item);
}
}
@@ -525,9 +533,11 @@ final class FillUi {
final boolean resultCountChanged;
final int oldItemCount = mFilteredItems.size();
mFilteredItems.clear();
- @SuppressWarnings("unchecked")
- final List<ViewItem> items = (List<ViewItem>) results.values;
- mFilteredItems.addAll(items);
+ if (results.count > 0) {
+ @SuppressWarnings("unchecked")
+ final List<ViewItem> items = (List<ViewItem>) results.values;
+ mFilteredItems.addAll(items);
+ }
resultCountChanged = (oldItemCount != mFilteredItems.size());
if (resultCountChanged) {
announceSearchResultIfNeeded();