Dbrant has submitted this change and it was merged.
Change subject: Fix backstack and editing issues from last patch
......................................................................
Fix backstack and editing issues from last patch
Issue was caused by my earlier patch Ibf571c12f6d462f63cac1db52e30ad17a7215a59.
The backstack was not retained since it got moved to JsonPageLoadStrategy,
which was recreated during onActivityCreated.
Editing was busted since the previous patch did not call editHandlersetPage
often enough.
The HtmlPageLoadStrategy still needs to use EditHandler.
Bug: T101363 T101361
Change-Id: I7f0b96e41486e6c225b925b8b32be1f3a9bcadee
---
M wikipedia/src/main/java/org/wikipedia/page/HtmlPageLoadStrategy.java
M wikipedia/src/main/java/org/wikipedia/page/JsonPageLoadStrategy.java
M wikipedia/src/main/java/org/wikipedia/page/PageLoadStrategy.java
M wikipedia/src/main/java/org/wikipedia/page/PageViewFragmentInternal.java
4 files changed, 34 insertions(+), 10 deletions(-)
Approvals:
Mholloway: Looks good to me, but someone else must approve
Dbrant: Looks good to me, approved
diff --git
a/wikipedia/src/main/java/org/wikipedia/page/HtmlPageLoadStrategy.java
b/wikipedia/src/main/java/org/wikipedia/page/HtmlPageLoadStrategy.java
index 47ce4a2..20007ba 100644
--- a/wikipedia/src/main/java/org/wikipedia/page/HtmlPageLoadStrategy.java
+++ b/wikipedia/src/main/java/org/wikipedia/page/HtmlPageLoadStrategy.java
@@ -1,6 +1,7 @@
package org.wikipedia.page;
import org.wikipedia.bridge.CommunicationBridge;
+import org.wikipedia.editing.EditHandler;
import org.wikipedia.page.leadimages.LeadImagesHandler;
import org.wikipedia.search.SearchBarHideHandler;
import org.wikipedia.views.ObservableWebView;
@@ -258,4 +259,9 @@
return false;
}
}
+
+ @Override
+ public void setEditHandler(EditHandler editHandler) {
+ // TODO: use editHandler in this class
+ }
}
diff --git
a/wikipedia/src/main/java/org/wikipedia/page/JsonPageLoadStrategy.java
b/wikipedia/src/main/java/org/wikipedia/page/JsonPageLoadStrategy.java
index 8a62fdd..ecb1412 100644
--- a/wikipedia/src/main/java/org/wikipedia/page/JsonPageLoadStrategy.java
+++ b/wikipedia/src/main/java/org/wikipedia/page/JsonPageLoadStrategy.java
@@ -4,6 +4,7 @@
import org.wikipedia.Utils;
import org.wikipedia.WikipediaApp;
import org.wikipedia.bridge.CommunicationBridge;
+import org.wikipedia.editing.EditHandler;
import org.wikipedia.editing.EditSectionActivity;
import org.wikipedia.history.HistoryEntry;
import org.wikipedia.page.bottomcontent.BottomContentHandler;
@@ -96,6 +97,7 @@
private WikipediaApp app;
private LeadImagesHandler leadImagesHandler;
private SearchBarHideHandler searchBarHideHandler;
+ private EditHandler editHandler;
private BottomContentInterface bottomContentHandler;
@@ -265,7 +267,7 @@
new RestSectionsFetchTask(pageSequenceNum).execute();
break;
case STATE_COMPLETE_FETCH:
-// editHandler.setPage(model.getPage());
+ editHandler.setPage(model.getPage());
// kick off the lead image layout
leadImagesHandler.beginLayout(new
LeadImagesHandler.OnLeadImageLayoutListener() {
@Override
@@ -414,7 +416,7 @@
new SaveHistoryTask(model.getCurEntry(), app).execute();
model.setPage(result);
-// editHandler.setPage(model.getPage());
+ editHandler.setPage(model.getPage());
// kick off the lead image layout
leadImagesHandler.beginLayout(new
LeadImagesHandler.OnLeadImageLayoutListener() {
@Override
@@ -629,7 +631,7 @@
final PageTitle title = model.getTitle();
model.setPage(new Page(title, (ArrayList<Section>) result,
pageProperties));
-// editHandler.setPage(model.getPage());
+ editHandler.setPage(model.getPage());
// kick off the lead image layout
leadImagesHandler.beginLayout(new
LeadImagesHandler.OnLeadImageLayoutListener() {
@@ -731,4 +733,9 @@
}
return false;
}
+
+ @Override
+ public void setEditHandler(EditHandler editHandler) {
+ this.editHandler = editHandler;
+ }
}
diff --git a/wikipedia/src/main/java/org/wikipedia/page/PageLoadStrategy.java
b/wikipedia/src/main/java/org/wikipedia/page/PageLoadStrategy.java
index c284f9a..7b95ac4 100644
--- a/wikipedia/src/main/java/org/wikipedia/page/PageLoadStrategy.java
+++ b/wikipedia/src/main/java/org/wikipedia/page/PageLoadStrategy.java
@@ -1,6 +1,7 @@
package org.wikipedia.page;
import org.wikipedia.bridge.CommunicationBridge;
+import org.wikipedia.editing.EditHandler;
import org.wikipedia.page.leadimages.LeadImagesHandler;
import org.wikipedia.search.SearchBarHideHandler;
import org.wikipedia.views.ObservableWebView;
@@ -36,4 +37,6 @@
void onHidePageContent();
boolean onBackPressed();
+
+ void setEditHandler(EditHandler editHandler);
}
diff --git
a/wikipedia/src/main/java/org/wikipedia/page/PageViewFragmentInternal.java
b/wikipedia/src/main/java/org/wikipedia/page/PageViewFragmentInternal.java
index 912d328..692439f 100755
--- a/wikipedia/src/main/java/org/wikipedia/page/PageViewFragmentInternal.java
+++ b/wikipedia/src/main/java/org/wikipedia/page/PageViewFragmentInternal.java
@@ -133,6 +133,18 @@
public PageViewFragmentInternal() {
}
+ @Override
+ public void onCreate(Bundle savedInstanceState) {
+ super.onCreate(savedInstanceState);
+ app = (WikipediaApp) getActivity().getApplicationContext();
+ model = new PageViewModel();
+ if (Prefs.isUsingExperimentalPageLoad(app)) {
+ pageLoadStrategy = new HtmlPageLoadStrategy();
+ } else {
+ pageLoadStrategy = new JsonPageLoadStrategy();
+ }
+ }
+
public View onCreateView(LayoutInflater inflater, ViewGroup container,
final Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_page, container,
false);
@@ -185,7 +197,6 @@
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
setHasOptionsMenu(true);
- app = (WikipediaApp) getActivity().getApplicationContext();
connectionIssueFunnel = new ConnectionIssueFunnel(app);
updateFontSize();
@@ -255,12 +266,7 @@
}
};
- model = new PageViewModel();
-
- if (Prefs.isUsingExperimentalPageLoad(app)) {
- pageLoadStrategy = new HtmlPageLoadStrategy();
- } else {
- pageLoadStrategy = new JsonPageLoadStrategy();
+ if (!Prefs.isUsingExperimentalPageLoad(app)) {
bridge.injectStyleBundle(StyleBundle.getAvailableBundle(StyleBundle.BUNDLE_PAGEVIEW));
}
@@ -284,6 +290,8 @@
});
editHandler = new EditHandler(this, bridge);
+ pageLoadStrategy.setEditHandler(editHandler);
+
tocHandler = new ToCHandler(((PageActivity) getActivity()), tocDrawer,
bridge);
imagesContainer = (ViewGroup)
getView().findViewById(R.id.page_images_container);
--
To view, visit https://gerrit.wikimedia.org/r/215924
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I7f0b96e41486e6c225b925b8b32be1f3a9bcadee
Gerrit-PatchSet: 2
Gerrit-Project: apps/android/wikipedia
Gerrit-Branch: master
Gerrit-Owner: BearND <[email protected]>
Gerrit-Reviewer: Brion VIBBER <[email protected]>
Gerrit-Reviewer: Dbrant <[email protected]>
Gerrit-Reviewer: Mholloway <[email protected]>
Gerrit-Reviewer: Niedzielski <[email protected]>
Gerrit-Reviewer: jenkins-bot <>
_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits