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

Reply via email to