Merge "Add pseudo-filtering on authenticated views." into oc-mr1-dev
This commit is contained in:
committed by
Android (Google) Code Review
commit
30d6df4514
@@ -229,6 +229,13 @@ final class FillUi {
|
|||||||
public void setFilterText(@Nullable String filterText) {
|
public void setFilterText(@Nullable String filterText) {
|
||||||
throwIfDestroyed();
|
throwIfDestroyed();
|
||||||
if (mAdapter == null) {
|
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;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -510,8 +517,9 @@ final class FillUi {
|
|||||||
final ViewItem item = mAllItems.get(i);
|
final ViewItem item = mAllItems.get(i);
|
||||||
final String value = item.getValue();
|
final String value = item.getValue();
|
||||||
// No value, i.e. null, matches any filter
|
// No value, i.e. null, matches any filter
|
||||||
if (value == null
|
if ((value == null && item.mDataset.getAuthentication() == null)
|
||||||
|| value.toLowerCase().startsWith(constraintLowerCase)) {
|
|| (value != null
|
||||||
|
&& value.toLowerCase().startsWith(constraintLowerCase))) {
|
||||||
filteredItems.add(item);
|
filteredItems.add(item);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -525,9 +533,11 @@ final class FillUi {
|
|||||||
final boolean resultCountChanged;
|
final boolean resultCountChanged;
|
||||||
final int oldItemCount = mFilteredItems.size();
|
final int oldItemCount = mFilteredItems.size();
|
||||||
mFilteredItems.clear();
|
mFilteredItems.clear();
|
||||||
@SuppressWarnings("unchecked")
|
if (results.count > 0) {
|
||||||
final List<ViewItem> items = (List<ViewItem>) results.values;
|
@SuppressWarnings("unchecked")
|
||||||
mFilteredItems.addAll(items);
|
final List<ViewItem> items = (List<ViewItem>) results.values;
|
||||||
|
mFilteredItems.addAll(items);
|
||||||
|
}
|
||||||
resultCountChanged = (oldItemCount != mFilteredItems.size());
|
resultCountChanged = (oldItemCount != mFilteredItems.size());
|
||||||
if (resultCountChanged) {
|
if (resultCountChanged) {
|
||||||
announceSearchResultIfNeeded();
|
announceSearchResultIfNeeded();
|
||||||
|
|||||||
Reference in New Issue
Block a user