Niedzielski has uploaded a new change for review.
https://gerrit.wikimedia.org/r/316835
Change subject: Don't lose the page when refreshing offline
......................................................................
Don't lose the page when refreshing offline
This patch removes the no cache option from the page data client and
would be a helpful first step in transitioning to Retrofit caching.
Bug: T148657
Change-Id: I2a47a8f6730e62dc01ea4d33229fa14d95ecacc7
---
M app/src/main/java/org/wikipedia/page/PageDataClient.java
M app/src/main/java/org/wikipedia/page/PageFragment.java
M app/src/main/java/org/wikipedia/page/PageLoadStrategy.java
3 files changed, 22 insertions(+), 41 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/apps/android/wikipedia
refs/changes/35/316835/1
diff --git a/app/src/main/java/org/wikipedia/page/PageDataClient.java
b/app/src/main/java/org/wikipedia/page/PageDataClient.java
index c610ea5..53182e6 100644
--- a/app/src/main/java/org/wikipedia/page/PageDataClient.java
+++ b/app/src/main/java/org/wikipedia/page/PageDataClient.java
@@ -158,31 +158,25 @@
// will invalidate themselves upon completion.
sequenceNumber.increase();
- if (cachePreference == Cache.NONE) {
- // If this is a refresh, don't clear the webview contents
- this.stagedScrollY = stagedScrollY;
- loadOnWebViewReady(cachePreference);
- } else {
- fragment.updatePageInfo(null);
+ fragment.updatePageInfo(null);
- // kick off an event to the WebView that will cause it to clear
its contents,
- // and then report back to us when the clearing is complete, so
that we can synchronize
- // the transitions of our native components to the new page
content.
- // The callback event from the WebView will then call the
loadOnWebViewReady()
- // function, which will continue the loading process.
- leadImagesHandler.hide();
- bottomContentHandler.hide();
- fragment.getSearchBarHideHandler().setFadeEnabled(false);
- try {
- JSONObject wrapper = new JSONObject();
- // whatever we pass to this event will be passed back to us by
the WebView!
- wrapper.put("sequence", sequenceNumber.get());
- wrapper.put("cachePreference", cachePreference.name());
- wrapper.put("stagedScrollY", stagedScrollY);
- bridge.sendMessage("beginNewPage", wrapper);
- } catch (JSONException e) {
- L.logRemoteErrorIfProd(e);
- }
+ // kick off an event to the WebView that will cause it to clear its
contents,
+ // and then report back to us when the clearing is complete, so that
we can synchronize
+ // the transitions of our native components to the new page content.
+ // The callback event from the WebView will then call the
loadOnWebViewReady()
+ // function, which will continue the loading process.
+ leadImagesHandler.hide();
+ bottomContentHandler.hide();
+ fragment.getSearchBarHideHandler().setFadeEnabled(false);
+ try {
+ JSONObject wrapper = new JSONObject();
+ // whatever we pass to this event will be passed back to us by the
WebView!
+ wrapper.put("sequence", sequenceNumber.get());
+ wrapper.put("cachePreference", cachePreference.name());
+ wrapper.put("stagedScrollY", stagedScrollY);
+ bridge.sendMessage("beginNewPage", wrapper);
+ } catch (JSONException e) {
+ L.logRemoteErrorIfProd(e);
}
}
@@ -486,16 +480,8 @@
}
});
break;
- case NONE:
default:
- // This is a refresh, don't clear contents in this case
- loadFromNetwork(new ErrorCallback() {
- @Override
- public void call(Throwable networkError) {
- fragment.onPageLoadError(networkError);
- }
- });
- break;
+ throw new IllegalStateException("Unknown cache preference=" +
cachePreference);
}
}
diff --git a/app/src/main/java/org/wikipedia/page/PageFragment.java
b/app/src/main/java/org/wikipedia/page/PageFragment.java
index 0057c5c..ec9f51e 100755
--- a/app/src/main/java/org/wikipedia/page/PageFragment.java
+++ b/app/src/main/java/org/wikipedia/page/PageFragment.java
@@ -676,7 +676,7 @@
pageDataClient.backFromEditing(data);
FeedbackUtil.showMessage(getActivity(),
R.string.edit_saved_successfully);
// and reload the page...
- loadPage(model.getTitleOriginal(), model.getCurEntry(),
PageLoadStrategy.Cache.NONE, false);
+ loadPage(model.getTitleOriginal(), model.getCurEntry(),
PageLoadStrategy.Cache.FALLBACK, false);
}
}
@@ -919,7 +919,7 @@
errorState = false;
model.setCurEntry(new HistoryEntry(model.getTitle(),
HistoryEntry.SOURCE_HISTORY));
- loadPage(model.getTitle(), model.getCurEntry(),
PageLoadStrategy.Cache.NONE, false, true);
+ loadPage(model.getTitle(), model.getCurEntry(),
PageLoadStrategy.Cache.FALLBACK, false, true);
}
private ToCHandler tocHandler;
diff --git a/app/src/main/java/org/wikipedia/page/PageLoadStrategy.java
b/app/src/main/java/org/wikipedia/page/PageLoadStrategy.java
index d2b60ee..7720e25 100644
--- a/app/src/main/java/org/wikipedia/page/PageLoadStrategy.java
+++ b/app/src/main/java/org/wikipedia/page/PageLoadStrategy.java
@@ -29,12 +29,7 @@
/**
* Page should try to be loaded from network connection, only try
cache as a fallback
*/
- FALLBACK,
-
- /**
- * Page should only load from network, not use cache at all
- */
- NONE
+ FALLBACK
}
@SuppressWarnings("checkstyle:parameternumber")
--
To view, visit https://gerrit.wikimedia.org/r/316835
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I2a47a8f6730e62dc01ea4d33229fa14d95ecacc7
Gerrit-PatchSet: 1
Gerrit-Project: apps/android/wikipedia
Gerrit-Branch: master
Gerrit-Owner: Niedzielski <[email protected]>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits