BearND has uploaded a new change for review.

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

Change subject: Force locale for machine strings
......................................................................

Force locale for machine strings

when building URIs, SQL statements, SharedPref keys
Part 2 of https://gerrit.wikimedia.org/r/#/c/141964/

Change-Id: I81b232515c2c322c22a02cba0ac838e8550d133c
---
M wikipedia/src/main/java/org/wikipedia/PageTitle.java
M wikipedia/src/main/java/org/wikipedia/SharedPreferenceCookieManager.java
M wikipedia/src/main/java/org/wikipedia/WikipediaApp.java
M wikipedia/src/main/java/org/wikipedia/bridge/StyleFetcherTask.java
M wikipedia/src/main/java/org/wikipedia/editing/EditTokenStorage.java
M wikipedia/src/main/java/org/wikipedia/history/HistoryEntryContentProvider.java
M wikipedia/src/main/java/org/wikipedia/page/LinkHandler.java
M wikipedia/src/main/java/org/wikipedia/savedpages/SavedPageContentProvider.java
8 files changed, 28 insertions(+), 16 deletions(-)


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

diff --git a/wikipedia/src/main/java/org/wikipedia/PageTitle.java 
b/wikipedia/src/main/java/org/wikipedia/PageTitle.java
index d9ee782..42f6bc3 100644
--- a/wikipedia/src/main/java/org/wikipedia/PageTitle.java
+++ b/wikipedia/src/main/java/org/wikipedia/PageTitle.java
@@ -12,6 +12,7 @@
 import java.net.URLDecoder;
 import java.net.URLEncoder;
 import java.util.Arrays;
