[MediaWiki-commits] [Gerrit] Only add event handler once; after edit we may reload multip... - change (apps...wikipedia)

2014-02-24 Thread Yuvipanda (Code Review)
Yuvipanda has submitted this change and it was merged.

Change subject: Only add event handler once; after edit we may reload multiple 
times
..


Only add event handler once; after edit we may reload multiple times

This was causing multiple calls to section request/display.

Change-Id: Ie73e0cbe991691613138955d39e0908b6048db84
---
M wikipedia/src/main/java/org/wikipedia/page/PageViewFragment.java
1 file changed, 21 insertions(+), 17 deletions(-)

Approvals:
  Yuvipanda: Verified; Looks good to me, approved



diff --git a/wikipedia/src/main/java/org/wikipedia/page/PageViewFragment.java 
b/wikipedia/src/main/java/org/wikipedia/page/PageViewFragment.java
index 8c5e16a..6bc8a34 100644
--- a/wikipedia/src/main/java/org/wikipedia/page/PageViewFragment.java
+++ b/wikipedia/src/main/java/org/wikipedia/page/PageViewFragment.java
@@ -95,22 +95,6 @@
 }
 
 private void populateNonLeadSections(final Page page) {
-bridge.addListener("requestSection", new 
CommunicationBridge.JSEventListener() {
-@Override
-public void onMessage(String messageType, JSONObject 
messagePayload) {
-try {
-int index = messagePayload.optInt("index");
-JSONObject wrapper = new JSONObject();
-wrapper.put("section", 
page.getSections().get(index).toJSON());
-wrapper.put("index", index);
-wrapper.put("isLast", index == page.getSections().size() - 
1);
-bridge.sendMessage("displaySection", wrapper);
-} catch (JSONException e) {
-// Won't happen
-throw new RuntimeException(e);
-}
-}
-});
 editHandler = new EditHandler(this, bridge, page);
 bridge.sendMessage("startSectionsDisplay", new JSONObject());
 }
@@ -160,7 +144,7 @@
 webView.getSettings().setDisplayZoomControls(false);
 
 bridge = new CommunicationBridge(webView, 
"file:///android_asset/index.html");
-Utils.addUtilityMethodsToBridge(getActivity(), bridge);
+setupMessageHandlers();
 linkHandler = new LinkHandler(getActivity(), bridge, title.getSite());
 app = (WikipediaApp)getActivity().getApplicationContext();
 api = 
((WikipediaApp)getActivity().getApplicationContext()).getAPIForSite(title.getSite());
@@ -183,6 +167,26 @@
 new QuickReturnHandler(webView, quickReturnBar);
 }
 
+private void setupMessageHandlers() {
+Utils.addUtilityMethodsToBridge(getActivity(), bridge);
+bridge.addListener("requestSection", new 
CommunicationBridge.JSEventListener() {
+@Override
+public void onMessage(String messageType, JSONObject 
messagePayload) {
+try {
+int index = messagePayload.optInt("index");
+JSONObject wrapper = new JSONObject();
+wrapper.put("section", 
page.getSections().get(index).toJSON());
+wrapper.put("index", index);
+wrapper.put("isLast", index == page.getSections().size() - 
1);
+bridge.sendMessage("displaySection", wrapper);
+} catch (JSONException e) {
+// Won't happen
+throw new RuntimeException(e);
+}
+}
+});
+}
+
 @Override
 public void onActivityResult(int requestCode, int resultCode, Intent data) 
{
 super.onActivityResult(requestCode, resultCode, data);

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

Gerrit-MessageType: merged
Gerrit-Change-Id: Ie73e0cbe991691613138955d39e0908b6048db84
Gerrit-PatchSet: 2
Gerrit-Project: apps/android/wikipedia
Gerrit-Branch: master
Gerrit-Owner: Brion VIBBER 
Gerrit-Reviewer: Yuvipanda 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits


[MediaWiki-commits] [Gerrit] Only add event handler once; after edit we may reload multip... - change (apps...wikipedia)

2014-02-24 Thread Brion VIBBER (Code Review)
Brion VIBBER has uploaded a new change for review.

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

Change subject: Only add event handler once; after edit we may reload multiple 
times
..

Only add event handler once; after edit we may reload multiple times

This was causing multiple calls to section request/display.

Change-Id: Ie73e0cbe991691613138955d39e0908b6048db84
---
M wikipedia/src/main/java/org/wikipedia/page/PageViewFragment.java
1 file changed, 16 insertions(+), 16 deletions(-)


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

diff --git a/wikipedia/src/main/java/org/wikipedia/page/PageViewFragment.java 
b/wikipedia/src/main/java/org/wikipedia/page/PageViewFragment.java
index 8c5e16a..9329271 100644
--- a/wikipedia/src/main/java/org/wikipedia/page/PageViewFragment.java
+++ b/wikipedia/src/main/java/org/wikipedia/page/PageViewFragment.java
@@ -95,22 +95,6 @@
 }
 
 private void populateNonLeadSections(final Page page) {
-bridge.addListener("requestSection", new 
CommunicationBridge.JSEventListener() {
-@Override
-public void onMessage(String messageType, JSONObject 
messagePayload) {
-try {
-int index = messagePayload.optInt("index");
-JSONObject wrapper = new JSONObject();
-wrapper.put("section", 
page.getSections().get(index).toJSON());
-wrapper.put("index", index);
-wrapper.put("isLast", index == page.getSections().size() - 
1);
-bridge.sendMessage("displaySection", wrapper);
-} catch (JSONException e) {
-// Won't happen
-throw new RuntimeException(e);
-}
-}
-});
 editHandler = new EditHandler(this, bridge, page);
 bridge.sendMessage("startSectionsDisplay", new JSONObject());
 }
@@ -161,6 +145,22 @@
 
 bridge = new CommunicationBridge(webView, 
"file:///android_asset/index.html");
 Utils.addUtilityMethodsToBridge(getActivity(), bridge);
+bridge.addListener("requestSection", new 
CommunicationBridge.JSEventListener() {
+@Override
+public void onMessage(String messageType, JSONObject 
messagePayload) {
+try {
+int index = messagePayload.optInt("index");
+JSONObject wrapper = new JSONObject();
+wrapper.put("section", 
page.getSections().get(index).toJSON());
+wrapper.put("index", index);
+wrapper.put("isLast", index == page.getSections().size() - 
1);
+bridge.sendMessage("displaySection", wrapper);
+} catch (JSONException e) {
+// Won't happen
+throw new RuntimeException(e);
+}
+}
+});
 linkHandler = new LinkHandler(getActivity(), bridge, title.getSite());
 app = (WikipediaApp)getActivity().getApplicationContext();
 api = 
((WikipediaApp)getActivity().getApplicationContext()).getAPIForSite(title.getSite());

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ie73e0cbe991691613138955d39e0908b6048db84
Gerrit-PatchSet: 1
Gerrit-Project: apps/android/wikipedia
Gerrit-Branch: master
Gerrit-Owner: Brion VIBBER 

___
MediaWiki-commits mailing list
MediaWiki-commits@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits