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

Reply via email to