jenkins-bot has submitted this change and it was merged. 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(-) Approvals: Mholloway: Looks good to me, but someone else must approve Dbrant: Looks good to me, approved jenkins-bot: Verified 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 88127cf..a91527a 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 5ece313..2d0b23a 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: merged Gerrit-Change-Id: I2a47a8f6730e62dc01ea4d33229fa14d95ecacc7 Gerrit-PatchSet: 2 Gerrit-Project: apps/android/wikipedia Gerrit-Branch: master Gerrit-Owner: Niedzielski <sniedziel...@wikimedia.org> Gerrit-Reviewer: BearND <bsitzm...@wikimedia.org> Gerrit-Reviewer: Brion VIBBER <br...@wikimedia.org> Gerrit-Reviewer: Dbrant <dbr...@wikimedia.org> Gerrit-Reviewer: Mholloway <mhollo...@wikimedia.org> Gerrit-Reviewer: jenkins-bot <> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits