jenkins-bot has submitted this change and it was merged. ( https://gerrit.wikimedia.org/r/405831 )
Change subject: Fix searching of reading lists. ...................................................................... Fix searching of reading lists. The previous implementation of reading lists had searching implicitly built into the db query that fetched the lists. The current implementation doesn't do this, so we need to filter the lists at the UI level. This also improves searching by stripping accents, to allow compatibility matching of characters with/without accents and diacritics. Bug: T185495 Change-Id: I1f295d2c03e753fc3cf7e6dc9597d7b16d0e1d7d --- M app/src/main/java/org/wikipedia/readinglist/ReadingListsFragment.java 1 file changed, 18 insertions(+), 1 deletion(-) Approvals: Sharvaniharan: Looks good to me, approved jenkins-bot: Verified diff --git a/app/src/main/java/org/wikipedia/readinglist/ReadingListsFragment.java b/app/src/main/java/org/wikipedia/readinglist/ReadingListsFragment.java index 77d2dcb..c59bff6 100644 --- a/app/src/main/java/org/wikipedia/readinglist/ReadingListsFragment.java +++ b/app/src/main/java/org/wikipedia/readinglist/ReadingListsFragment.java @@ -24,6 +24,7 @@ import com.squareup.otto.Subscribe; +import org.apache.commons.lang3.StringUtils; import org.wikipedia.Constants; import org.wikipedia.R; import org.wikipedia.WikipediaApp; @@ -198,7 +199,7 @@ return; } swipeRefreshLayout.setRefreshing(false); - readingLists = lists; + readingLists = applySearchQuery(searchQuery, lists); maybeShowListLimitMessage(); sortLists(); updateEmptyState(searchQuery); @@ -207,6 +208,22 @@ }); } + @NonNull + private List<ReadingList> applySearchQuery(@Nullable String searchQuery, @NonNull List<ReadingList> lists) { + List<ReadingList> newList = new ArrayList<>(); + if (TextUtils.isEmpty(searchQuery)) { + newList.addAll(lists); + return newList; + } + String normalizedQuery = StringUtils.stripAccents(searchQuery).toLowerCase(); + for (ReadingList list : lists) { + if (StringUtils.stripAccents(list.title()).toLowerCase().contains(normalizedQuery)) { + newList.add(list); + } + } + return newList; + } + private void maybeShowListLimitMessage() { if (getUserVisibleHint() && readingLists.size() >= Constants.MAX_READING_LISTS_LIMIT) { String message = getString(R.string.reading_lists_limit_message); -- To view, visit https://gerrit.wikimedia.org/r/405831 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: I1f295d2c03e753fc3cf7e6dc9597d7b16d0e1d7d Gerrit-PatchSet: 1 Gerrit-Project: apps/android/wikipedia Gerrit-Branch: master Gerrit-Owner: Dbrant <dbr...@wikimedia.org> Gerrit-Reviewer: Brion VIBBER <br...@wikimedia.org> Gerrit-Reviewer: Cooltey <cf...@wikimedia.org> Gerrit-Reviewer: Sharvaniharan <sha...@wikimedia.org> Gerrit-Reviewer: jenkins-bot <> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits