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

Reply via email to