Dbrant has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/342013 )

Change subject: Update design of search empty state in reading list fragment.
......................................................................

Update design of search empty state in reading list fragment.

Bug: T156086
Change-Id: Iba64eef2fbd83a3d4f754799d12dd9720647826e
---
M app/src/main/java/org/wikipedia/readinglist/ReadingListFragment.java
M app/src/main/java/org/wikipedia/views/SearchEmptyView.java
M app/src/main/res/layout/fragment_reading_list.xml
M app/src/main/res/values-qq/strings.xml
M app/src/main/res/values/strings.xml
5 files changed, 40 insertions(+), 8 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/apps/android/wikipedia 
refs/changes/13/342013/1

diff --git 
a/app/src/main/java/org/wikipedia/readinglist/ReadingListFragment.java 
b/app/src/main/java/org/wikipedia/readinglist/ReadingListFragment.java
index 6f3e080..f4fbdf9 100644
--- a/app/src/main/java/org/wikipedia/readinglist/ReadingListFragment.java
+++ b/app/src/main/java/org/wikipedia/readinglist/ReadingListFragment.java
@@ -39,6 +39,7 @@
 import org.wikipedia.views.DefaultViewHolder;
 import org.wikipedia.views.DrawableItemDecoration;
 import org.wikipedia.views.PageItemView;
+import org.wikipedia.views.SearchEmptyView;
 import org.wikipedia.views.TextInputDialog;
 
 import java.util.ArrayList;
@@ -59,6 +60,7 @@
     @BindView(R.id.reading_list_header) ReadingListHeaderView headerImageView;
     @BindView(R.id.reading_list_contents) RecyclerView recyclerView;
     @BindView(R.id.reading_list_empty_text) TextView emptyView;
+    @BindView(R.id.search_empty_view) SearchEmptyView searchEmptyView;
     private Unbinder unbinder;
 
     @Nullable private ReadingList readingList;
@@ -125,6 +127,10 @@
                 }
                 readingLists.set(lists);
                 readingList = readingLists.get(readingListTitle);
+                if (readingList != null) {
+                    
searchEmptyView.setEmptyText(getString(R.string.search_reading_list_no_results,
+                            readingList.getTitle()));
+                }
                 update();
             }
         });
@@ -213,17 +219,28 @@
         }
         currentSearchQuery = query;
         displayedPages.clear();
-        adapter.notifyDataSetChanged();
         if (TextUtils.isEmpty(query)) {
             displayedPages.addAll(readingList.getPages());
-            return;
-        }
-        query = query.toUpperCase();
-        for (ReadingListPage page : readingList.getPages()) {
-            if (page.title().toUpperCase().contains(query.toUpperCase())) {
-                displayedPages.add(page);
+        } else {
+            query = query.toUpperCase();
+            for (ReadingListPage page : readingList.getPages()) {
+                if (page.title().toUpperCase().contains(query.toUpperCase())) {
+                    displayedPages.add(page);
+                }
             }
         }
+        adapter.notifyDataSetChanged();
+        updateEmptyState(query);
+    }
+
+    private void updateEmptyState(@Nullable String searchQuery) {
+        if (TextUtils.isEmpty(searchQuery)) {
+            searchEmptyView.setVisibility(View.GONE);
+            emptyView.setVisibility(displayedPages.isEmpty() ? View.VISIBLE : 
View.GONE);
+        } else {
+            searchEmptyView.setVisibility(displayedPages.isEmpty() ? 
View.VISIBLE : View.GONE);
+            emptyView.setVisibility(View.GONE);
+        }
     }
 
     private void setSortMode(int sortModeAsc, int sortModeDesc) {
diff --git a/app/src/main/java/org/wikipedia/views/SearchEmptyView.java 
b/app/src/main/java/org/wikipedia/views/SearchEmptyView.java
index adeda3f..47477ef 100644
--- a/app/src/main/java/org/wikipedia/views/SearchEmptyView.java
+++ b/app/src/main/java/org/wikipedia/views/SearchEmptyView.java
@@ -3,6 +3,7 @@
 import android.annotation.TargetApi;
 import android.content.Context;
 import android.os.Build;
+import android.support.annotation.Nullable;
 import android.support.annotation.StringRes;
 import android.util.AttributeSet;
 import android.widget.LinearLayout;
@@ -41,6 +42,10 @@
         emptyText.setText(id);
     }
 
+    public void setEmptyText(@Nullable CharSequence text) {
+        emptyText.setText(text);
+    }
+
     private void init() {
         inflate(getContext(), R.layout.view_search_empty, this);
         ButterKnife.bind(this);
diff --git a/app/src/main/res/layout/fragment_reading_list.xml 
b/app/src/main/res/layout/fragment_reading_list.xml
index 6e6ed52..23d2f50 100644
--- a/app/src/main/res/layout/fragment_reading_list.xml
+++ b/app/src/main/res/layout/fragment_reading_list.xml
@@ -67,7 +67,15 @@
                 android:textSize="16sp"
                 android:text="@string/reading_list_empty"
                 android:visibility="gone"
-                tools:visibility="visible"/>
+                tools:visibility="gone"/>
+
+            <org.wikipedia.views.SearchEmptyView
+                android:id="@+id/search_empty_view"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_gravity="center_horizontal"
+                android:layout_marginTop="16dp"
+                android:visibility="gone"/>
 
         </LinearLayout>
 
diff --git a/app/src/main/res/values-qq/strings.xml 
b/app/src/main/res/values-qq/strings.xml
index 9348fc8..8c82a18 100644
--- a/app/src/main/res/values-qq/strings.xml
+++ b/app/src/main/res/values-qq/strings.xml
@@ -100,6 +100,7 @@
   <string name="menu_show_toc">Menu item text for showing the Table of 
Contents for the current article.
 {{Identical|Table of contents}}</string>
   <string name="search_no_results_found">Message shown to user when no search 
results are found for a string</string>
+  <string name="search_reading_list_no_results">Message shown when there are 
no pages in the current reading list that match the specified search term. The 
%s symbol is replaced with the name of the reading list.</string>
   <string name="search_reading_lists_no_results">Message shown when there are 
no reading lists whose name matches the specified search term.</string>
   <string name="search_history_no_results">Message shown when there are no 
history entries that match the specified search term.</string>
   <string name="edit_section_captcha_message">A label for the CAPTCHA 
screen.</string>
diff --git a/app/src/main/res/values/strings.xml 
b/app/src/main/res/values/strings.xml
index 825ffbc..b9b30d4 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -76,6 +76,7 @@
     <string name="dialog_message_leaving_edit_stay">Stay</string>
     <string name="menu_show_toc">Table of Contents</string>
     <string name="search_no_results_found">No results found</string>
+    <string name="search_reading_list_no_results">No results found in 
\"%s\"</string>
     <string name="search_reading_lists_no_results">No results found in reading 
lists</string>
     <string name="search_history_no_results">No results found in 
history</string>
     <string name="edit_section_captcha_message">To help protect against 
automated spam, please enter the words that appear below</string>

-- 
To view, visit https://gerrit.wikimedia.org/r/342013
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Iba64eef2fbd83a3d4f754799d12dd9720647826e
Gerrit-PatchSet: 1
Gerrit-Project: apps/android/wikipedia
Gerrit-Branch: master
Gerrit-Owner: Dbrant <dbr...@wikimedia.org>

_______________________________________________
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to