Dbrant has uploaded a new change for review.

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

Change subject: Put disambiguation links into a popup dialog.
......................................................................

Put disambiguation links into a popup dialog.

- Also update the styling for page-issues/disambig buttons.

Change-Id: Idfc1a57b3d58f4eae608cd3dbfb7d9030fc4a4f2
---
M wikipedia/assets/bundle.js
M wikipedia/assets/night.css
M wikipedia/assets/preview.css
M wikipedia/assets/preview.js
M wikipedia/assets/styles.css
A wikipedia/res/layout/dialog_disambig.xml
A wikipedia/res/layout/item_disambig.xml
M wikipedia/res/values-qq/strings.xml
M wikipedia/res/values/strings.xml
M wikipedia/src/main/java/org/wikipedia/page/DisambigHandler.java
M wikipedia/src/main/java/org/wikipedia/page/PageViewFragment.java
M www/js/actions.js
M www/js/disambig.js
M www/js/issues.js
M www/js/sections.js
15 files changed, 233 insertions(+), 103 deletions(-)


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

diff --git a/wikipedia/assets/bundle.js b/wikipedia/assets/bundle.js
index 6164dd8..5dc3cc7 100644
--- a/wikipedia/assets/bundle.js
+++ b/wikipedia/assets/bundle.js
@@ -65,8 +65,14 @@
     }
 
     function handleDisambig( sourceNode ) {
-        var title = sourceNode.getAttribute("title");
-        bridge.sendMessage( 'disambigClicked', { "title": title } );
+        var res = [];
+        var hatnotes = sourceNode.parentNode.querySelectorAll( 'div.hatnote' );
+        var i = 0,
+            len = hatnotes.length;
+        for (; i < len; i++) {
+            res.push( hatnotes[i].innerHTML );
+        }
+        bridge.sendMessage( 'disambigClicked', { "hatnotes": res } );
     }
 
     if (sourceNode) {
@@ -140,26 +146,20 @@
 
 transformer.register( 'displayDisambigLink', function( content ) {
     var hatnotes = content.querySelectorAll( "div.hatnote" );
-    var i = 0;
-    for (; i<hatnotes.length; i++) {
-        var el = hatnotes[i];
-        //only care about the first hatnote, and remove all others...
-        if (i === 0) {
-            var links = el.querySelectorAll("a");
-            // use the last link in the hatnote!
-            if (links.length > 0) {
-                var container = document.getElementById("issues_container");
-                var newlink = document.createElement('a');
-                newlink.setAttribute('href', '#disambig');
-                newlink.id = "disambig_button";
-                newlink.className = 'disambig_button';
-                newlink.setAttribute("title", links[links.length - 
1].getAttribute("href"));
-                container.appendChild(newlink);
-                el.parentNode.removeChild(el);
-            }
-        } else {
-            el.parentNode.removeChild(el);
+    if ( hatnotes.length > 0 ) {
+        var container = document.getElementById( "issues_container" );
+        var wrapper = document.createElement( 'div' );
+        var link = document.createElement( 'a' );
+        link.setAttribute( 'href', '#disambig' );
+        link.className = 'disambig_button';
+        link.id = 'disambig_button';
+        wrapper.appendChild( link );
+        var i = 0,
+            len = hatnotes.length;
+        for (; i < len; i++) {
+            wrapper.appendChild( hatnotes[i] );
         }
+        container.appendChild( wrapper );
     }
     return content;
 } );
@@ -185,6 +185,7 @@
         var link = document.createElement( 'a' );
         link.setAttribute( 'href', '#issues' );
         link.className = 'issues_button';
+        link.id = 'issues_button';
         wrapper.appendChild( link );
         el.parentNode.replaceChild( wrapper, el );
         var i = 0,
@@ -419,9 +420,14 @@
         document.getElementById( "content" ).removeChild(issuesContainer);
     }
     //update the text of the disambiguation link, if there is one
-    var disambig = document.getElementById( "disambig_button" );
-    if (disambig !== null) {
-        disambig.innerText = payload.string_page_similar_titles;
+    var disambigBtn = document.getElementById( "disambig_button" );
+    if (disambigBtn !== null) {
+        disambigBtn.innerText = payload.string_page_similar_titles;
+    }
+    //update the text of the page-issues link, if there is one
+    var issuesBtn = document.getElementById( "issues_button" );
+    if (issuesBtn !== null) {
+        issuesBtn.innerText = payload.string_page_issues;
     }
 
     document.getElementById( "content" ).appendChild( content );
@@ -865,4 +871,4 @@
 
 try { module.exports = parseCSSColor } catch(e) { }
 
-},{}]},{},[6,14,7,8,11,12,2,1,4,5,3,10,9,13])
+},{}]},{},[6,14,7,8,11,12,2,1,4,5,3,10,9,13])
\ No newline at end of file
diff --git a/wikipedia/assets/night.css b/wikipedia/assets/night.css
index ae144a8..1073220 100644
--- a/wikipedia/assets/night.css
+++ b/wikipedia/assets/night.css
@@ -1,6 +1,5 @@
 /* Same specificity as in less/content/main.less */
 /* Same specificity as in less/content/hacks.less */
