jenkins-bot has submitted this change and it was merged.
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(-)
Approvals:
Dbrant: Looks good to me, approved
jenkins-bot: Verified
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 a5fa6ce..2696728 100755
--- a/app/src/main/java/org/wikipedia/page/leadimages/LeadImagesHandler.java
+++ b/app/src/main/java/org/wikipedia/page/leadimages/LeadImagesHandler.java
@@ -455,7 +455,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: merged
Gerrit-Change-Id: I595a19b722ad7a7764a3fe865bf232e91351f4df
Gerrit-PatchSet: 2
Gerrit-Project: apps/android/wikipedia
Gerrit-Branch: master
Gerrit-Owner: Niedzielski <[email protected]>
Gerrit-Reviewer: BearND <[email protected]>
Gerrit-Reviewer: Brion VIBBER <[email protected]>
Gerrit-Reviewer: Dbrant <[email protected]>
Gerrit-Reviewer: Mholloway <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits