Dbrant has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/309567

Change subject: Fix deleting items from reading lists, and reading list 
fragment state.
......................................................................

Fix deleting items from reading lists, and reading list fragment state.

- Searching of items in a reading list introduced some additional state
  that wasn't being updated when items were deleted/restored to the
  reading list.
- This also makes the ReadingListsFragment explicitly go to the
  list-of-lists page when the fragment is resumed, since it doesn't (yet)
  preserve the state of which reading list was viewed in the DetailView,
  which may result in a blank DetailView (see bug). (todo: preserve state)

Bug: T144859
Change-Id: I7cb322735d969a5222d63638ba246eb4dd1102cf
---
M app/src/main/java/org/wikipedia/readinglist/ReadingListDetailView.java
M app/src/main/java/org/wikipedia/readinglist/ReadingListsFragment.java
2 files changed, 9 insertions(+), 2 deletions(-)


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

diff --git 
a/app/src/main/java/org/wikipedia/readinglist/ReadingListDetailView.java 
b/app/src/main/java/org/wikipedia/readinglist/ReadingListDetailView.java
index 039310e..9de1621 100644
--- a/app/src/main/java/org/wikipedia/readinglist/ReadingListDetailView.java
+++ b/app/src/main/java/org/wikipedia/readinglist/ReadingListDetailView.java
@@ -53,6 +53,7 @@
     @NonNull private List<ReadingListPage> displayedPages = new ArrayList<>();
     @Nullable private ReadingListItemActionListener itemActionListener;
     @Nullable private ReadingListActionListener actionListener;
+    private String currentSearchQuery;
 
     private ReadingListPageItemAdapter adapter = new 
ReadingListPageItemAdapter();
     private EditButtonClickListener editButtonListener = new 
EditButtonClickListener();
@@ -92,7 +93,6 @@
 
     public void setReadingList(@NonNull ReadingList readingList) {
         this.readingList = readingList;
-        setSearchQuery(null);
         editButton.setOnClickListener(editButtonListener);
 
         contentsListView.setLayoutManager(new 
LinearLayoutManager(getContext()));
@@ -121,7 +121,7 @@
                 : 
String.format(getResources().getString(R.string.reading_list_item_count_plural),
 readingList.getPages().size()));
         descriptionView.setText(readingList.getDescription());
         offlineView.setImageResource(readingList.getSaveOffline() ? 
R.drawable.ic_cloud_download_black_24dp : R.drawable.ic_cloud_off_black_24dp);
-        adapter.notifyDataSetChanged();
+        setSearchQuery(currentSearchQuery);
     }
 
     public void setSort(int sortMode) {
@@ -133,6 +133,7 @@
     }
 
     public void setSearchQuery(@Nullable String query) {
+        currentSearchQuery = query;
         displayedPages.clear();
         adapter.notifyDataSetChanged();
         if (readingList == null) {
diff --git 
a/app/src/main/java/org/wikipedia/readinglist/ReadingListsFragment.java 
b/app/src/main/java/org/wikipedia/readinglist/ReadingListsFragment.java
index 85b01d8..2d27b4f 100644
--- a/app/src/main/java/org/wikipedia/readinglist/ReadingListsFragment.java
+++ b/app/src/main/java/org/wikipedia/readinglist/ReadingListsFragment.java
@@ -123,6 +123,12 @@
     }
 
     @Override
+    public void onResume() {
+        super.onResume();
+        pager.setCurrentItem(PAGE_READING_LISTS);
+    }
+
+    @Override
     public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
         inflater.inflate(R.menu.menu_reading_lists, menu);
     }

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: I7cb322735d969a5222d63638ba246eb4dd1102cf
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