-/* See also less/issues.less */
 body {
   color: #999;
   background: #000;
@@ -10,7 +9,7 @@
 }
 a.external {
   background-image: 
url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAAadEVYdFNvZnR3YXJlAFBhaW50Lk5FVCB2My41LjEwMPRyoQAAAGJJREFUKFN1jdENgCAMBYmJn47Bak7DZrhTpc/XIm34OAjXA4qIgHI/dSBbLGTcOKjBryFlinGmjDQGiOF0MQkxI3v5wq6L38qR7SnsAx8ul37igPjAd+o5Oz2MRA+xY4ZSXuaW6wYouOLpAAAAAElFTkSuQmCC);
-  background-image: 
url(//bits.beta.wmflabs.org/static-master/extensions/MobileApp/less/images/external-link-ltr.png?2014-07-18T15:35:00Z)!ie;
+  background-image: 
url(//127.0.0.1:8080/w/extensions/MobileApp/less/images/external-link-ltr.png?2014-07-17T15:18:20Z)!ie;
 }
 img {
   background: #fff;
@@ -26,20 +25,4 @@
 }
 .content table.infobox {
   background: #000;
-}
-a.issues_button {
-  background: 
url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABmJLR0QA/wD/AP+gvaeTAAADBElEQVR4nO3aX0hTURwH8O/v3q3co1CgERQY/rtK5EMR+hT44tgGRfbSm4EV1RaRYNFLD75kuVkJ+VJBBWkUmxYU1EvYP1TK3CzTKCywGQRSodu999dDChJEeXe2s+h8GAwuO+d8+bJ7Lzt3gKIoiqIo/ytyOrA8dGs9EW1wWa4vTFbaInOm6qOV7O1ttEQGzDbHBVSGoq3E1PbLYQboLQHDDAyD7IcF36efDXU3pzPMmTUuwfMRwCUMlADYCSbMeYq/GaHYABhR3W3eGGnfnhS8ZkZEfwP+xALwAKAr87Z+feJsw7zT9RdV7+svtNxck+j03XcyXss0wDLpAOoBvrxSM98Zh6InNh28s9rpZBWhvhp7hf0Imr3Z6RyiT4HlKALRyRSZx4xg7CpIPxcPe5//zcCyA9E1Ll1rBaMZgDuTEDILWFQAoAlsNRnBvpfE6IdmD2iW+4V7furTUHdzeuvhHs+s6SmFjjpibmBgG8AFIhbPhwKW4GomVIMJlmbC8hTDCMYwawPQGPj5EirX14C8owqQHUA2VYDsALKpAmQHkE0VIDuAbKoA2QFkUwXIDiCbKkB2ANlUAbIDyCZsR4iAJwz0sKYNwjZTBG0tAWUM1ANUC3BGe3fZIqwAG7iUiPgvLDn0dOG9rfRI3yq3hd1g7AFgiFpThJzsCY6f9n0GEAY4YgRjPjAdB8HxVrZIOb4GEMcjgVi807+FiHcAmBIwaZLTrmtOB0u7CI6GAzeRnqtkQjtATp8dzpDG3rHz3vdOc0i9C8S7Gr8mwv6jlq5VMaEHy9v1fmwz1Y52BAYzyZAXt8FXZ7zjibB/lw6uAPgUQJO/++zCk+e98cLhurFO35tM186rByMjkcBrAC0AWoz9t4vg5o1gex00ssF2EhoSox2BCZFr5lUBS8W7vNMAprO9Tl6cAjKpAmQHkE0VIDuAbKoA2QFkUwXIDiCbKkB2ANmEFUDMc6LmyiVBP4ZoEqZ+V8xcueW4AEq5LmouvgfdTJV/SCX+tb/JK4qiKIqi/ABBuOy9cIEOvwAAAABJRU5ErkJggg==)
 no-repeat center;
-  background: 
url(//bits.beta.wmflabs.org/static-master/extensions/MobileApp/less/../images/flag-night.png?2014-07-29T19:15:00Z)
 no-repeat center!ie;
-  border: 1px solid #2B6FB2;
-}
-a.issues_button:active {
-  border: 4px solid #2B6FB2;
-}
-a.disambig_button {
-  border: 1px solid #2B6FB2;
-  color: #2B6FB2;
-}
-a.disambig_button:active {
-  background-color: #2B6FB2;
-  color: #b0b0b0;
 }
\ No newline at end of file
diff --git a/wikipedia/assets/preview.css b/wikipedia/assets/preview.css
index a5aaa60..2778c3c 100644
--- a/wikipedia/assets/preview.css
+++ b/wikipedia/assets/preview.css
@@ -94,11 +94,6 @@
   -webkit-box-sizing: border-box;
   box-sizing: border-box;
 }
-div#centralNotice {
-  -moz-box-sizing: content-box;
-  -webkit-box-sizing: content-box;
-  box-sizing: content-box;
-}
 button {
   border: none;
   background-color: transparent;
@@ -283,7 +278,7 @@
 }
 a.external {
   background-image: 
url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAVElEQVR42n3PgQkAIAhEUXdqJ3dqJ3e6IoTPUSQcgj4EQ5IlUiLE0Jil3PECXhcHGBhZ8kg4hwxAu3MZeCGeyFnAXp4hqNQPnt7QL0nADpD6wHccLvnAKksq8iiaAAAAAElFTkSuQmCC);
-  background-image: 
url(//bits.beta.wmflabs.org/static-master/extensions/MobileApp/../MobileFrontend/less/content/images/external-link-ltr-icon.png?2014-05-23T12:15:00Z)!ie;
+  background-image: 
url(//127.0.0.1:8080/w/extensions/MobileApp/../MobileFrontend/less/content/images/external-link-ltr-icon.png?2014-06-18T17:30:00Z)!ie;
   /* We don't need the !ie hack because this old IE uses the fallback already 
*/
   background-image: -webkit-linear-gradient(transparent,transparent), 
url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMCIgaGVpZ2h0PSIxMCI+PGRlZnM+PG1hcmtlciBvcmllbnQ9ImF1dG8iIG92ZXJmbG93PSJ2aXNpYmxlIj48cGF0aCBkPSJNLS45NTgtNC4yNTljLTEuMTM0IDAtMi4wNTYuOTIyLTIuMDU2IDIuMDU2IDAgLjM5NC4xNDMuNzM2LjMzNiAxLjA0OWwtLjA3LjA1NmMtLjM3My0uNTEzLS45NTQtLjg2Ny0xLjYzNi0uODY3LTEuMTM0IDAtMi4wNTYuOTIyLTIuMDU2IDIuMDU2cy45MjIgMi4wNTYgMi4wNTYgMi4wNTZjLjU5NiAwIDEuMTIxLS4yNjUgMS40OTYtLjY3MS0uMDc1LjIxMy0uMTI2LjQzMy0uMTI2LjY3MSAwIDEuMTM0LjkyMiAyLjA1NiAyLjA1NiAyLjA1NnMyLjA1Ni0uOTIyIDIuMDU2LTIuMDU2YzAtLjQ3Ni0uMTg5LS44OTYtLjQ2Mi0xLjI0NS44MTMuMTU4IDEuNjI3LjQ3NyAyLjIyNCAxLjM5OS0uNDQzLS40NDMtLjcyNy0xLjI0OC0uNzI3LTIuMzM2bC0uMzc4LS4wMjguMzUtLjAxNGMwLTEuMDg3LjI3LTEuODkzLjcxMy0yLjMzNi0uNTc1Ljg4OS0xLjM1NCAxLjIxNi0yLjE0IDEuMzg1LjI0My0uMzM3LjQyLS43MjguNDItMS4xNzUgMC0xLjEzNC0uOTIyLTIuMDU2LTIuMDU2LTIuMDU2eiIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iTmFOIi8+PC9tYXJrZXI+PG1hcmtlciBvcmllbnQ9ImF1dG8iIG92ZXJmbG93PSJ2aXNpYmxlIj48cGF0aCBkPSJNMC0yLjgyOGwtMi44MjggMi44MjggMi44MjggMi44MjggMi44MjgtMi44MjgtMi44MjgtMi44Mjh6IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLXdpZHRoPSJOYU4iLz48L21hcmtlcj48bWFya2VyIG9yaWVudD0iYXV0byIgb3ZlcmZsb3c9InZpc2libGUiPjxwYXRoIGQ9Ik0xMCAwbDQtNC0xNCA0IDE0IDQtNC00eiIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iTmFOIi8+PC9tYXJrZXI+PC9kZWZzPjxwYXRoIGZpbGw9IiNmZmYiIHN0cm9rZT0iIzA2YyIgZD0iTS41IDMuNTE4aDUuOTgydjUuOTgyaC01Ljk4MnoiLz48cGF0aCBkPSJNNC43NTUtLjE2aDUuMjM0djUuMzlsLTEuNTcxIDEuNTQ0LTEuMzEtMS4zMS0yLjcyNSAyLjcyNS0yLjY4OC0yLjY4OCAyLjgwOC0yLjgwOC0xLjMxLTEuMzF6IiBmaWxsPSIjMDZmIi8+PHBhdGggZD0iTTguOTg0Ljg0NWwuMDIyIDQuODg0LTEuODE3LTEuODE3LTIuODgxIDIuODgxLTEuMjI3LTEuMjI3IDIuODgxLTIuODgxLTEuODUtMS44NTF6IiBmaWxsPSIjZmZmIi8+PC9zdmc+);
   background-image: linear-gradient(transparent,transparent), 
url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMCIgaGVpZ2h0PSIxMCI+PGRlZnM+PG1hcmtlciBvcmllbnQ9ImF1dG8iIG92ZXJmbG93PSJ2aXNpYmxlIj48cGF0aCBkPSJNLS45NTgtNC4yNTljLTEuMTM0IDAtMi4wNTYuOTIyLTIuMDU2IDIuMDU2IDAgLjM5NC4xNDMuNzM2LjMzNiAxLjA0OWwtLjA3LjA1NmMtLjM3My0uNTEzLS45NTQtLjg2Ny0xLjYzNi0uODY3LTEuMTM0IDAtMi4wNTYuOTIyLTIuMDU2IDIuMDU2cy45MjIgMi4wNTYgMi4wNTYgMi4wNTZjLjU5NiAwIDEuMTIxLS4yNjUgMS40OTYtLjY3MS0uMDc1LjIxMy0uMTI2LjQzMy0uMTI2LjY3MSAwIDEuMTM0LjkyMiAyLjA1NiAyLjA1NiAyLjA1NnMyLjA1Ni0uOTIyIDIuMDU2LTIuMDU2YzAtLjQ3Ni0uMTg5LS44OTYtLjQ2Mi0xLjI0NS44MTMuMTU4IDEuNjI3LjQ3NyAyLjIyNCAxLjM5OS0uNDQzLS40NDMtLjcyNy0xLjI0OC0uNzI3LTIuMzM2bC0uMzc4LS4wMjguMzUtLjAxNGMwLTEuMDg3LjI3LTEuODkzLjcxMy0yLjMzNi0uNTc1Ljg4OS0xLjM1NCAxLjIxNi0yLjE0IDEuMzg1LjI0My0uMzM3LjQyLS43MjguNDItMS4xNzUgMC0xLjEzNC0uOTIyLTIuMDU2LTIuMDU2LTIuMDU2eiIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iTmFOIi8+PC9tYXJrZXI+PG1hcmtlciBvcmllbnQ9ImF1dG8iIG92ZXJmbG93PSJ2aXNpYmxlIj48cGF0aCBkPSJNMC0yLjgyOGwtMi44MjggMi44MjggMi44MjggMi44MjggMi44MjgtMi44MjgtMi44MjgtMi44Mjh6IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLXdpZHRoPSJOYU4iLz48L21hcmtlcj48bWFya2VyIG9yaWVudD0iYXV0byIgb3ZlcmZsb3c9InZpc2libGUiPjxwYXRoIGQ9Ik0xMCAwbDQtNC0xNCA0IDE0IDQtNC00eiIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iTmFOIi8+PC9tYXJrZXI+PC9kZWZzPjxwYXRoIGZpbGw9IiNmZmYiIHN0cm9rZT0iIzA2YyIgZD0iTS41IDMuNTE4aDUuOTgydjUuOTgyaC01Ljk4MnoiLz48cGF0aCBkPSJNNC43NTUtLjE2aDUuMjM0djUuMzlsLTEuNTcxIDEuNTQ0LTEuMzEtMS4zMS0yLjcyNSAyLjcyNS0yLjY4OC0yLjY4OCAyLjgwOC0yLjgwOC0xLjMxLTEuMzF6IiBmaWxsPSIjMDZmIi8+PHBhdGggZD0iTTguOTg0Ljg0NWwuMDIyIDQuODg0LTEuODE3LTEuODE3LTIuODgxIDIuODgxLTEuMjI3LTEuMjI3IDIuODgxLTIuODgxLTEuODUtMS44NTF6IiBmaWxsPSIjZmZmIi8+PC9zdmc+);
diff --git a/wikipedia/assets/preview.js b/wikipedia/assets/preview.js
index 00fee54..3f71254 100644
--- a/wikipedia/assets/preview.js
+++ b/wikipedia/assets/preview.js
@@ -65,8 +65,14 @@
     }
 
     function handleDisambig( sourceNode ) {
-        var title = sourceNode.getAttribute("title");
-        bridge.sendMessage( 'disambigClicked', { "title": title } );
+        var res = [];
+        var hatnotes = sourceNode.parentNode.querySelectorAll( 'div.hatnote' );
+        var i = 0,
+            len = hatnotes.length;
+        for (; i < len; i++) {
+            res.push( hatnotes[i].innerHTML );
+        }
+        bridge.sendMessage( 'disambigClicked', { "hatnotes": res } );
     }
 
     if (sourceNode) {
@@ -533,4 +539,4 @@
 
 try { module.exports = parseCSSColor } catch(e) { }
 
-},{}]},{},[3,2,4,1,5,6,7])
+},{}]},{},[3,2,4,1,5,6,7])
\ No newline at end of file
diff --git a/wikipedia/assets/styles.css b/wikipedia/assets/styles.css
index 21b14a5..2c10e2b 100644
--- a/wikipedia/assets/styles.css
+++ b/wikipedia/assets/styles.css
@@ -94,11 +94,6 @@
   -webkit-box-sizing: border-box;
   box-sizing: border-box;
 }
