Tpt has uploaded a new change for review.

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


Change subject: Make code site relative
......................................................................

Make code site relative

Allows to open and brows non default site pages

Change-Id: I45e1526e9a6a34c59e1a98dc64c908aa99bb0fb2
---
M wikipedia/src/main/java/org/wikimedia/wikipedia/LinkHandler.java
M wikipedia/src/main/java/org/wikimedia/wikipedia/PageViewFragment.java
M wikipedia/src/main/java/org/wikimedia/wikipedia/WikipediaApp.java
3 files changed, 12 insertions(+), 11 deletions(-)


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

diff --git a/wikipedia/src/main/java/org/wikimedia/wikipedia/LinkHandler.java 
b/wikipedia/src/main/java/org/wikimedia/wikipedia/LinkHandler.java
index b71a1e1..6083ceb 100644
--- a/wikipedia/src/main/java/org/wikimedia/wikipedia/LinkHandler.java
+++ b/wikipedia/src/main/java/org/wikimedia/wikipedia/LinkHandler.java
@@ -16,13 +16,13 @@
     private final Context context;
     private final CommunicationBridge bridge;
     private final Bus bus;
-    private final WikipediaApp app;
+    private final Site currentSite;
 
-    public LinkHandler(Context context, CommunicationBridge bridge) {
+    public LinkHandler(Context context, CommunicationBridge bridge, Site 
currentSite) {
         this.context = context;
         this.bridge = bridge;
-        this.app = ((WikipediaApp)context.getApplicationContext());
-        this.bus = app.getBus();
+        this.bus = ((WikipediaApp)context.getApplicationContext()).getBus();
+        this.currentSite = currentSite;
 
         this.bridge.addListener("linkClicked", this);
     }
@@ -45,7 +45,7 @@
             Log.d("Wikipedia", "Link clicked was " + href);
             if (href.startsWith("/wiki/")) {
                 // TODO: Handle fragments
-                bus.post(new 
NewWikiPageNavigationEvent(app.getPrimarySite().titleForInternalLink(href)));
+                bus.post(new 
NewWikiPageNavigationEvent(currentSite.titleForInternalLink(href)));
             } else {
                 // Assume everything else is an external link... for now!
                 handleExternalLink(href);
diff --git 
a/wikipedia/src/main/java/org/wikimedia/wikipedia/PageViewFragment.java 
b/wikipedia/src/main/java/org/wikimedia/wikipedia/PageViewFragment.java
index 38d6eb5..ed20533 100644
--- a/wikipedia/src/main/java/org/wikimedia/wikipedia/PageViewFragment.java
+++ b/wikipedia/src/main/java/org/wikimedia/wikipedia/PageViewFragment.java
@@ -83,7 +83,7 @@
         webView.getSettings().setDisplayZoomControls(false);
 
         bridge = new CommunicationBridge(webView, 
"file:///android_asset/index.html");
-        linkHandler = new LinkHandler(getActivity(), bridge);
+        linkHandler = new LinkHandler(getActivity(), bridge, title.getSite());
 
         if (savedInstanceState != null && 
savedInstanceState.containsKey(KEY_TITLE)) {
             title = savedInstanceState.getParcelable(KEY_TITLE);
@@ -96,7 +96,7 @@
         }
 
         if (page == null) {
-            Api api = 
((WikipediaApp)getActivity().getApplicationContext()).getPrimarySiteAPI();
+            Api api = 
((WikipediaApp)getActivity().getApplicationContext()).getAPIForSite(title.getSite());
             new PageFetchTask(api, title) {
                 @Override
                 public void onFinish(Page result) {
diff --git a/wikipedia/src/main/java/org/wikimedia/wikipedia/WikipediaApp.java 
b/wikipedia/src/main/java/org/wikimedia/wikipedia/WikipediaApp.java
index 621d9d9..ad071b5 100644
--- a/wikipedia/src/main/java/org/wikimedia/wikipedia/WikipediaApp.java
+++ b/wikipedia/src/main/java/org/wikimedia/wikipedia/WikipediaApp.java
@@ -27,10 +27,6 @@
         return bus;
     }
 
-    public Api getPrimarySiteAPI() {
-        return getAPIForSite(getPrimarySite());
-    }
-
     private HashMap<String, Api> apis = new HashMap<String, Api>();
     public Api getAPIForSite(Site site) {
         if (!apis.containsKey(site.getDomain()))  {
@@ -40,6 +36,11 @@
     }
 
     private Site primarySite;
+
+    /**
+     * Default site of the application
+     * You should use PageTitle.getSite() to get the currently browsed site
+     */
     public Site getPrimarySite() {
         if (primarySite == null) {
             // FIXME: Actually read from SharedPreferences or something

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

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

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

Reply via email to