+import java.util.Locale;
 
 /**
  * Immutable value object representing the text of a page.
@@ -113,7 +114,7 @@
 
     private String getUriForDomain(String domain) {
         try {
-            return String.format(
+            return String.format(Locale.ROOT,
                     "%1$s://%2$s/wiki/%3$s%4$s",
                     WikipediaApp.PROTOCOL,
                     domain,
@@ -136,7 +137,7 @@
 
     public String getUriForAction(String action) {
         try {
-            return String.format(
+            return String.format(Locale.ROOT,
                     "%1$s://%2$s/w/index.php?title=%3$s&action=%4$s",
                     WikipediaApp.PROTOCOL,
                     getSite().getDomain(),
diff --git 
a/wikipedia/src/main/java/org/wikipedia/SharedPreferenceCookieManager.java 
b/wikipedia/src/main/java/org/wikipedia/SharedPreferenceCookieManager.java
index 1c61680..6335cbd 100644
--- a/wikipedia/src/main/java/org/wikipedia/SharedPreferenceCookieManager.java
+++ b/wikipedia/src/main/java/org/wikipedia/SharedPreferenceCookieManager.java
@@ -14,6 +14,7 @@
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.List;
+import java.util.Locale;
 import java.util.Map;
 
 public class SharedPreferenceCookieManager extends CookieManager {
@@ -25,7 +26,7 @@
         this.prefs = prefs;
         List<String> domains = 
makeList(prefs.getString(WikipediaApp.PREFERENCE_COOKIE_DOMAINS, ""));
         for (String domain: domains) {
-            String key = 
String.format(WikipediaApp.PREFERENCE_COOKIES_FOR_DOMAINS, domain);
+            String key = String.format(Locale.ROOT, 
WikipediaApp.PREFERENCE_COOKIES_FOR_DOMAINS, domain);
             String cookies = prefs.getString(key, "");
             cookieJar.put(domain, makeCookieMap(makeList(cookies)));
         }
@@ -93,7 +94,7 @@
         editor.putString(WikipediaApp.PREFERENCE_COOKIE_DOMAINS, 
makeString(cookieJar.keySet()));
 
         for (String domain : domainsModified) {
-            String prefKey = 
String.format(WikipediaApp.PREFERENCE_COOKIES_FOR_DOMAINS, domain);
+            String prefKey = String.format(Locale.ROOT, 
WikipediaApp.PREFERENCE_COOKIES_FOR_DOMAINS, domain);
             editor.putString(prefKey, 
makeString(makeCookieList(cookieJar.get(domain))));
 
         }
@@ -109,7 +110,7 @@
     public void clearAllCookies() {
         SharedPreferences.Editor editor = prefs.edit();
         for (String domain: cookieJar.keySet()) {
-            String key = 
String.format(WikipediaApp.PREFERENCE_COOKIES_FOR_DOMAINS, domain);
+            String key = String.format(Locale.ROOT, 
WikipediaApp.PREFERENCE_COOKIES_FOR_DOMAINS, domain);
             editor.remove(key);
         }
         editor.remove(WikipediaApp.PREFERENCE_COOKIE_DOMAINS);
diff --git a/wikipedia/src/main/java/org/wikipedia/WikipediaApp.java 
b/wikipedia/src/main/java/org/wikipedia/WikipediaApp.java
index afa58ca..9843948 100644
--- a/wikipedia/src/main/java/org/wikipedia/WikipediaApp.java
+++ b/wikipedia/src/main/java/org/wikipedia/WikipediaApp.java
@@ -146,7 +146,7 @@
     private String userAgent;
     public String getUserAgent() {
         if (userAgent == null) {
-            userAgent = String.format("WikipediaApp/%s (Android %s; %s)",
+            userAgent = String.format(Locale.ROOT, "WikipediaApp/%s (Android 
%s; %s)",
                     WikipediaApp.APP_VERSION_STRING,
                     Build.VERSION.RELEASE,
                     getString(R.string.device_type
diff --git a/wikipedia/src/main/java/org/wikipedia/bridge/StyleFetcherTask.java 
b/wikipedia/src/main/java/org/wikipedia/bridge/StyleFetcherTask.java
index f13c314..9a34da3 100644
--- a/wikipedia/src/main/java/org/wikipedia/bridge/StyleFetcherTask.java
+++ b/wikipedia/src/main/java/org/wikipedia/bridge/StyleFetcherTask.java
@@ -16,6 +16,7 @@
 import java.io.UnsupportedEncodingException;
 import java.net.URLEncoder;
 import java.util.Date;
+import java.util.Locale;
 
 public class StyleFetcherTask extends RecurringTask {
 
@@ -40,7 +41,7 @@
     private String getRemoteURLFor(String modules) {
         Site site = ((WikipediaApp) 
context.getApplicationContext()).getPrimarySite();
         try {
-            return String.format(
+            return String.format(Locale.ROOT,
                     
"https://bits.wikimedia.org/%s.wikipedia.org/load.php?debug=false&lang=en&modules=%s&only=styles&skin=vector";,
                     site.getLanguage(),
                     URLEncoder.encode(modules, "utf-8")
diff --git 
a/wikipedia/src/main/java/org/wikipedia/editing/EditTokenStorage.java 
b/wikipedia/src/main/java/org/wikipedia/editing/EditTokenStorage.java
index 1ba5927..b7b5abc 100644
--- a/wikipedia/src/main/java/org/wikipedia/editing/EditTokenStorage.java
+++ b/wikipedia/src/main/java/org/wikipedia/editing/EditTokenStorage.java
@@ -11,6 +11,7 @@
 import java.util.Arrays;
 import java.util.HashMap;
 import java.util.List;
+import java.util.Locale;
 
 public class EditTokenStorage {
     private final HashMap<String, String> tokenJar = new HashMap<String, 
String>();
@@ -26,7 +27,7 @@
         this.prefs = PreferenceManager.getDefaultSharedPreferences(context);
         List<String> wikis = 
makeList(prefs.getString(WikipediaApp.PREFERENCE_EDITTOKEN_WIKIS, ""));
         for (String wiki: wikis) {
-            String key = 
String.format(WikipediaApp.PREFERENCE_EDITTOKEN_FOR_WIKI, wiki);
+            String key = String.format(Locale.ROOT, 
WikipediaApp.PREFERENCE_EDITTOKEN_FOR_WIKI, wiki);
             tokenJar.put(wiki, prefs.getString(key, null));
         }
     }
@@ -53,7 +54,7 @@
     public void clearAllTokens() {
         SharedPreferences.Editor editor = prefs.edit();
         for (String domain: tokenJar.keySet()) {
-            String key = 
String.format(WikipediaApp.PREFERENCE_EDITTOKEN_FOR_WIKI, domain);
+            String key = String.format(Locale.ROOT, 
WikipediaApp.PREFERENCE_EDITTOKEN_FOR_WIKI, domain);
             editor.remove(key);
         }
         editor.remove(WikipediaApp.PREFERENCE_EDITTOKEN_WIKIS);
@@ -64,7 +65,7 @@
     private void updatePrefs(String wiki, String token) {
         tokenJar.put(wiki, token);
         String wikisList = makeString(tokenJar.keySet());
-        String wikiKey = 
String.format(WikipediaApp.PREFERENCE_EDITTOKEN_FOR_WIKI, wiki);
+        String wikiKey = String.format(Locale.ROOT, 
WikipediaApp.PREFERENCE_EDITTOKEN_FOR_WIKI, wiki);
         prefs.edit()
                 .putString(WikipediaApp.PREFERENCE_EDITTOKEN_WIKIS, wikisList)
                 .putString(wikiKey, token)
diff --git 
a/wikipedia/src/main/java/org/wikipedia/history/HistoryEntryContentProvider.java
 
b/wikipedia/src/main/java/org/wikipedia/history/HistoryEntryContentProvider.java
index 4401187..f507256 100644
--- 
a/wikipedia/src/main/java/org/wikipedia/history/HistoryEntryContentProvider.java
+++ 
b/wikipedia/src/main/java/org/wikipedia/history/HistoryEntryContentProvider.java
@@ -9,6 +9,8 @@
 import org.wikipedia.data.SQLiteContentProvider;
 import org.wikipedia.pageimages.PageImage;
 
+import java.util.Locale;
+
 public class HistoryEntryContentProvider extends 
SQLiteContentProvider<HistoryEntry> {
     private static final int MATCH_WITH_PAGEIMAGES =  64;
 
@@ -45,9 +47,10 @@
         switch (uriType) {
             case MATCH_WITH_PAGEIMAGES:
                 queryBuilder.setTables(
-                        String.format("%1$s LEFT OUTER JOIN %2$s ON (%1$s.site 
= %2$s.site and %1$s.title = %2$s.title)",
-                                
HistoryEntry.PERSISTANCE_HELPER.getTableName(), 
PageImage.PERSISTANCE_HELPER.getTableName()
-                                )
+                        String.format(Locale.ROOT,
+                                      "%1$s LEFT OUTER JOIN %2$s ON (%1$s.site 
= %2$s.site and %1$s.title = %2$s.title)",
+                                      
HistoryEntry.PERSISTANCE_HELPER.getTableName(),
+                                      
PageImage.PERSISTANCE_HELPER.getTableName())
                 );
                 String[] actualProjection = new String[] {
                         "history._id",
diff --git a/wikipedia/src/main/java/org/wikipedia/page/LinkHandler.java 
b/wikipedia/src/main/java/org/wikipedia/page/LinkHandler.java
index ad9ad11..42c5dbf 100644
--- a/wikipedia/src/main/java/org/wikipedia/page/LinkHandler.java
+++ b/wikipedia/src/main/java/org/wikipedia/page/LinkHandler.java
@@ -13,6 +13,7 @@
 
 import java.io.UnsupportedEncodingException;
 import java.net.URLDecoder;
+import java.util.Locale;
 
 /**
  * Handles any html links coming from a {@link 
org.wikipedia.page.PageViewFragment}
@@ -56,7 +57,7 @@
                 } else {
                     // if it's a /w/ URI, turn it into a full URI and go 
external
                     if (href.startsWith("/w/")) {
-                        href = String.format("%1$s://%2$s", 
WikipediaApp.PROTOCOL, currentSite.getDomain()) + href;
+                        href = String.format(Locale.ROOT, "%1$s://%2$s%3$s", 
WikipediaApp.PROTOCOL, currentSite.getDomain(), href);
                     }
                     Utils.handleExternalLink(context, Uri.parse(href));
                 }
diff --git 
a/wikipedia/src/main/java/org/wikipedia/savedpages/SavedPageContentProvider.java
 
b/wikipedia/src/main/java/org/wikipedia/savedpages/SavedPageContentProvider.java
index f65a923..7b4dbd3 100644
--- 
a/wikipedia/src/main/java/org/wikipedia/savedpages/SavedPageContentProvider.java
+++ 
b/wikipedia/src/main/java/org/wikipedia/savedpages/SavedPageContentProvider.java
@@ -9,6 +9,8 @@
 import org.wikipedia.data.SQLiteContentProvider;
 import org.wikipedia.pageimages.PageImage;
 
+import java.util.Locale;
+
 public class SavedPageContentProvider extends SQLiteContentProvider<SavedPage> 
{
     private static final int MATCH_WITH_PAGEIMAGES =  64;
 
@@ -46,8 +48,10 @@
         switch (uriType) {
             case MATCH_WITH_PAGEIMAGES:
                 queryBuilder.setTables(
-                        String.format("%1$s LEFT OUTER JOIN %2$s ON (%1$s.site 
= %2$s.site and %1$s.title = %2$s.title)",
-                                SavedPage.PERSISTANCE_HELPER.getTableName(), 
PageImage.PERSISTANCE_HELPER.getTableName()
+                        String.format(Locale.ROOT,
+                                      "%1$s LEFT OUTER JOIN %2$s ON (%1$s.site 
= %2$s.site and %1$s.title = %2$s.title)",
+                                      
SavedPage.PERSISTANCE_HELPER.getTableName(),
+                                      
PageImage.PERSISTANCE_HELPER.getTableName()
                                 )
                 );
                 String[] actualProjection = new String[] {

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

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

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

Reply via email to