-div#centralNotice {
-  -moz-box-sizing: content-box;
-  -webkit-box-sizing: content-box;
-  box-sizing: content-box;
-}
 button {
   border: none;
   background-color: transparent;
@@ -283,7 +278,7 @@
 }
 a.external {
   background-image: 
url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAYAAACNMs+9AAAAVElEQVR42n3PgQkAIAhEUXdqJ3dqJ3e6IoTPUSQcgj4EQ5IlUiLE0Jil3PECXhcHGBhZ8kg4hwxAu3MZeCGeyFnAXp4hqNQPnt7QL0nADpD6wHccLvnAKksq8iiaAAAAAElFTkSuQmCC);
-  background-image: 
url(//bits.beta.wmflabs.org/static-master/extensions/MobileApp/../MobileFrontend/less/content/images/external-link-ltr-icon.png?2014-05-23T12:15:00Z)!ie;
+  background-image: 
url(//127.0.0.1:8080/w/extensions/MobileApp/../MobileFrontend/less/content/images/external-link-ltr-icon.png?2014-06-18T17:30:00Z)!ie;
   /* We don't need the !ie hack because this old IE uses the fallback already 
*/
   background-image: -webkit-linear-gradient(transparent,transparent), 
url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMCIgaGVpZ2h0PSIxMCI+PGRlZnM+PG1hcmtlciBvcmllbnQ9ImF1dG8iIG92ZXJmbG93PSJ2aXNpYmxlIj48cGF0aCBkPSJNLS45NTgtNC4yNTljLTEuMTM0IDAtMi4wNTYuOTIyLTIuMDU2IDIuMDU2IDAgLjM5NC4xNDMuNzM2LjMzNiAxLjA0OWwtLjA3LjA1NmMtLjM3My0uNTEzLS45NTQtLjg2Ny0xLjYzNi0uODY3LTEuMTM0IDAtMi4wNTYuOTIyLTIuMDU2IDIuMDU2cy45MjIgMi4wNTYgMi4wNTYgMi4wNTZjLjU5NiAwIDEuMTIxLS4yNjUgMS40OTYtLjY3MS0uMDc1LjIxMy0uMTI2LjQzMy0uMTI2LjY3MSAwIDEuMTM0LjkyMiAyLjA1NiAyLjA1NiAyLjA1NnMyLjA1Ni0uOTIyIDIuMDU2LTIuMDU2YzAtLjQ3Ni0uMTg5LS44OTYtLjQ2Mi0xLjI0NS44MTMuMTU4IDEuNjI3LjQ3NyAyLjIyNCAxLjM5OS0uNDQzLS40NDMtLjcyNy0xLjI0OC0uNzI3LTIuMzM2bC0uMzc4LS4wMjguMzUtLjAxNGMwLTEuMDg3LjI3LTEuODkzLjcxMy0yLjMzNi0uNTc1Ljg4OS0xLjM1NCAxLjIxNi0yLjE0IDEuMzg1LjI0My0uMzM3LjQyLS43MjguNDItMS4xNzUgMC0xLjEzNC0uOTIyLTIuMDU2LTIuMDU2LTIuMDU2eiIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iTmFOIi8+PC9tYXJrZXI+PG1hcmtlciBvcmllbnQ9ImF1dG8iIG92ZXJmbG93PSJ2aXNpYmxlIj48cGF0aCBkPSJNMC0yLjgyOGwtMi44MjggMi44MjggMi44MjggMi44MjggMi44MjgtMi44MjgtMi44MjgtMi44Mjh6IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLXdpZHRoPSJOYU4iLz48L21hcmtlcj48bWFya2VyIG9yaWVudD0iYXV0byIgb3ZlcmZsb3c9InZpc2libGUiPjxwYXRoIGQ9Ik0xMCAwbDQtNC0xNCA0IDE0IDQtNC00eiIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iTmFOIi8+PC9tYXJrZXI+PC9kZWZzPjxwYXRoIGZpbGw9IiNmZmYiIHN0cm9rZT0iIzA2YyIgZD0iTS41IDMuNTE4aDUuOTgydjUuOTgyaC01Ljk4MnoiLz48cGF0aCBkPSJNNC43NTUtLjE2aDUuMjM0djUuMzlsLTEuNTcxIDEuNTQ0LTEuMzEtMS4zMS0yLjcyNSAyLjcyNS0yLjY4OC0yLjY4OCAyLjgwOC0yLjgwOC0xLjMxLTEuMzF6IiBmaWxsPSIjMDZmIi8+PHBhdGggZD0iTTguOTg0Ljg0NWwuMDIyIDQuODg0LTEuODE3LTEuODE3LTIuODgxIDIuODgxLTEuMjI3LTEuMjI3IDIuODgxLTIuODgxLTEuODUtMS44NTF6IiBmaWxsPSIjZmZmIi8+PC9zdmc+);
   background-image: linear-gradient(transparent,transparent), 
url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxMCIgaGVpZ2h0PSIxMCI+PGRlZnM+PG1hcmtlciBvcmllbnQ9ImF1dG8iIG92ZXJmbG93PSJ2aXNpYmxlIj48cGF0aCBkPSJNLS45NTgtNC4yNTljLTEuMTM0IDAtMi4wNTYuOTIyLTIuMDU2IDIuMDU2IDAgLjM5NC4xNDMuNzM2LjMzNiAxLjA0OWwtLjA3LjA1NmMtLjM3My0uNTEzLS45NTQtLjg2Ny0xLjYzNi0uODY3LTEuMTM0IDAtMi4wNTYuOTIyLTIuMDU2IDIuMDU2cy45MjIgMi4wNTYgMi4wNTYgMi4wNTZjLjU5NiAwIDEuMTIxLS4yNjUgMS40OTYtLjY3MS0uMDc1LjIxMy0uMTI2LjQzMy0uMTI2LjY3MSAwIDEuMTM0LjkyMiAyLjA1NiAyLjA1NiAyLjA1NnMyLjA1Ni0uOTIyIDIuMDU2LTIuMDU2YzAtLjQ3Ni0uMTg5LS44OTYtLjQ2Mi0xLjI0NS44MTMuMTU4IDEuNjI3LjQ3NyAyLjIyNCAxLjM5OS0uNDQzLS40NDMtLjcyNy0xLjI0OC0uNzI3LTIuMzM2bC0uMzc4LS4wMjguMzUtLjAxNGMwLTEuMDg3LjI3LTEuODkzLjcxMy0yLjMzNi0uNTc1Ljg4OS0xLjM1NCAxLjIxNi0yLjE0IDEuMzg1LjI0My0uMzM3LjQyLS43MjguNDItMS4xNzUgMC0xLjEzNC0uOTIyLTIuMDU2LTIuMDU2LTIuMDU2eiIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iTmFOIi8+PC9tYXJrZXI+PG1hcmtlciBvcmllbnQ9ImF1dG8iIG92ZXJmbG93PSJ2aXNpYmxlIj48cGF0aCBkPSJNMC0yLjgyOGwtMi44MjggMi44MjggMi44MjggMi44MjggMi44MjgtMi44MjgtMi44MjgtMi44Mjh6IiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIHN0cm9rZT0iIzAwMCIgc3Ryb2tlLXdpZHRoPSJOYU4iLz48L21hcmtlcj48bWFya2VyIG9yaWVudD0iYXV0byIgb3ZlcmZsb3c9InZpc2libGUiPjxwYXRoIGQ9Ik0xMCAwbDQtNC0xNCA0IDE0IDQtNC00eiIgZmlsbC1ydWxlPSJldmVub2RkIiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iTmFOIi8+PC9tYXJrZXI+PC9kZWZzPjxwYXRoIGZpbGw9IiNmZmYiIHN0cm9rZT0iIzA2YyIgZD0iTS41IDMuNTE4aDUuOTgydjUuOTgyaC01Ljk4MnoiLz48cGF0aCBkPSJNNC43NTUtLjE2aDUuMjM0djUuMzlsLTEuNTcxIDEuNTQ0LTEuMzEtMS4zMS0yLjcyNSAyLjcyNS0yLjY4OC0yLjY4OCAyLjgwOC0yLjgwOC0xLjMxLTEuMzF6IiBmaWxsPSIjMDZmIi8+PHBhdGggZD0iTTguOTg0Ljg0NWwuMDIyIDQuODg0LTEuODE3LTEuODE3LTIuODgxIDIuODgxLTEuMjI3LTEuMjI3IDIuODgxLTIuODgxLTEuODUtMS44NTF6IiBmaWxsPSIjZmZmIi8+PC9zdmc+);
@@ -574,7 +569,7 @@
   height: 32px;
   width: 32px;
   background-image: 
url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAMAAAC5zwKfAAAANlBMVEUAAAD///9sbW9sbW9sbW9sbW9sbW9sbW9sbW9sbW9sbW9sbW9sbW9sbW9sbW9sbW9sbW9sbW+FiFraAAAAEXRSTlMAABAgMEBQYHCAkKCwwNDg8InUWv0AAAGfSURBVHhe7djBjsIgFIXhOwjFeltK3/9lJ4J6SG5dHGgyyaRn1dUXlb8slJ+T9//AC7zACxRiLu37EqXsDPCW9ue2cBLo8/7a/RQwFK9OTwDj3k6Hwbk6Mb/EeRDUojyaHzKMgG4pRmy/ehoAXcklT3h+buoGffU8vDJlQJtfuuG5busEY/Xc28N4EPkp7EHwUaODjSkLIr8Iu/VIELkE2Bj9psDzSBuLQoLIxX1sLEfhQHirQ9rwvLAgcoHdejx4b3IJ8PDOcCBysfklJzToipc9Piu2OKFA5LL5o/xUhAZ9Qi7W40Dkspj8as48OGXkYj0ORH73w/yC8OCMXA5y5sE2lwgPh86Bbi3h+i8506Brc3kYjwb9VkL7lh8N+jaXxXg0GBGayW8WCoSXq+dNzjyIXGx+UXhQm1yCyZkHA8JAfvBosF6h21RvU3vb86B+4lCTcxf4rkTV3PZ9IAiTcxcYvnm94P3Qi9IN6rHXDybL5SAD4IHnZQAMxtu8jIA4E+Q8BKr1xkCcybrOcwhOBsE3JOT+4G+WC7zAC7zAXxMIT+qGYJfyAAAAAElFTkSuQmCC);
-  background-image: 
url(//bits.beta.wmflabs.org/static-master/extensions/MobileApp/less/../images/edit.png?2014-04-30T22:15:00Z)!ie;
+  background-image: 
url(//127.0.0.1:8080/w/extensions/MobileApp/less/../images/edit.png?2014-06-18T17:26:40Z)!ie;
   background-size: 32px 32px;
   float: right;
   display: inline-float;
@@ -584,7 +579,7 @@
 }
 .page-protected a.edit_section_button {
   background-image: 
url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAMAAAC5zwKfAAAAXVBMVEUAAAD////Pz89sbW/Pz89sbW/Pz89sbW/Pz89sbW/Pz89sbW/Pz89sbW/Pz89sbW/Pz8/Pz8/Pz89sbW/Pz89sbW/Pz8/Pz89sbW/Pz89sbW/Pz89sbW/Pz89sbW+fZUWwAAAAHXRSTlMAABAQICAwMEBAUFBgYHBwgJCgoLDAwNDQ4ODw8PGFG8cAAAHOSURBVHhe7dTLcoMwDAVQxVCXJAoByiPUEf//mcW0Gh5KFrbojrtidUYM9wKnnfOP4AEe4AGCT3JvmuHR3BOAXcDrc/jN87wLeBvmnCUIATnZEUyeC/A7UYHWjeDdQ48PSL68eNOA6GgEH9Nh3m9GsFGASOTB6S7wufrHeLCkGfycwLMKrGgBwm8UoKknD/cCTffn7QSmk+cup51A6ybP+hsGmUCQvd7CTiCST2dAB0pPAcr6VQY0oPRgCqpB005eydvTglxnPlYLWvZ4ezqQ65zxsVrwwvPg7SlBJJ4HH6sDc64ze0qwWnroSAHKeSDRDL6JBGX9eB4FKUH2Sj5WC9p+PQ8lyA1BPnYVZ4NBnOssvS4NvhBp4dl+45nAV+Yv2q3nwakMBICyztnWAwgEzcpDWgchABR1Fp5DCAXTlVdtPAuBINevEB5/pQBQ1rneeAZCQaTVPERdQsGMVn97UZdgMJ89UeccIsDaA7V55SHEgD0vDtCJukSAKQM5kvBiwAtxRF3iwPKtFwm2TIi6RIJvvGgwe+UhxIO55ByCAqylZ0ED9luvt6ABU1kXUIHLWru2LVoDOrAk6tu6KLKMJSVohaMAtTnA4BzgAf4Asb6U9nmPcP4AAAAASUVORK5CYII=);
-  background-image: 
url(//bits.beta.wmflabs.org/static-master/extensions/MobileApp/less/../images/edit-locked.png?2014-05-28T01:45:00Z)!ie;
+  background-image: 
url(//127.0.0.1:8080/w/extensions/MobileApp/less/../images/edit-locked.png?2014-06-18T17:26:40Z)!ie;
 }
 #mainpage a.edit_section_button {
   display: none;
@@ -597,20 +592,28 @@
 }
 
 div.issues_container {
-  margin: 0px;
+  margin-left: 0px;
+  margin-right: 0px;
+  margin-top: -0.5em;
+  /* a bit hacky that it assumes it's right below an h1 heading */
+  margin-bottom: 1em;
   padding: 0px;
   width: 100%;
   display: inline-block;
 }
 a.issues_button {
-  height: 32px;
-  width: 36px;
-  background-size: 24px 24px;
-  background: 
url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABmJLR0QA/wD/AP+gvaeTAAACzklEQVR4nO3aP2gTYRjH8e+TpK2iiIIFEUFpi/+D1qb+oZ2UOujgIOIiLnVwcXCwtAlCkKQKOgjiYBHUxaEVQXGxq1Tb9FJRsai14h8otVVcFLXXu8fBDsFByuWSN+L7WQJH3vf58YO7I7kDy7Isy7L+VxJ04c5OXePFaPCEL3i4AtN1Y0z19YkXZsBSC1xAc1K7VOj+47ACbwRGfBgRnwf6mVy+R9ziYpZOLOT9BKhXqBc4RASklm+JlA4I3PlZxa2naZkKeWZRImWYsQjYq3C52mUikdL+RFKPNpzQmjA2j3fqsuak7gm6vhwFFIoCbQg3li7hbVNSTzd2aW3QzZqSuq0mykNge9A9yl1AoRUinIlGeJ9I6dXmpG6d78LGtK5MpPSSCIPA+mJChH0NCGIB0K5CeyKlz1S4h89ArJonsxN8zPeIu+ukLvQWs9ZXWlH24bJ7bl3RKqGAQnFR4gh4LkgtJFKKC+CXZqDJU6Ai2AJMBzDNFmA6gGm2ANMBTLMFmA5gmi3AdADTbAGmA5hmCzAdwDRbgOkApoX2j5DAoAq9vocjMWbEZxWwDmgDWoCqsGaFKbQCVLjuZORKwaGhuc/uprQuF5cjwDFgU1gzw1CWUyCflk9OVi46WeIIB4BcOebOR5mvAaJORu46WdkhwkHgQ9E7wtSscDPoemMXweGM3P5exUaFC0DQZ4fTAvsfZ+Vd0BxG7wLP0/I1n5VTEZ/NKvTy++Hq/AiPokJLLitOMRkq4jaYOyuv8hk5jLAB4Tww/pevjyAcd2K0DmVkrNjZFfVgxMnIS6AD6GhO6wpvhi1RYbWv+BJhyp9ldOScvA5zZkUVUGg4LZPAZKnnVMQpYJItwHQA02wBpgOYZgswHcA0W4DpAKbZAkwHMC20AlT5EdZe5RRWAeORKu6HtFdZBf81WM0136NfYKbuBaP/2mvylmVZlmVZvwDZmcBBeFfe1QAAAABJRU5ErkJggg==)
 no-repeat center;
-  background: 
url(//bits.beta.wmflabs.org/static-master/extensions/MobileApp/less/../images/flag-light.png?2014-07-29T19:15:00Z)
 no-repeat center!ie;
-  border: 1px solid #347BFF;
+  font-size: .8em;
+  height: 2em;
+  padding-left: 6px;
+  padding-right: 6px;
+  padding-top: 0.15em;
+  margin-right: 8px;
+  border: 1px solid #707070;
   border-radius: 4px;
   display: inline-block;
+  text-decoration: none;
+  color: #707070;
+  float: left;
 }
 .content-rtl a.issues_button {
   /* Flip it! */
@@ -618,24 +621,29 @@
   transform: scaleX(-1);
 }
 a.issues_button:active {
-  border: 4px solid #347BFF;
+  background-color: #707070;
+  color: #ffffff;
 }
 
+div.hatnote {
+  display: none;
+}
 a.disambig_button {
-  height: 32px;
-  padding-left: 8px;
-  padding-right: 8px;
-  padding-top: 2px;
+  font-size: .8em;
+  height: 2em;
+  padding-left: 6px;
+  padding-right: 6px;
+  padding-top: 0.15em;
   margin-right: 8px;
-  border: 1px solid #347BFF;
+  border: 1px solid #707070;
   border-radius: 4px;
   display: inline-block;
   text-decoration: none;
-  color: #347BFF;
+  color: #707070;
   float: left;
 }
 a.disambig_button:active {
-  background-color: #347BFF;
+  background-color: #707070;
   color: #ffffff;
 }
 
diff --git a/wikipedia/res/layout/dialog_disambig.xml 
b/wikipedia/res/layout/dialog_disambig.xml
new file mode 100644
index 0000000..d36c08b
--- /dev/null
+++ b/wikipedia/res/layout/dialog_disambig.xml
@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<ListView xmlns:android="http://schemas.android.com/apk/res/android";
+          android:id="@+id/list"
+          android:layout_width="match_parent"
+          android:layout_height="match_parent"/>
diff --git a/wikipedia/res/layout/item_disambig.xml 
b/wikipedia/res/layout/item_disambig.xml
new file mode 100644
index 0000000..2645ead
--- /dev/null
+++ b/wikipedia/res/layout/item_disambig.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android";
+              android:layout_width="match_parent"
+              android:layout_height="wrap_content"
+              android:orientation="horizontal"
+              android:padding="8dp">
+
+    <ImageView
+            android:id="@+id/disambig_icon"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:layout_marginLeft="8dp"
+            android:layout_gravity="center_vertical"
+            android:src="@drawable/link" />
+
+    <TextView
+            android:id="@+id/disambig_text"
+            android:padding="8dp"
+            style="?android:textAppearanceMedium"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:layout_gravity="center_vertical"
+            android:textColorLink="?attr/link_color"/>
+
+</LinearLayout>
diff --git a/wikipedia/res/values-qq/strings.xml 
b/wikipedia/res/values-qq/strings.xml
index 5ccd6bd..3d6cbe5 100644
--- a/wikipedia/res/values-qq/strings.xml
+++ b/wikipedia/res/values-qq/strings.xml
@@ -278,6 +278,7 @@
   <string name="abusefilter_text_warn">Explanation of why the edit may be 
flagged as unconstructive: Typing in all caps, Blanking articles or Spamming, 
Irrelevant external links or images, Repeating characters</string>
   <string name="abusefilter_text_disallow">Explanation of why the edit was not 
allowed: potentially unconstructive, or potential vandalism.</string>
   <string name="dialog_page_issues">Dialog title for page/article issues 
list</string>
+  <string name="button_page_issues">Label for button that shows the Page 
Issues dialog</string>
   <string name="menu_themechooser">Menu item for choosing text size and color 
scheme</string>
   <string name="text_size_select">Label that describes text size 
selection</string>
   <string name="color_theme_select">Label that describes color theme selection
diff --git a/wikipedia/res/values/strings.xml b/wikipedia/res/values/strings.xml
index 5fe38e0..367610c 100644
--- a/wikipedia/res/values/strings.xml
+++ b/wikipedia/res/values/strings.xml
@@ -208,6 +208,7 @@
     <string name="abusefilter_text_warn"><![CDATA[An automated filter has 
identified this edit as potentially unconstructive. It may contain one or more 
of the following:<br /><br />· Typing in all caps<br />· Blanking articles or 
spamming<br />· Irrelevant external links or images<br />· Repeating 
characters]]></string>
     <string name="abusefilter_text_disallow"><![CDATA[An automated filter has 
identified this edit as potentially unconstructive, or potential vandalism.<br 
/><br />Wikipedia is an encyclopedia and only neutral, notable content belongs 
here.]]></string>
     <string name="dialog_page_issues">Page issues</string>
+    <string name="button_page_issues">Page issues</string>
     <string name="menu_themechooser">Font and theme</string>
     <string name="text_size_select">Font size</string>
     <string name="color_theme_select">Theme</string>
diff --git a/wikipedia/src/main/java/org/wikipedia/page/DisambigHandler.java 
b/wikipedia/src/main/java/org/wikipedia/page/DisambigHandler.java
index 9677d46..74c6b48 100644
--- a/wikipedia/src/main/java/org/wikipedia/page/DisambigHandler.java
+++ b/wikipedia/src/main/java/org/wikipedia/page/DisambigHandler.java
@@ -1,7 +1,25 @@
 package org.wikipedia.page;
 
+import android.app.Activity;
+import android.app.AlertDialog;
+import android.app.Dialog;
+import android.text.Html;
+import android.text.Spannable;
+import android.text.TextPaint;
+import android.text.style.URLSpan;
+import android.view.LayoutInflater;
+import android.view.MotionEvent;
+import android.view.View;
+import android.view.ViewGroup;
+import android.widget.ArrayAdapter;
+import android.widget.ImageView;
+import android.widget.ListAdapter;
+import android.widget.TextView;
 import org.json.JSONException;
 import org.json.JSONObject;
+import org.wikipedia.R;
+import org.wikipedia.Utils;
+import org.wikipedia.WikipediaApp;
 import org.wikipedia.bridge.CommunicationBridge;
 
 /**
@@ -9,10 +27,12 @@
  * Automatically goes to the disambiguation page for the selected item.
  */
 public class DisambigHandler implements CommunicationBridge.JSEventListener {
-
+    private final Activity activity;
     private LinkHandler linkHandler;
+    private Dialog dlg;
 
-    public DisambigHandler(LinkHandler linkHandler, CommunicationBridge 
bridge) {
+    public DisambigHandler(Activity activity, LinkHandler linkHandler, 
CommunicationBridge bridge) {
+        this.activity = activity;
         this.linkHandler = linkHandler;
         bridge.addListener("disambigClicked", this);
     }
@@ -21,10 +41,81 @@
     @Override
     public void onMessage(String messageType, JSONObject messagePayload) {
         try {
-            linkHandler.onUrlClick(messagePayload.getString("title"));
+            
show(Utils.jsonArrayToStringArray(messagePayload.getJSONArray("hatnotes")));
         } catch (JSONException e) {
             throw new RuntimeException(e);
         }
     }
 
+    public void show(final String[] items) {
+        final WikipediaApp app = (WikipediaApp) 
activity.getApplicationContext();
+
+        AlertDialog.Builder builder = new AlertDialog.Builder(activity);
+        ListAdapter adapter = new ArrayAdapter<String>(activity, 0, items) {
+            private ViewHolder holder;
+
+            class ViewHolder {
+                private ImageView icon;
+                private TextView text;
+            }
+
+            @Override
+            public boolean isEnabled(int position) {
+                return false; // don't make it appear clickable
+            }
+
+            public View getView(int position, View convertView, ViewGroup 
parent) {
+                LayoutInflater inflater = activity.getLayoutInflater();
+                if (convertView == null) {
+                    convertView = inflater.inflate(R.layout.item_disambig, 
null);
+                    holder = new ViewHolder();
+                    holder.icon = (ImageView) 
convertView.findViewById(R.id.disambig_icon);
+                    holder.text = (TextView) 
convertView.findViewById(R.id.disambig_text);
+                    convertView.setTag(holder);
+                } else {
+                    // view already defined, retrieve view holder
+                    holder = (ViewHolder) convertView.getTag();
+                }
+
+                holder.text.setText(Html.fromHtml(items[position]));
+                holder.text.setMovementMethod(new 
LinkMovementMethodExt(linkHandler) {
+                    @Override
+                    public boolean onTouchEvent(final TextView widget, final 
Spannable buffer, final MotionEvent event) {
+                        if (event.getAction() == MotionEvent.ACTION_UP && dlg 
!= null) {
+                            dlg.dismiss();
+                        }
+                        return super.onTouchEvent(widget, buffer, event);
+                    }
+                });
+                stripUnderlines(holder.text);
+                app.adjustLinkDrawableToTheme(holder.icon.getDrawable());
+                return convertView;
+            }
+
+            private void stripUnderlines(TextView textView) {
+                Spannable s = (Spannable)textView.getText();
+                URLSpan[] spans = s.getSpans(0, s.length(), URLSpan.class);
+                for (URLSpan span: spans) {
+                    int start = s.getSpanStart(span);
+                    int end = s.getSpanEnd(span);
+                    s.removeSpan(span);
+                    span = new URLSpan(span.getURL()){
+                        @Override
+                        public void updateDrawState(TextPaint ds) {
+                            super.updateDrawState(ds);
+                            ds.setUnderlineText(false);
+                        }
+                    };
+                    s.setSpan(span, start, end, 0);
+                }
+                textView.setText(s);
+            }
+        };
+
+        builder.setAdapter(adapter, null);
+        builder.setTitle(R.string.page_similar_titles);
+        dlg = builder.create();
+        dlg.show();
+    }
+
 }
diff --git a/wikipedia/src/main/java/org/wikipedia/page/PageViewFragment.java 
b/wikipedia/src/main/java/org/wikipedia/page/PageViewFragment.java
index 780f9d0..187bf26 100644
--- a/wikipedia/src/main/java/org/wikipedia/page/PageViewFragment.java
+++ b/wikipedia/src/main/java/org/wikipedia/page/PageViewFragment.java
@@ -223,6 +223,7 @@
             leadSectionPayload.put("title", page.getDisplayTitle());
             leadSectionPayload.put("section", 
page.getSections().get(0).toJSON());
             leadSectionPayload.put("string_page_similar_titles", 
getString(R.string.page_similar_titles));
+            leadSectionPayload.put("string_page_issues", 
getString(R.string.button_page_issues));
 
             bridge.sendMessage("displayLeadSection", leadSectionPayload);
 
@@ -363,7 +364,7 @@
         };
 
         issuesHandler = new IssuesHandler(getActivity(), bridge);
-        disambigHandler = new DisambigHandler(linkHandler, bridge);
+        disambigHandler = new DisambigHandler(getActivity(), linkHandler, 
bridge);
 
         api = 
((WikipediaApp)getActivity().getApplicationContext()).getAPIForSite(title.getSite());
 
diff --git a/www/js/actions.js b/www/js/actions.js
index 51d1f1c..ba39735 100644
--- a/www/js/actions.js
+++ b/www/js/actions.js
@@ -64,8 +64,14 @@
     }
 
     function handleDisambig( sourceNode ) {
-        var title = sourceNode.getAttribute("title");
-        bridge.sendMessage( 'disambigClicked', { "title": title } );
+        var res = [];
+        var hatnotes = sourceNode.parentNode.querySelectorAll( 'div.hatnote' );
+        var i = 0,
+            len = hatnotes.length;
+        for (; i < len; i++) {
+            res.push( hatnotes[i].innerHTML );
+        }
+        bridge.sendMessage( 'disambigClicked', { "hatnotes": res } );
     }
 
     if (sourceNode) {
diff --git a/www/js/disambig.js b/www/js/disambig.js
index 98298a0..57cdb36 100644
--- a/www/js/disambig.js
+++ b/www/js/disambig.js
@@ -2,26 +2,20 @@
 
 transformer.register( 'displayDisambigLink', function( content ) {
     var hatnotes = content.querySelectorAll( "div.hatnote" );
-    var i = 0;
-    for (; i<hatnotes.length; i++) {
-        var el = hatnotes[i];
-        //only care about the first hatnote, and remove all others...
-        if (i === 0) {
-            var links = el.querySelectorAll("a");
-            // use the last link in the hatnote!
-            if (links.length > 0) {
-                var container = document.getElementById("issues_container");
-                var newlink = document.createElement('a');
-                newlink.setAttribute('href', '#disambig');
-                newlink.id = "disambig_button";
-                newlink.className = 'disambig_button';
-                newlink.setAttribute("title", links[links.length - 
1].getAttribute("href"));
-                container.appendChild(newlink);
-                el.parentNode.removeChild(el);
-            }
-        } else {
-            el.parentNode.removeChild(el);
+    if ( hatnotes.length > 0 ) {
+        var container = document.getElementById( "issues_container" );
+        var wrapper = document.createElement( 'div' );
+        var link = document.createElement( 'a' );
+        link.setAttribute( 'href', '#disambig' );
+        link.className = 'disambig_button';
+        link.id = 'disambig_button';
+        wrapper.appendChild( link );
+        var i = 0,
+            len = hatnotes.length;
+        for (; i < len; i++) {
+            wrapper.appendChild( hatnotes[i] );
         }
+        container.appendChild( wrapper );
     }
     return content;
 } );
diff --git a/www/js/issues.js b/www/js/issues.js
index 1db6f17..e4c144a 100644
--- a/www/js/issues.js
+++ b/www/js/issues.js
@@ -9,6 +9,7 @@
         var link = document.createElement( 'a' );
         link.setAttribute( 'href', '#issues' );
         link.className = 'issues_button';
+        link.id = 'issues_button';
         wrapper.appendChild( link );
         el.parentNode.replaceChild( wrapper, el );
         var i = 0,
diff --git a/www/js/sections.js b/www/js/sections.js
index b0f7027..97b79b0 100644
--- a/www/js/sections.js
+++ b/www/js/sections.js
@@ -41,9 +41,14 @@
         document.getElementById( "content" ).removeChild(issuesContainer);
     }
     //update the text of the disambiguation link, if there is one
-    var disambig = document.getElementById( "disambig_button" );
-    if (disambig !== null) {
-        disambig.innerText = payload.string_page_similar_titles;
+    var disambigBtn = document.getElementById( "disambig_button" );
+    if (disambigBtn !== null) {
+        disambigBtn.innerText = payload.string_page_similar_titles;
+    }
+    //update the text of the page-issues link, if there is one
+    var issuesBtn = document.getElementById( "issues_button" );
+    if (issuesBtn !== null) {
+        issuesBtn.innerText = payload.string_page_issues;
     }
 
     document.getElementById( "content" ).appendChild( content );

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

Gerrit-MessageType: newchange
Gerrit-Change-Id: Idfc1a57b3d58f4eae608cd3dbfb7d9030fc4a4f2
Gerrit-PatchSet: 1
Gerrit-Project: apps/android/wikipedia
Gerrit-Branch: master
Gerrit-Owner: Dbrant <[email protected]>

_______________________________________________
MediaWiki-commits mailing list
[email protected]
https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits

Reply via email to