Yuvipanda has uploaded a new change for review.
https://gerrit.wikimedia.org/r/99778
Change subject: Add retry button to network failure vie
......................................................................
Add retry button to network failure vie
Change-Id: I595a26b3883e660cd346158c5658177004a463dc
---
M wikipedia/res/layout/fragment_page.xml
M wikipedia/res/values/strings.xml
M wikipedia/src/main/java/org/wikimedia/wikipedia/PageViewFragment.java
M wikipedia/src/main/java/org/wikimedia/wikipedia/Utils.java
4 files changed, 35 insertions(+), 6 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/apps/android/wikipedia
refs/changes/78/99778/1
diff --git a/wikipedia/res/layout/fragment_page.xml
b/wikipedia/res/layout/fragment_page.xml
index 7dcb46a..7465dd3 100644
--- a/wikipedia/res/layout/fragment_page.xml
+++ b/wikipedia/res/layout/fragment_page.xml
@@ -17,10 +17,12 @@
android:layout_height="match_parent"
android:visibility="gone"
/>
- <FrameLayout
+ <LinearLayout
android:id="@+id/pageError"
android:layout_width="match_parent"
- android:layout_height="match_parent"
+ android:layout_height="wrap_content"
+ android:layout_gravity="center_vertical"
+ android:orientation="vertical"
android:visibility="gone"
>
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content"
@@ -29,5 +31,12 @@
style="?android:textAppearanceLarge"
/>
- </FrameLayout>
+ <Button
+ android:id="@+id/pageErrorRetry"
+ android:text="@string/page_error_retry"
+ android:layout_gravity="center"
+ android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
+
+
+ </LinearLayout>
</FrameLayout>
\ No newline at end of file
diff --git a/wikipedia/res/values/strings.xml b/wikipedia/res/values/strings.xml
index 8b9209e..afe4f18 100644
--- a/wikipedia/res/values/strings.xml
+++ b/wikipedia/res/values/strings.xml
@@ -11,4 +11,5 @@
<string name="nav_item_history">History</string>
<string name="error_network_error">Could not reach the network :(</string>
<string name="search_network_error">Network error. Tap to try
again.</string>
+ <string name="page_error_retry">Retry</string>
</resources>
\ No newline at end of file
diff --git
a/wikipedia/src/main/java/org/wikimedia/wikipedia/PageViewFragment.java
b/wikipedia/src/main/java/org/wikimedia/wikipedia/PageViewFragment.java
index b772d6a..f9f8f84 100644
--- a/wikipedia/src/main/java/org/wikimedia/wikipedia/PageViewFragment.java
+++ b/wikipedia/src/main/java/org/wikimedia/wikipedia/PageViewFragment.java
@@ -37,7 +37,8 @@
private PageTitle title;
private WebView webView;
private ProgressBar loadProgress;
- private FrameLayout networkError;
+ private View networkError;
+ private View retryButton;
private Page page;
private HistoryEntry curEntry;
@@ -107,7 +108,8 @@
webView = (WebView) parentView.findViewById(R.id.pageWebView);
loadProgress = (ProgressBar)
parentView.findViewById(R.id.pageLoadProgress);
- networkError = (FrameLayout) parentView.findViewById(R.id.pageError);
+ networkError = parentView.findViewById(R.id.pageError);
+ retryButton = parentView.findViewById(R.id.pageErrorRetry);
if (savedInstanceState != null &&
savedInstanceState.containsKey(KEY_TITLE)) {
title = savedInstanceState.getParcelable(KEY_TITLE);
@@ -131,6 +133,20 @@
app = (WikipediaApp)getActivity().getApplicationContext();
api =
((WikipediaApp)getActivity().getApplicationContext()).getAPIForSite(title.getSite());
+ startDisplayPage();
+
+ retryButton.setOnClickListener(new View.OnClickListener() {
+ @Override
+ public void onClick(View v) {
+ Utils.crossFade(networkError, loadProgress);
+ startDisplayPage();
+ }
+ });
+
+ return parentView;
+ }
+
+ private void startDisplayPage() {
switch (state) {
case STATE_NO_FETCH:
new LeadSectionFetchTask().execute();
@@ -151,7 +167,6 @@
}, 500);
break;
}
- return parentView;
}
private class LeadSectionFetchTask extends SectionsFetchTask {
@@ -175,6 +190,9 @@
// Should check for the source of the error and have different
things turn up
// But good enough for now
Utils.crossFade(loadProgress, networkError);
+ // Not sure why this is required, but without it tapping retry
hides networkError
+ // FIXME: INVESTIGATE WHY THIS HAPPENS!
+ networkError.setVisibility(View.VISIBLE);
}
}
diff --git a/wikipedia/src/main/java/org/wikimedia/wikipedia/Utils.java
b/wikipedia/src/main/java/org/wikimedia/wikipedia/Utils.java
index efe6fb5..e829cbe 100644
--- a/wikipedia/src/main/java/org/wikimedia/wikipedia/Utils.java
+++ b/wikipedia/src/main/java/org/wikimedia/wikipedia/Utils.java
@@ -39,6 +39,7 @@
@Override
public void onAnimationEnd(Animator animation) {
curView.setVisibility(View.GONE);
+ curView.setAlpha(1.0f);
}
});
}
--
To view, visit https://gerrit.wikimedia.org/r/99778
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I595a26b3883e660cd346158c5658177004a463dc
Gerrit-PatchSet: 1
Gerrit-Project: apps/android/wikipedia
Gerrit-Branch: master
Gerrit-Owner: Yuvipanda <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits