Mholloway has uploaded a new change for review. (
https://gerrit.wikimedia.org/r/350465 )
Change subject: Hook up offline card Retry button
......................................................................
Hook up offline card Retry button
Bug: T157381
Change-Id: Ifd1ccec4489a8495ed5d5ff11abb5e07c90604fd
---
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/offline/OfflineCardView.java
M app/src/main/java/org/wikipedia/feed/view/FeedAdapter.java
M app/src/main/res/layout/view_card_offline.xml
5 files changed, 34 insertions(+), 5 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/apps/android/wikipedia
refs/changes/65/350465/1
diff --git a/app/src/main/java/org/wikipedia/feed/FeedCoordinatorBase.java
b/app/src/main/java/org/wikipedia/feed/FeedCoordinatorBase.java
index 18389a1..78527ec 100644
--- a/app/src/main/java/org/wikipedia/feed/FeedCoordinatorBase.java
+++ b/app/src/main/java/org/wikipedia/feed/FeedCoordinatorBase.java
@@ -102,6 +102,15 @@
insertCard(card, position);
}
+ void moreFromOffline(@NonNull WikiSite wiki) {
+ int lastIndex = cards.size() - 1;
+ Card card = cards.get(lastIndex);
+ if (card instanceof OfflineCard) {
+ removeCard(card, lastIndex);
+ }
+ more(wiki);
+ }
+
protected abstract void buildScript(int age);
protected void addPendingClient(FeedClient client) {
@@ -121,10 +130,7 @@
if (pos < 0) {
return;
}
- cards.remove(progressCard);
- if (updateListener != null) {
- updateListener.remove(progressCard, pos);
- }
+ removeCard(progressCard, pos);
}
private class ClientRequestCallback implements FeedClient.Callback {
diff --git a/app/src/main/java/org/wikipedia/feed/FeedFragment.java
b/app/src/main/java/org/wikipedia/feed/FeedFragment.java
index 7af80b2..6601a92 100644
--- a/app/src/main/java/org/wikipedia/feed/FeedFragment.java
+++ b/app/src/main/java/org/wikipedia/feed/FeedFragment.java
@@ -271,6 +271,12 @@
}
@Override
+ public void onRetryFromOffline() {
+ funnel.requestMore(coordinator.getAge());
+ coordinator.moreFromOffline(app.getWikiSite());
+ }
+
+ @Override
public void onError(@NonNull Throwable t) {
FeedbackUtil.showError(getActivity(), t);
}
diff --git a/app/src/main/java/org/wikipedia/feed/offline/OfflineCardView.java
b/app/src/main/java/org/wikipedia/feed/offline/OfflineCardView.java
index 6434173..da1bfee 100644
--- a/app/src/main/java/org/wikipedia/feed/offline/OfflineCardView.java
+++ b/app/src/main/java/org/wikipedia/feed/offline/OfflineCardView.java
@@ -10,15 +10,30 @@
import org.wikipedia.feed.view.FeedAdapter;
import org.wikipedia.feed.view.FeedCardView;
+import butterknife.ButterKnife;
+import butterknife.OnClick;
+
public class OfflineCardView extends LinearLayout implements
FeedCardView<Card> {
+ @Nullable private FeedAdapter.Callback callback;
+
public OfflineCardView(Context context) {
super(context);
inflate(getContext(), R.layout.view_card_offline, this);
+ ButterKnife.bind(this);
+ }
+
+ @OnClick(R.id.view_card_offline_button_retry) void onRetryClick() {
+ if (callback != null) {
+ callback.onRetryFromOffline();
+ }
+ }
+
+ @Override public void setCallback(@Nullable FeedAdapter.Callback callback)
{
+ this.callback = callback;
}
@Override public void setCard(@NonNull Card card) { }
@Override public Card getCard() {
return null;
}
- @Override public void setCallback(@Nullable FeedAdapter.Callback callback)
{ }
}
diff --git a/app/src/main/java/org/wikipedia/feed/view/FeedAdapter.java
b/app/src/main/java/org/wikipedia/feed/view/FeedAdapter.java
index 2646e4e..6fe51ab 100644
--- a/app/src/main/java/org/wikipedia/feed/view/FeedAdapter.java
+++ b/app/src/main/java/org/wikipedia/feed/view/FeedAdapter.java
@@ -26,6 +26,7 @@
AnnouncementCardView.Callback, FeaturedArticleCardView.Callback {
void onShowCard(@Nullable Card card);
void onRequestMore();
+ void onRetryFromOffline();
void onError(@NonNull Throwable t);
}
diff --git a/app/src/main/res/layout/view_card_offline.xml
b/app/src/main/res/layout/view_card_offline.xml
index 05aace2..52eed58 100644
--- a/app/src/main/res/layout/view_card_offline.xml
+++ b/app/src/main/res/layout/view_card_offline.xml
@@ -17,6 +17,7 @@
android:textSize="16sp" />
<TextView
+ android:id="@+id/view_card_offline_button_retry"
style="@style/Widget.AppCompat.Button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
--
To view, visit https://gerrit.wikimedia.org/r/350465
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: Ifd1ccec4489a8495ed5d5ff11abb5e07c90604fd
Gerrit-PatchSet: 1
Gerrit-Project: apps/android/wikipedia
Gerrit-Branch: master
Gerrit-Owner: Mholloway <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits