jenkins-bot has submitted this change and it was merged. Change subject: Make dismissing of cards undoable. ......................................................................
Make dismissing of cards undoable. Change-Id: I3c64118f06afe2d5fc2314b75bb70aa8125f5394 --- M app/src/main/java/org/wikipedia/feed/FeedCoordinatorBase.java M app/src/main/java/org/wikipedia/feed/FeedFragment.java M app/src/main/res/values-qq/strings.xml M app/src/main/res/values/strings.xml M app/src/main/res/values/strings_no_translate.xml 5 files changed, 27 insertions(+), 1 deletion(-) Approvals: Niedzielski: Looks good to me, approved jenkins-bot: Verified diff --git a/app/src/main/java/org/wikipedia/feed/FeedCoordinatorBase.java b/app/src/main/java/org/wikipedia/feed/FeedCoordinatorBase.java index bd78101..17b6b66 100644 --- a/app/src/main/java/org/wikipedia/feed/FeedCoordinatorBase.java +++ b/app/src/main/java/org/wikipedia/feed/FeedCoordinatorBase.java @@ -68,7 +68,7 @@ return currentAge; } - public int dismissCard(Card card) { + public int dismissCard(@NonNull Card card) { int position = cards.indexOf(card); cards.remove(card); if (updateListener != null) { @@ -77,6 +77,13 @@ return position; } + public void insertCard(@NonNull Card card, int position) { + cards.add(position, card); + if (updateListener != null) { + updateListener.update(cards); + } + } + protected abstract void buildScript(int age); protected void addPendingClient(FeedClient client) { diff --git a/app/src/main/java/org/wikipedia/feed/FeedFragment.java b/app/src/main/java/org/wikipedia/feed/FeedFragment.java index 68b2a4f..99a689c 100644 --- a/app/src/main/java/org/wikipedia/feed/FeedFragment.java +++ b/app/src/main/java/org/wikipedia/feed/FeedFragment.java @@ -4,6 +4,7 @@ import android.support.annotation.NonNull; import android.support.annotation.Nullable; import android.support.design.widget.AppBarLayout; +import android.support.design.widget.Snackbar; import android.support.v4.app.Fragment; import android.support.v4.widget.SwipeRefreshLayout; import android.support.v7.widget.Toolbar; @@ -27,6 +28,7 @@ import org.wikipedia.history.HistoryEntry; import org.wikipedia.settings.Prefs; import org.wikipedia.util.DimenUtil; +import org.wikipedia.util.FeedbackUtil; import java.util.List; @@ -200,6 +202,7 @@ public void onRequestDismissCard(@NonNull Card card) { int position = coordinator.dismissCard(card); funnel.dismissCard(FeedRecyclerAdapter.getCardType(card), position); + showDismissCardUndoSnackbar(card, position); } } @@ -214,4 +217,17 @@ swipeRefreshLayout.setEnabled(verticalOffset == 0); } } + + private void showDismissCardUndoSnackbar(final Card card, final int position) { + Snackbar snackbar = FeedbackUtil.makeSnackbar(getView(), + getString(R.string.menu_feed_card_dismissed), + FeedbackUtil.LENGTH_DEFAULT); + snackbar.setAction(R.string.feed_undo_dismiss_card, new View.OnClickListener() { + @Override + public void onClick(View v) { + coordinator.insertCard(card, position); + } + }); + snackbar.show(); + } } diff --git a/app/src/main/res/values-qq/strings.xml b/app/src/main/res/values-qq/strings.xml index fecc747..68a482d 100644 --- a/app/src/main/res/values-qq/strings.xml +++ b/app/src/main/res/values-qq/strings.xml @@ -407,4 +407,5 @@ <string name="view_main_page_card_title">Title of a card that the user can click to view the main page of the Wikipedia project for the current app language. The \"%s\" symbol is replaced with a translation of the language name.</string> <string name="view_main_page_card_subtitle">Message indicating that the user will be shown the project\'s main page for the current date. The \"%s\" symbol is replaced with the current date.</string> <string name="menu_feed_card_dismiss">Menu item used for hiding a certain item in the list of feed cards.</string> + <string name="menu_feed_card_dismissed">Message to inform the user that the selected item has been hidden.</string> </resources> diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index 6028e8a..d1878e7 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -323,5 +323,6 @@ <string name="view_main_page_card_title">Today on %s Wikipedia</string> <string name="view_main_page_card_subtitle">Main page on %s</string> <string name="menu_feed_card_dismiss">Hide this suggestion</string> + <string name="menu_feed_card_dismissed">Suggestion hidden.</string> <!-- /The Feed --> </resources> diff --git a/app/src/main/res/values/strings_no_translate.xml b/app/src/main/res/values/strings_no_translate.xml index 79c669e..405f754 100644 --- a/app/src/main/res/values/strings_no_translate.xml +++ b/app/src/main/res/values/strings_no_translate.xml @@ -51,6 +51,7 @@ <string name="view_static_card_icon_content_description">Card icon</string> <string name="view_card_news_title">In the news</string> <string name="view_card_news_footer_text">More current events</string> + <string name="feed_undo_dismiss_card">@string/reading_list_item_delete_undo</string> <plurals name="view_continue_reading_card_subtitle"> <item quantity="one">1 day ago</item> -- To view, visit https://gerrit.wikimedia.org/r/296918 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: merged Gerrit-Change-Id: I3c64118f06afe2d5fc2314b75bb70aa8125f5394 Gerrit-PatchSet: 1 Gerrit-Project: apps/android/wikipedia Gerrit-Branch: master Gerrit-Owner: Dbrant <dbr...@wikimedia.org> Gerrit-Reviewer: BearND <bsitzm...@wikimedia.org> Gerrit-Reviewer: Brion VIBBER <br...@wikimedia.org> Gerrit-Reviewer: Mholloway <mhollo...@wikimedia.org> Gerrit-Reviewer: Niedzielski <sniedziel...@wikimedia.org> Gerrit-Reviewer: jenkins-bot <> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits