Dbrant has uploaded a new change for review. (
https://gerrit.wikimedia.org/r/342244 )
Change subject: Enable deleting of reading list from reading list activity.
......................................................................
Enable deleting of reading list from reading list activity.
This fills in the TODO of deleting the whole reading list from the
individual reading list activity.
This is now done by invoking MainActivity and passing it an intent that
contains the title of the reading list to delete. This title gets picked
up by ReadingListsFragment, and gets deleted via the normal lifecycle of
this fragment.
Change-Id: I00f6906b3cbb298a36e801e617f228487aed8896
---
M app/src/main/java/org/wikipedia/Constants.java
M app/src/main/java/org/wikipedia/main/MainFragment.java
M app/src/main/java/org/wikipedia/readinglist/ReadingListFragment.java
M app/src/main/java/org/wikipedia/readinglist/ReadingListsFragment.java
4 files changed, 35 insertions(+), 2 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/apps/android/wikipedia
refs/changes/44/342244/1
diff --git a/app/src/main/java/org/wikipedia/Constants.java
b/app/src/main/java/org/wikipedia/Constants.java
index ed43907..97d2f71 100644
--- a/app/src/main/java/org/wikipedia/Constants.java
+++ b/app/src/main/java/org/wikipedia/Constants.java
@@ -25,6 +25,7 @@
public static final String INTENT_FEATURED_ARTICLE_FROM_WIDGET =
"featuredArticleFromWidget";
public static final String INTENT_EXTRA_REVERT_QNUMBER = "revertQNumber";
+ public static final String INTENT_EXTRA_DELETE_READING_LIST =
"deleteReadingList";
public static final int PROGRESS_BAR_MAX_VALUE = 10_000;
diff --git a/app/src/main/java/org/wikipedia/main/MainFragment.java
b/app/src/main/java/org/wikipedia/main/MainFragment.java
index 6de61ea..198da7a 100644
--- a/app/src/main/java/org/wikipedia/main/MainFragment.java
+++ b/app/src/main/java/org/wikipedia/main/MainFragment.java
@@ -202,6 +202,8 @@
} else if (intent.hasExtra(Constants.INTENT_SEARCH_FROM_WIDGET)) {
funnel.logSearchWidgetTap();
openSearchFragment(SearchInvokeSource.WIDGET, null);
+ } else if
(intent.hasExtra(Constants.INTENT_EXTRA_DELETE_READING_LIST)) {
+ goToTab(NavTab.READING_LISTS);
} else if (lastPageViewedWithin(1) &&
!intent.hasExtra(Constants.INTENT_RETURN_TO_MAIN)) {
startActivity(PageActivity.newIntent(getContext()));
}
diff --git
a/app/src/main/java/org/wikipedia/readinglist/ReadingListFragment.java
b/app/src/main/java/org/wikipedia/readinglist/ReadingListFragment.java
index f4fbdf9..19ae23c 100644
--- a/app/src/main/java/org/wikipedia/readinglist/ReadingListFragment.java
+++ b/app/src/main/java/org/wikipedia/readinglist/ReadingListFragment.java
@@ -23,11 +23,13 @@
import android.view.ViewGroup;
import android.widget.TextView;
+import org.wikipedia.Constants;
import org.wikipedia.R;
import org.wikipedia.analytics.ReadingListsFunnel;
import org.wikipedia.concurrency.CallbackTask;
import org.wikipedia.history.HistoryEntry;
import org.wikipedia.history.SearchActionModeCallback;
+import org.wikipedia.main.MainActivity;
import org.wikipedia.page.PageActivity;
import org.wikipedia.page.PageTitle;
import org.wikipedia.readinglist.page.ReadingListPage;
@@ -191,7 +193,7 @@
editDescription();
return true;
case R.id.menu_reading_list_delete:
- // TODO?
+ delete();
return true;
default:
return super.onOptionsItemSelected(item);
@@ -307,6 +309,14 @@
}).show();
}
+ private void delete() {
+ if (readingList != null) {
+ startActivity(MainActivity.newIntent(getContext())
+ .putExtra(Constants.INTENT_EXTRA_DELETE_READING_LIST,
readingList.getTitle()));
+ getActivity().finish();
+ }
+ }
+
private class AppBarListener implements
AppBarLayout.OnOffsetChangedListener {
@Override
public void onOffsetChanged(AppBarLayout appBarLayout, int
verticalOffset) {
@@ -339,7 +349,7 @@
@Override
public void onDelete(@NonNull ReadingList readingList) {
- // TODO?
+ delete();
}
}
diff --git
a/app/src/main/java/org/wikipedia/readinglist/ReadingListsFragment.java
b/app/src/main/java/org/wikipedia/readinglist/ReadingListsFragment.java
index 17ee3be..3393ab8 100644
--- a/app/src/main/java/org/wikipedia/readinglist/ReadingListsFragment.java
+++ b/app/src/main/java/org/wikipedia/readinglist/ReadingListsFragment.java
@@ -17,6 +17,7 @@
import android.view.View;
import android.view.ViewGroup;
+import org.wikipedia.Constants;
import org.wikipedia.R;
import org.wikipedia.WikipediaApp;
import org.wikipedia.analytics.ReadingListsFunnel;
@@ -155,9 +156,13 @@
new CallbackTask.Callback<List<ReadingList>>() {
@Override
public void success(List<ReadingList> rows) {
+ if (getActivity() == null) {
+ return;
+ }
readingLists.set(rows);
sortLists();
updateEmptyState(searchQuery);
+ maybeDeleteListFromIntent();
}
});
}
@@ -261,6 +266,21 @@
@Override
public void onDelete(@NonNull ReadingList readingList) {
+ deleteList(readingList);
+ }
+ }
+
+ private void maybeDeleteListFromIntent() {
+ if
(getActivity().getIntent().hasExtra(Constants.INTENT_EXTRA_DELETE_READING_LIST))
{
+ String titleToDelete = getActivity().getIntent()
+
.getStringExtra(Constants.INTENT_EXTRA_DELETE_READING_LIST);
+
getActivity().getIntent().removeExtra(Constants.INTENT_EXTRA_DELETE_READING_LIST);
+ deleteList(readingLists.get(titleToDelete));
+ }
+ }
+
+ private void deleteList(@Nullable ReadingList readingList) {
+ if (readingList != null) {
showDeleteListUndoSnackbar(readingList);
ReadingList.DAO.removeList(readingList);
funnel.logDeleteList(readingList, readingLists.size());
--
To view, visit https://gerrit.wikimedia.org/r/342244
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I00f6906b3cbb298a36e801e617f228487aed8896
Gerrit-PatchSet: 1
Gerrit-Project: apps/android/wikipedia
Gerrit-Branch: master
Gerrit-Owner: Dbrant <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits