Brion VIBBER has submitted this change and it was merged.

Change subject: Handle URLEncoded internal page links properly
......................................................................


Handle URLEncoded internal page links properly

Change-Id: I5b687e11c503df447e9e726a5858a816f1997259
---
M wikipedia/src/main/java/org/wikipedia/Site.java
1 file changed, 10 insertions(+), 3 deletions(-)

Approvals:
  Brion VIBBER: Verified; Looks good to me, approved



diff --git a/wikipedia/src/main/java/org/wikipedia/Site.java 
b/wikipedia/src/main/java/org/wikipedia/Site.java
index 3149094..fe2ab0b 100644
--- a/wikipedia/src/main/java/org/wikipedia/Site.java
+++ b/wikipedia/src/main/java/org/wikipedia/Site.java
@@ -3,6 +3,8 @@
 import android.os.Parcel;
 import android.os.Parcelable;
 
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
 import java.util.regex.*;
 
 /**
@@ -77,9 +79,14 @@
         //TODO: Handle fragments better!
         Matcher matches = internalLinkMatchPattern.matcher(internalLink);
         if (matches.matches()) {
-            String namespace = matches.group(1);
-            String pageText = matches.group(2);
-            return new PageTitle(namespace, pageText, this);
+            try {
+                String namespace = matches.group(1) != null ? 
URLDecoder.decode(matches.group(1), "utf-8") : null;
+                String pageText = URLDecoder.decode(matches.group(2), "utf-8");
+                return new PageTitle(namespace, pageText, this);
+            } catch (UnsupportedEncodingException e) {
+                // NOT HAPPENING! JESUS CHRIST JAVA!
+                throw new RuntimeException(e);
+            }
         } else {
             throw new RuntimeException("Did not  match internalLinkPattern: " 
+ internalLink);
         }

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

Gerrit-MessageType: merged
Gerrit-Change-Id: I5b687e11c503df447e9e726a5858a816f1997259
Gerrit-PatchSet: 2
Gerrit-Project: apps/android/wikipedia
Gerrit-Branch: master
Gerrit-Owner: Yuvipanda <yuvipa...@gmail.com>
Gerrit-Reviewer: Brion VIBBER <br...@wikimedia.org>
Gerrit-Reviewer: Yuvipanda <yuvipa...@gmail.com>

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

Reply via email to