Niedzielski has uploaded a new change for review.

  https://gerrit.wikimedia.org/r/259288

Change subject: Fix saved page status bugs
......................................................................

Fix saved page status bugs

Change-Id: I595a19b722ad7a7764a3fe865bf232e91351f4df
---
M app/src/main/java/org/wikipedia/page/JsonPageLoadStrategy.java
M app/src/main/java/org/wikipedia/page/PageFragment.java
M app/src/main/java/org/wikipedia/page/PageLoadStrategy.java
M app/src/main/java/org/wikipedia/page/leadimages/LeadImagesHandler.java
4 files changed, 15 insertions(+), 19 deletions(-)


  git pull ssh://gerrit.wikimedia.org:29418/apps/android/wikipedia 
refs/changes/88/259288/1

diff --git a/app/src/main/java/org/wikipedia/page/JsonPageLoadStrategy.java 
b/app/src/main/java/org/wikipedia/page/JsonPageLoadStrategy.java
index ed33b62..86f735b 100644
--- a/app/src/main/java/org/wikipedia/page/JsonPageLoadStrategy.java
+++ b/app/src/main/java/org/wikipedia/page/JsonPageLoadStrategy.java
@@ -108,7 +108,7 @@
     private PageActivity activity;
     private ObservableWebView webView;
     private SwipeRefreshLayoutWithScroll refreshView;
-    private WikipediaApp app;
+    @NonNull private final WikipediaApp app = WikipediaApp.getInstance();
     private LeadImagesHandler leadImagesHandler;
     private SearchBarHideHandler searchBarHideHandler;
     private EditHandler editHandler;
@@ -128,7 +128,6 @@
         this.model = model;
         this.fragment = fragment;
         activity = (PageActivity) fragment.getActivity();
-        this.app = (WikipediaApp) activity.getApplicationContext();
         this.refreshView = refreshView;
         this.webView = webView;
         this.bridge = bridge;
@@ -150,11 +149,7 @@
     }
 
     @Override
-    public void load(boolean pushBackStack, Cache cachePreference, int 
stagedScrollY) {
-        fragment.updatePageInfo(null);
-        leadImagesHandler.updateBookmark(false);
-        leadImagesHandler.updateNavigate(null);
-
+    public void load(boolean pushBackStack, @NonNull Cache cachePreference, 
int stagedScrollY) {
         if (pushBackStack) {
             // update the topmost entry in the backstack, before we start 
overwriting things.
             updateCurrentBackStackItem();
@@ -172,6 +167,10 @@
             this.stagedScrollY = stagedScrollY;
             loadOnWebViewReady(cachePreference);
         } else {
+            fragment.updatePageInfo(null);
+            fragment.setPageSaved(false);
+            leadImagesHandler.updateNavigate(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.
@@ -323,7 +322,7 @@
                     @Override
                     public void run() {
                         displayNonLeadSectionForSavedPage(1);
-                        leadImagesHandler.updateBookmark(true);
+                        fragment.setPageSaved(true);
 
                         setState(STATE_COMPLETE_FETCH);
                     }
diff --git a/app/src/main/java/org/wikipedia/page/PageFragment.java 
b/app/src/main/java/org/wikipedia/page/PageFragment.java
index 12f20fe..341dc30 100755
--- a/app/src/main/java/org/wikipedia/page/PageFragment.java
+++ b/app/src/main/java/org/wikipedia/page/PageFragment.java
@@ -164,7 +164,7 @@
                 return;
             }
             // if it's a saved page, then refresh it and re-save. Otherwise, 
refresh the page normally
-            refreshPage(isPageSaved());
+            refreshPage(pageSaved);
         }
     };
 
@@ -203,10 +203,6 @@
 
     public void setSavedPageCheckComplete(boolean complete) {
         savedPageCheckComplete = complete;
-        if (!isAdded()) {
-            return;
-        }
-        getActivity().supportInvalidateOptionsMenu();
     }
 
     @Override
@@ -219,6 +215,7 @@
         initTabs();
     }
 
+    @Override
     public View onCreateView(LayoutInflater inflater, ViewGroup container,
                              final Bundle savedInstanceState) {
         View rootView = inflater.inflate(R.layout.fragment_page, container, 
false);
@@ -246,6 +243,7 @@
         return rootView;
     }
 
+    @Override
     public void onDestroyView() {
         //uninitialize the bridge, so that no further JS events can have any 
effect.
         bridge.cleanup();
@@ -253,6 +251,7 @@
         super.onDestroyView();
     }
 
+    @Override
     public void onActivityCreated(Bundle savedInstanceState) {
         super.onActivityCreated(savedInstanceState);
         setHasOptionsMenu(true);
@@ -596,12 +595,9 @@
         webView.getSettings().setDefaultFontSize((int) 
app.getFontSize(getActivity().getWindow()));
     }
 
-    public boolean isPageSaved() {
-        return pageSaved;
-    }
-
     public void setPageSaved(boolean saved) {
         pageSaved = saved;
+        leadImagesHandler.updateBookmark(pageSaved);
     }
 
     public void onActionModeShown(CompatActionMode mode) {
@@ -831,6 +827,7 @@
                     Log.d("PageFragment", "Detached from activity, no 
snackbar.");
                     return;
                 }
+                setPageSaved(true);
                 
getPageActivity().showPageSavedMessage(model.getTitle().getDisplayText(), 
success);
             }
         }.execute();
diff --git a/app/src/main/java/org/wikipedia/page/PageLoadStrategy.java 
b/app/src/main/java/org/wikipedia/page/PageLoadStrategy.java
index b3e28f2..459035f 100644
--- a/app/src/main/java/org/wikipedia/page/PageLoadStrategy.java
+++ b/app/src/main/java/org/wikipedia/page/PageLoadStrategy.java
@@ -48,7 +48,7 @@
                @NonNull LeadImagesHandler leadImagesHandler,
                @NonNull List<PageBackStackItem> backStack);
 
-    void load(boolean pushBackStack, Cache cachePreference, int stagedScrollY);
+    void load(boolean pushBackStack, @NonNull Cache cachePreference, int 
stagedScrollY);
 
     boolean isLoading();
 
diff --git 
a/app/src/main/java/org/wikipedia/page/leadimages/LeadImagesHandler.java 
b/app/src/main/java/org/wikipedia/page/leadimages/LeadImagesHandler.java
index 835739e..bbc9fc4 100755
--- a/app/src/main/java/org/wikipedia/page/leadimages/LeadImagesHandler.java
+++ b/app/src/main/java/org/wikipedia/page/leadimages/LeadImagesHandler.java
@@ -454,7 +454,7 @@
                 @Override
                 public void onFinish(Boolean success) {
                     if (parentFragment.isAdded() && getTitle() != null) {
-                        parentFragment.setPageSaved(!success);
+                        parentFragment.setPageSaved(success);
                         FeedbackUtil.showMessage(getActivity(), 
getActivity().getString(success
                                 ? R.string.snackbar_saved_page_format
                                 : R.string.snackbar_saved_page_missing_images, 
getTitle()));

-- 
To view, visit https://gerrit.wikimedia.org/r/259288
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: I595a19b722ad7a7764a3fe865bf232e91351f4df
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

Reply via email to