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