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
