[MediaWiki-commits] [Gerrit] apps...wikipedia[master]: Framework for onboarding cards in the Explore feed.

2017-08-09 Thread jenkins-bot (Code Review)
jenkins-bot has submitted this change and it was merged. ( 
https://gerrit.wikimedia.org/r/370684 )

Change subject: Framework for onboarding cards in the Explore feed.
..


Framework for onboarding cards in the Explore feed.

Bug: T172187
Change-Id: Ic04249a6f655381574dcf2902b36bbd1067f10e1
---
M app/src/main/java/org/wikipedia/feed/FeedCoordinator.java
M app/src/main/java/org/wikipedia/feed/FeedCoordinatorBase.java
M app/src/main/java/org/wikipedia/feed/FeedFragment.java
M app/src/main/java/org/wikipedia/feed/model/Card.java
A app/src/main/java/org/wikipedia/feed/onboarding/OnboardingCard.java
A app/src/main/java/org/wikipedia/feed/onboarding/OnboardingCardView.java
A app/src/main/java/org/wikipedia/feed/onboarding/OnboardingClient.java
M app/src/main/java/org/wikipedia/feed/view/FeedAdapter.java
A app/src/main/res/layout/view_card_onboarding.xml
9 files changed, 175 insertions(+), 1 deletion(-)

Approvals:
  jenkins-bot: Verified
  Mholloway: Looks good to me, approved



diff --git a/app/src/main/java/org/wikipedia/feed/FeedCoordinator.java 
b/app/src/main/java/org/wikipedia/feed/FeedCoordinator.java
index bc1f2d0..5de6cb7 100644
--- a/app/src/main/java/org/wikipedia/feed/FeedCoordinator.java
+++ b/app/src/main/java/org/wikipedia/feed/FeedCoordinator.java
@@ -9,6 +9,7 @@
 import org.wikipedia.feed.continuereading.ContinueReadingClient;
 import org.wikipedia.feed.mainpage.MainPageClient;
 import org.wikipedia.feed.offline.OfflineCompilationClient;
+import org.wikipedia.feed.onboarding.OnboardingClient;
 import org.wikipedia.feed.random.RandomClient;
 import org.wikipedia.feed.searchbar.SearchClient;
 import org.wikipedia.util.DeviceUtil;
@@ -27,6 +28,7 @@
 
 conditionallyAddPendingClient(new SearchClient(), age == 0);
 conditionallyAddPendingClient(new OfflineCompilationClient(), age == 0 
&& !online && isPreBetaRelease());
+conditionallyAddPendingClient(new OnboardingClient(), age == 0);
 conditionallyAddPendingClient(new AnnouncementClient(), age == 0 && 
online);
 conditionallyAddPendingClient(new AggregatedFeedContentClient(), 
online);
 addPendingClient(new ContinueReadingClient());
diff --git a/app/src/main/java/org/wikipedia/feed/FeedCoordinatorBase.java 
b/app/src/main/java/org/wikipedia/feed/FeedCoordinatorBase.java
index cddf45a..f5fc669 100644
--- a/app/src/main/java/org/wikipedia/feed/FeedCoordinatorBase.java
+++ b/app/src/main/java/org/wikipedia/feed/FeedCoordinatorBase.java
@@ -96,12 +96,14 @@
 int position = cards.indexOf(card);
 addHiddenCard(card);
 removeCard(card, position);
+card.onDismiss();
 return position;
 }
 
 public void undoDismissCard(@NonNull Card card, int position) {
 unHideCard(card);
 insertCard(card, position);
+card.onRestore();
 }
 
 void retryFromOffline(@NonNull WikiSite wiki) {
diff --git a/app/src/main/java/org/wikipedia/feed/FeedFragment.java 
b/app/src/main/java/org/wikipedia/feed/FeedFragment.java
index 28b2841..09d2701 100644
--- a/app/src/main/java/org/wikipedia/feed/FeedFragment.java
+++ b/app/src/main/java/org/wikipedia/feed/FeedFragment.java
@@ -27,6 +27,7 @@
 import org.wikipedia.feed.image.FeaturedImageCard;
 import org.wikipedia.feed.model.Card;
 import org.wikipedia.feed.news.NewsItemCard;
+import org.wikipedia.feed.onboarding.OnboardingCard;
 import org.wikipedia.feed.random.RandomCardView;
 import org.wikipedia.feed.view.FeedAdapter;
 import org.wikipedia.feed.view.FeedView;
@@ -421,6 +422,11 @@
 public void onViewCompilations() {
 startActivity(LocalCompilationsActivity.newIntent(getContext()));
 }
+
+@Override
+public void onOnboardingPositiveAction(@NonNull Card card, @NonNull 
OnboardingCard.OnboardingAction action) {
+
+}
 }
 
 private class FeedScrollListener extends RecyclerView.OnScrollListener {
diff --git a/app/src/main/java/org/wikipedia/feed/model/Card.java 
b/app/src/main/java/org/wikipedia/feed/model/Card.java
index 4e325b0..b0dfdc5 100644
--- a/app/src/main/java/org/wikipedia/feed/model/Card.java
+++ b/app/src/main/java/org/wikipedia/feed/model/Card.java
@@ -25,6 +25,12 @@
 
 @NonNull public abstract CardType type();
 
+public void onDismiss() {
+}
+
+public void onRestore() {
+}
+
 public String getHideKey() {
 return Long.toString(type().code() + dismissHashCode());
 }
diff --git 
a/app/src/main/java/org/wikipedia/feed/onboarding/OnboardingCard.java 
b/app/src/main/java/org/wikipedia/feed/onboarding/OnboardingCard.java
new file mode 100644
index 000..020fe31
--- /dev/null
+++ b/app/src/main/java/org/wikipedia/feed/onboarding/OnboardingCard.java
@@ -0,0 +1,24 @@
+package org.wikipedia.feed.onboarding;
+
+import android.net.Uri;
+import android.support.annotation.DrawableRes;
+import android.support.annotation.NonNull;
+import 

[MediaWiki-commits] [Gerrit] apps...wikipedia[master]: Framework for onboarding cards in the Explore feed.

2017-08-08 Thread Dbrant (Code Review)
Dbrant has uploaded a new change for review. ( 
https://gerrit.wikimedia.org/r/370684 )

Change subject: Framework for onboarding cards in the Explore feed.
..

Framework for onboarding cards in the Explore feed.

Bug: T172187
Change-Id: Ic04249a6f655381574dcf2902b36bbd1067f10e1
---
M app/src/main/java/org/wikipedia/feed/FeedCoordinator.java
M app/src/main/java/org/wikipedia/feed/FeedCoordinatorBase.java
M app/src/main/java/org/wikipedia/feed/FeedFragment.java
M app/src/main/java/org/wikipedia/feed/model/Card.java
A app/src/main/java/org/wikipedia/feed/onboarding/OnboardingCard.java
A app/src/main/java/org/wikipedia/feed/onboarding/OnboardingCardView.java
A app/src/main/java/org/wikipedia/feed/onboarding/OnboardingClient.java
M app/src/main/java/org/wikipedia/feed/view/FeedAdapter.java
A app/src/main/res/layout/view_card_onboarding.xml
9 files changed, 183 insertions(+), 1 deletion(-)


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

diff --git a/app/src/main/java/org/wikipedia/feed/FeedCoordinator.java 
b/app/src/main/java/org/wikipedia/feed/FeedCoordinator.java
index bc1f2d0..5de6cb7 100644
--- a/app/src/main/java/org/wikipedia/feed/FeedCoordinator.java
+++ b/app/src/main/java/org/wikipedia/feed/FeedCoordinator.java
@@ -9,6 +9,7 @@
 import org.wikipedia.feed.continuereading.ContinueReadingClient;
 import org.wikipedia.feed.mainpage.MainPageClient;
 import org.wikipedia.feed.offline.OfflineCompilationClient;
+import org.wikipedia.feed.onboarding.OnboardingClient;
 import org.wikipedia.feed.random.RandomClient;
 import org.wikipedia.feed.searchbar.SearchClient;
 import org.wikipedia.util.DeviceUtil;
@@ -27,6 +28,7 @@
 
 conditionallyAddPendingClient(new SearchClient(), age == 0);
 conditionallyAddPendingClient(new OfflineCompilationClient(), age == 0 
&& !online && isPreBetaRelease());
+conditionallyAddPendingClient(new OnboardingClient(), age == 0);
 conditionallyAddPendingClient(new AnnouncementClient(), age == 0 && 
online);
 conditionallyAddPendingClient(new AggregatedFeedContentClient(), 
online);
 addPendingClient(new ContinueReadingClient());
diff --git a/app/src/main/java/org/wikipedia/feed/FeedCoordinatorBase.java 
b/app/src/main/java/org/wikipedia/feed/FeedCoordinatorBase.java
index cddf45a..f5fc669 100644
--- a/app/src/main/java/org/wikipedia/feed/FeedCoordinatorBase.java
+++ b/app/src/main/java/org/wikipedia/feed/FeedCoordinatorBase.java
@@ -96,12 +96,14 @@
 int position = cards.indexOf(card);
 addHiddenCard(card);
 removeCard(card, position);
+card.onDismiss();
 return position;
 }
 
 public void undoDismissCard(@NonNull Card card, int position) {
 unHideCard(card);
 insertCard(card, position);
+card.onRestore();
 }
 
 void retryFromOffline(@NonNull WikiSite wiki) {
diff --git a/app/src/main/java/org/wikipedia/feed/FeedFragment.java 
b/app/src/main/java/org/wikipedia/feed/FeedFragment.java
index 28b2841..09d2701 100644
--- a/app/src/main/java/org/wikipedia/feed/FeedFragment.java
+++ b/app/src/main/java/org/wikipedia/feed/FeedFragment.java
@@ -27,6 +27,7 @@
 import org.wikipedia.feed.image.FeaturedImageCard;
 import org.wikipedia.feed.model.Card;
 import org.wikipedia.feed.news.NewsItemCard;
+import org.wikipedia.feed.onboarding.OnboardingCard;
 import org.wikipedia.feed.random.RandomCardView;
 import org.wikipedia.feed.view.FeedAdapter;
 import org.wikipedia.feed.view.FeedView;
@@ -421,6 +422,11 @@
 public void onViewCompilations() {
 startActivity(LocalCompilationsActivity.newIntent(getContext()));
 }
+
+@Override
+public void onOnboardingPositiveAction(@NonNull Card card, @NonNull 
OnboardingCard.OnboardingAction action) {
+
+}
 }
 
 private class FeedScrollListener extends RecyclerView.OnScrollListener {
diff --git a/app/src/main/java/org/wikipedia/feed/model/Card.java 
b/app/src/main/java/org/wikipedia/feed/model/Card.java
index 4e325b0..b0dfdc5 100644
--- a/app/src/main/java/org/wikipedia/feed/model/Card.java
+++ b/app/src/main/java/org/wikipedia/feed/model/Card.java
@@ -25,6 +25,12 @@
 
 @NonNull public abstract CardType type();
 
+public void onDismiss() {
+}
+
+public void onRestore() {
+}
+
 public String getHideKey() {
 return Long.toString(type().code() + dismissHashCode());
 }
diff --git 
a/app/src/main/java/org/wikipedia/feed/onboarding/OnboardingCard.java 
b/app/src/main/java/org/wikipedia/feed/onboarding/OnboardingCard.java
new file mode 100644
index 000..020fe31
--- /dev/null
+++ b/app/src/main/java/org/wikipedia/feed/onboarding/OnboardingCard.java
@@ -0,0 +1,24 @@
+package org.wikipedia.feed.onboarding;
+
+import android.net.Uri;
+import android.support.annotation.DrawableRes;
+import android.support.annotation.NonNull;
+import