BearND has uploaded a new change for review.
https://gerrit.wikimedia.org/r/147368
Change subject: Codestyle: Category Design (some in App)
......................................................................
Codestyle: Category Design (some in App)
Refactored constants for animations and preference keys.
Introduced new class PreferenceKeys but tried to keep the
refactoring step small and manageable.
Change-Id: I0961efffac399f7f574d5b50c0c169abab915862
---
M wikipedia/res/values/preference_keys.xml
M wikipedia/src/main/java/org/wikipedia/RemoteConfig.java
M wikipedia/src/main/java/org/wikipedia/SharedPreferenceCookieManager.java
M wikipedia/src/main/java/org/wikipedia/Utils.java
M wikipedia/src/main/java/org/wikipedia/ViewAnimations.java
M wikipedia/src/main/java/org/wikipedia/WikipediaApp.java
M wikipedia/src/main/java/org/wikipedia/analytics/Funnel.java
M wikipedia/src/main/java/org/wikipedia/bridge/StyleFetcherTask.java
M wikipedia/src/main/java/org/wikipedia/bridge/StyleLoader.java
M wikipedia/src/main/java/org/wikipedia/editing/EditTokenStorage.java
M wikipedia/src/main/java/org/wikipedia/networking/MccMncStateHandler.java
M wikipedia/src/main/java/org/wikipedia/onboarding/OnboardingActivity.java
M wikipedia/src/main/java/org/wikipedia/page/PageActivity.java
A wikipedia/src/main/java/org/wikipedia/settings/PrefKeys.java
M wikipedia/src/main/java/org/wikipedia/settings/SettingsActivity.java
15 files changed, 164 insertions(+), 80 deletions(-)
git pull ssh://gerrit.wikimedia.org:29418/apps/android/wikipedia
refs/changes/68/147368/1
diff --git a/wikipedia/res/values/preference_keys.xml
b/wikipedia/res/values/preference_keys.xml
index 501b7aa..34d2dcc 100644
--- a/wikipedia/res/values/preference_keys.xml
+++ b/wikipedia/res/values/preference_keys.xml
@@ -6,7 +6,7 @@
<string name="preference_edittoken_wikis">edittoken_wikis</string>
<string
name="preference_edittoken_for_wiki">edittoken_for_wiki_%1$s</string>
<string
name="preference_key_zero_interstitial">zero_warn_when_leaving</string>
- <string name="preference_key_zero_devmode">zero_dev_option_on</string>
+ <!--<string
name="preference_key_zero_devmode">zero_dev_option_on</string>-->
<string name="preference_key_remote_config">remote_config</string>
<string
name="preference_key_eventlogging_opt_in">eventlogging_opt_in</string>
<string
name="preference_key_styles_last_updated">styles_last_updated</string>
@@ -17,4 +17,4 @@
<string name="preference_onboard">onboard</string>
<string name="preference_text_size_multiplier">textSizeMultiplier</string>
<string name="preference_color_theme">colorTheme</string>
-</resources>
\ No newline at end of file
+</resources>
diff --git a/wikipedia/src/main/java/org/wikipedia/RemoteConfig.java
b/wikipedia/src/main/java/org/wikipedia/RemoteConfig.java
index 837c6a0..0ebfc12 100644
--- a/wikipedia/src/main/java/org/wikipedia/RemoteConfig.java
+++ b/wikipedia/src/main/java/org/wikipedia/RemoteConfig.java
@@ -3,6 +3,7 @@
import android.content.SharedPreferences;
import org.json.JSONException;
import org.json.JSONObject;
+import org.wikipedia.settings.PrefKeys;
/**
* Store for config values that are retreived from a server,
@@ -20,7 +21,7 @@
public void updateConfig(JSONObject newConfig) {
prefs.edit()
- .putString(WikipediaApp.PREFERENCE_REMOTE_CONFIG,
newConfig.toString())
+ .putString(PrefKeys.getRemoteConfig(), newConfig.toString())
.commit();
curConfig = newConfig;
}
@@ -29,7 +30,7 @@
if (curConfig == null) {
try {
// If there's no pref set, just give back the empty JSON Object
- curConfig = new
JSONObject(prefs.getString(WikipediaApp.PREFERENCE_REMOTE_CONFIG, "{}"));
+ curConfig = new
JSONObject(prefs.getString(PrefKeys.getRemoteConfig(), "{}"));
} catch (JSONException e) {
// This shouldn't be happening, and if it does I'd like a
crash report
throw new RuntimeException(e);
diff --git
a/wikipedia/src/main/java/org/wikipedia/SharedPreferenceCookieManager.java
b/wikipedia/src/main/java/org/wikipedia/SharedPreferenceCookieManager.java
index 1c61680..8995228 100644
--- a/wikipedia/src/main/java/org/wikipedia/SharedPreferenceCookieManager.java
+++ b/wikipedia/src/main/java/org/wikipedia/SharedPreferenceCookieManager.java
@@ -2,6 +2,7 @@
import android.content.SharedPreferences;
import android.text.TextUtils;
+import org.wikipedia.settings.PrefKeys;
import java.io.IOException;
import java.net.CookieManager;
@@ -23,9 +24,9 @@
public SharedPreferenceCookieManager(SharedPreferences prefs) {
this.prefs = prefs;
- List<String> domains =
makeList(prefs.getString(WikipediaApp.PREFERENCE_COOKIE_DOMAINS, ""));
+ List<String> domains =
makeList(prefs.getString(PrefKeys.getCookieDomainsKey(), ""));
for (String domain: domains) {
- String key =
String.format(WikipediaApp.PREFERENCE_COOKIES_FOR_DOMAINS, domain);
+ String key = String.format(PrefKeys.getCookiesForDomain(), domain);
String cookies = prefs.getString(key, "");
cookieJar.put(domain, makeCookieMap(makeList(cookies)));
}
@@ -90,10 +91,10 @@
}
SharedPreferences.Editor editor = prefs.edit();
- editor.putString(WikipediaApp.PREFERENCE_COOKIE_DOMAINS,
makeString(cookieJar.keySet()));
+ editor.putString(PrefKeys.getCookieDomainsKey(),
makeString(cookieJar.keySet()));
for (String domain : domainsModified) {
- String prefKey =
String.format(WikipediaApp.PREFERENCE_COOKIES_FOR_DOMAINS, domain);
+ String prefKey = String.format(PrefKeys.getCookiesForDomain(),
domain);
editor.putString(prefKey,
makeString(makeCookieList(cookieJar.get(domain))));
}
@@ -109,10 +110,10 @@
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(PrefKeys.getCookiesForDomain(), domain);
editor.remove(key);
}
- editor.remove(WikipediaApp.PREFERENCE_COOKIE_DOMAINS);
+ editor.remove(PrefKeys.getCookieDomainsKey());
editor.commit();
cookieJar.clear();
}
diff --git a/wikipedia/src/main/java/org/wikipedia/Utils.java
b/wikipedia/src/main/java/org/wikipedia/Utils.java
index 65b5425..523d377 100644
--- a/wikipedia/src/main/java/org/wikipedia/Utils.java
+++ b/wikipedia/src/main/java/org/wikipedia/Utils.java
@@ -35,6 +35,7 @@
import org.wikipedia.bridge.CommunicationBridge;
import org.wikipedia.events.WikipediaZeroInterstitialEvent;
import org.wikipedia.events.WikipediaZeroStateChangeEvent;
+import org.wikipedia.settings.PrefKeys;
import org.wikipedia.zero.WikipediaZeroTask;
import java.io.BufferedReader;
@@ -403,7 +404,7 @@
public static void handleExternalLink(final Context context, final Uri
uri) {
if (WikipediaApp.isWikipediaZeroDevmodeOn() &&
WikipediaApp.getWikipediaZeroDisposition()) {
SharedPreferences sharedPref =
PreferenceManager.getDefaultSharedPreferences(context);
- if
(sharedPref.getBoolean(WikipediaApp.PREFERENCE_ZERO_INTERSTITIAL, true)) {
+ if (sharedPref.getBoolean(PrefKeys.getZeroInterstitial(), true)) {
WikipediaApp.getInstance().getBus().post(new
WikipediaZeroInterstitialEvent(uri));
} else {
Utils.visitInExternalBrowser(context, uri);
diff --git a/wikipedia/src/main/java/org/wikipedia/ViewAnimations.java
b/wikipedia/src/main/java/org/wikipedia/ViewAnimations.java
index a10c8c9..e2dd558 100644
--- a/wikipedia/src/main/java/org/wikipedia/ViewAnimations.java
+++ b/wikipedia/src/main/java/org/wikipedia/ViewAnimations.java
@@ -1,5 +1,6 @@
package org.wikipedia;
+import android.content.res.Resources;
import android.os.Build;
import android.view.View;
import com.nineoldandroids.animation.Animator;
@@ -12,8 +13,15 @@
* Contains convenient methods for performing various animations on Views.
*/
public final class ViewAnimations {
+ private static long SHORT_ANIMATION_DURATION;
+ private static long MEDIUM_ANIMATION_DURATION;
private ViewAnimations() { }
+
+ public static void init(Resources resources) {
+ SHORT_ANIMATION_DURATION =
resources.getInteger(android.R.integer.config_shortAnimTime);
+ MEDIUM_ANIMATION_DURATION =
resources.getInteger(android.R.integer.config_mediumAnimTime);
+ }
/**
* Crossfades two views, one of which is assumed to be currently visible
@@ -44,7 +52,7 @@
view.setVisibility(View.VISIBLE);
animate(view)
.alpha(1.0f)
- .setDuration(WikipediaApp.MEDIUM_ANIMATION_DURATION)
+ .setDuration(MEDIUM_ANIMATION_DURATION)
.setListener(new AnimatorListenerAdapter() {
private boolean wasCanceled = false;
@@ -88,7 +96,7 @@
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
animate(view)
.alpha(0f)
- .setDuration(WikipediaApp.MEDIUM_ANIMATION_DURATION)
+ .setDuration(MEDIUM_ANIMATION_DURATION)
.setListener(new AnimatorListenerAdapter() {
private boolean wasCanceled = false;
@@ -127,7 +135,7 @@
public static void slideIn(final View view, AnimatorListenerAdapter
listener) {
animate(view)
.translationX(0)
- .setDuration(WikipediaApp.SHORT_ANIMATION_DURATION)
+ .setDuration(SHORT_ANIMATION_DURATION)
.setListener(listener != null ? listener : new
AnimatorListenerAdapter() {
@Override
public void onAnimationStart(Animator animation) {
@@ -146,7 +154,7 @@
public static void slideOutLeft(final View view, AnimatorListenerAdapter
listener) {
animate(view)
.translationX(-view.getWidth())
- .setDuration(WikipediaApp.SHORT_ANIMATION_DURATION)
+ .setDuration(SHORT_ANIMATION_DURATION)
.setListener(listener != null ? listener : new
AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator animation) {
@@ -165,7 +173,7 @@
public static void slideOutRight(final View view, AnimatorListenerAdapter
listener) {
animate(view)
.translationX(view.getWidth())
- .setDuration(WikipediaApp.SHORT_ANIMATION_DURATION)
+ .setDuration(SHORT_ANIMATION_DURATION)
.setListener(listener != null ? listener : new
AnimatorListenerAdapter() {
@Override
public void onAnimationEnd(Animator animation) {
@@ -186,8 +194,7 @@
*/
public static void ensureTranslationY(View view, int translation) {
if (ViewHelper.getTranslationY(view) != translation) {
-
animate(view).translationY(translation).setDuration(WikipediaApp.SHORT_ANIMATION_DURATION).start();
+
animate(view).translationY(translation).setDuration(SHORT_ANIMATION_DURATION).start();
}
}
-
}
diff --git a/wikipedia/src/main/java/org/wikipedia/WikipediaApp.java
b/wikipedia/src/main/java/org/wikipedia/WikipediaApp.java
index 1c050d1..17f4c7a 100644
--- a/wikipedia/src/main/java/org/wikipedia/WikipediaApp.java
+++ b/wikipedia/src/main/java/org/wikipedia/WikipediaApp.java
@@ -4,6 +4,7 @@
import android.content.IntentFilter;
import android.content.SharedPreferences;
import android.content.pm.PackageManager;
+import android.content.res.Resources;
import android.graphics.Color;
import android.graphics.PorterDuff;
import android.graphics.drawable.Drawable;
@@ -37,6 +38,7 @@
import org.wikipedia.pageimages.PageImagePersister;
import org.wikipedia.savedpages.SavedPage;
import org.wikipedia.savedpages.SavedPagePersister;
+import org.wikipedia.settings.PrefKeys;
import java.util.HashMap;
import java.util.Locale;
@@ -51,23 +53,6 @@
resDialogCommentPrompt = R.string.acra_report_dialog_comment,
mailTo = "[email protected]")
public class WikipediaApp extends Application {
- public static long SHORT_ANIMATION_DURATION;
- public static long MEDIUM_ANIMATION_DURATION;
-
- public static String PREFERENCE_CONTENT_LANGUAGE;
- public static String PREFERENCE_COOKIE_DOMAINS;
- public static String PREFERENCE_COOKIES_FOR_DOMAINS;
- public static String PREFERENCE_EDITTOKEN_WIKIS;
- public static String PREFERENCE_EDITTOKEN_FOR_WIKI;
- public static String PREFERENCE_ZERO_INTERSTITIAL;
- public static String PREFERENCE_ZERO_DEVMODE;
- public static String PREFERENCE_REMOTE_CONFIG;
- public static String PREFERENCE_EVENTLOGGING_ENABLED;
- public static String PREFERENCE_STYLES_LAST_UPDATED;
- public static String PREFERENCE_READING_APP_INSTALL_ID;
- public static String PREFERENCE_ONBOARD;
- public static String PREFERENCE_TEXT_SIZE_MULTIPLIER;
- public static String PREFERENCE_COLOR_THEME;
public static float SCREEN_DENSITY;
@@ -116,24 +101,11 @@
bus = new Bus();
- SHORT_ANIMATION_DURATION =
getResources().getInteger(android.R.integer.config_shortAnimTime);
- MEDIUM_ANIMATION_DURATION =
getResources().getInteger(android.R.integer.config_mediumAnimTime);
- SCREEN_DENSITY = getResources().getDisplayMetrics().density;
+ final Resources resources = getResources();
+ ViewAnimations.init(resources);
+ SCREEN_DENSITY = resources.getDisplayMetrics().density;
- PREFERENCE_CONTENT_LANGUAGE =
getResources().getString(R.string.preference_key_language);
- PREFERENCE_COOKIE_DOMAINS =
getString(R.string.preference_cookie_domains);
- PREFERENCE_COOKIES_FOR_DOMAINS =
getString(R.string.preference_cookies_for_domain);
- PREFERENCE_EDITTOKEN_WIKIS =
getString(R.string.preference_edittoken_wikis);
- PREFERENCE_EDITTOKEN_FOR_WIKI =
getString(R.string.preference_edittoken_for_wiki);
- PREFERENCE_ZERO_INTERSTITIAL =
getResources().getString(R.string.preference_key_zero_interstitial);
- PREFERENCE_ZERO_DEVMODE =
getResources().getString(R.string.preference_key_zero_devmode);
- PREFERENCE_REMOTE_CONFIG =
getString(R.string.preference_key_remote_config);
- PREFERENCE_EVENTLOGGING_ENABLED =
getString(R.string.preference_key_eventlogging_opt_in);
- PREFERENCE_STYLES_LAST_UPDATED =
getString(R.string.preference_key_styles_last_updated);
- PREFERENCE_READING_APP_INSTALL_ID =
getString(R.string.preference_reading_app_install_id);
- PREFERENCE_ONBOARD = getString(R.string.preference_onboard);
- PREFERENCE_TEXT_SIZE_MULTIPLIER =
getString(R.string.preference_text_size_multiplier);
- PREFERENCE_COLOR_THEME = getString(R.string.preference_color_theme);
+ PrefKeys.initPreferenceKeys(resources);
PROTOCOL = "https"; // Move this to a preference or something later on
@@ -221,7 +193,7 @@
public String getPrimaryLanguage() {
if (primaryLanguage == null) {
SharedPreferences prefs =
PreferenceManager.getDefaultSharedPreferences(this);
- primaryLanguage = prefs.getString(PREFERENCE_CONTENT_LANGUAGE,
null);
+ primaryLanguage =
prefs.getString(PrefKeys.getContentLanguageKey(), null);
if (primaryLanguage == null) {
// No preference set!
String wikiCode =
Utils.langCodeToWikiLang(Locale.getDefault().getLanguage());
@@ -237,7 +209,7 @@
public void setPrimaryLanguage(String language) {
primaryLanguage = language;
SharedPreferences prefs =
PreferenceManager.getDefaultSharedPreferences(this);
- prefs.edit().putString(PREFERENCE_CONTENT_LANGUAGE, language).commit();
+ prefs.edit().putString(PrefKeys.getContentLanguageKey(),
language).commit();
primarySite = null;
}
@@ -369,11 +341,11 @@
private String appInstallReadActionID;
public String getAppInstallReadActionID() {
SharedPreferences prefs =
PreferenceManager.getDefaultSharedPreferences(this);
- if (prefs.contains(PREFERENCE_READING_APP_INSTALL_ID)) {
- appInstallReadActionID =
prefs.getString(PREFERENCE_READING_APP_INSTALL_ID, null);
+ if (prefs.contains(PrefKeys.getReadingAppInstallId())) {
+ appInstallReadActionID =
prefs.getString(PrefKeys.getReadingAppInstallId(), null);
} else {
appInstallReadActionID = UUID.randomUUID().toString();
- prefs.edit().putString(PREFERENCE_READING_APP_INSTALL_ID,
appInstallReadActionID).commit();
+ prefs.edit().putString(PrefKeys.getReadingAppInstallId(),
appInstallReadActionID).commit();
}
Log.d("Wikipedia", "ID is" + appInstallReadActionID);
return appInstallReadActionID;
@@ -409,7 +381,7 @@
public int getCurrentTheme() {
if (currentTheme == 0) {
SharedPreferences prefs =
PreferenceManager.getDefaultSharedPreferences(this);
- currentTheme = prefs.getInt(PREFERENCE_COLOR_THEME, THEME_LIGHT);
+ currentTheme = prefs.getInt(PrefKeys.getColorTheme(), THEME_LIGHT);
if (currentTheme != THEME_LIGHT && currentTheme != THEME_DARK) {
currentTheme = THEME_LIGHT;
}
@@ -428,7 +400,7 @@
}
currentTheme = newTheme;
SharedPreferences prefs =
PreferenceManager.getDefaultSharedPreferences(this);
- prefs.edit().putInt(PREFERENCE_COLOR_THEME, currentTheme).commit();
+ prefs.edit().putInt(PrefKeys.getColorTheme(), currentTheme).commit();
//update color filter for logo icon (used in ActionBar activities)...
adjustDrawableToTheme(getResources().getDrawable(R.drawable.search_w));
@@ -451,7 +423,7 @@
public int getFontSizeMultiplier() {
SharedPreferences prefs =
PreferenceManager.getDefaultSharedPreferences(this);
- return prefs.getInt(WikipediaApp.PREFERENCE_TEXT_SIZE_MULTIPLIER, 0);
+ return prefs.getInt(PrefKeys.getTextSizeMultiplier(), 0);
}
public void setFontSizeMultiplier(int multiplier) {
@@ -461,7 +433,7 @@
multiplier = FONT_SIZE_MULTIPLIER_MAX;
}
SharedPreferences prefs =
PreferenceManager.getDefaultSharedPreferences(this);
- prefs.edit().putInt(WikipediaApp.PREFERENCE_TEXT_SIZE_MULTIPLIER,
multiplier).commit();
+ prefs.edit().putInt(PrefKeys.getTextSizeMultiplier(),
multiplier).commit();
bus.post(new ChangeTextSizeEvent());
}
@@ -472,7 +444,7 @@
* @return Actual current size of the font.
*/
public float getFontSize(Window window) {
- int multiplier =
PreferenceManager.getDefaultSharedPreferences(this).getInt(WikipediaApp.PREFERENCE_TEXT_SIZE_MULTIPLIER,
0);
+ int multiplier =
PreferenceManager.getDefaultSharedPreferences(this).getInt(PrefKeys.getTextSizeMultiplier(),
0);
return Utils.getFontSizeFromSp(window,
getResources().getDimension(R.dimen.textSize)) * (1.0f + multiplier *
FONT_SIZE_FACTOR);
}
}
diff --git a/wikipedia/src/main/java/org/wikipedia/analytics/Funnel.java
b/wikipedia/src/main/java/org/wikipedia/analytics/Funnel.java
index d4a6e7d..e3d0246 100644
--- a/wikipedia/src/main/java/org/wikipedia/analytics/Funnel.java
+++ b/wikipedia/src/main/java/org/wikipedia/analytics/Funnel.java
@@ -9,6 +9,7 @@
import org.wikipedia.Site;
import org.wikipedia.Utils;
import org.wikipedia.WikipediaApp;
+import org.wikipedia.settings.PrefKeys;
public abstract class Funnel {
private final String schemaName;
@@ -65,7 +66,7 @@
* depending on what they are logging.
*/
protected void log(Site site, Object... params) {
- if (!prefs.getBoolean(WikipediaApp.PREFERENCE_EVENTLOGGING_ENABLED,
true)) {
+ if (!prefs.getBoolean(PrefKeys.getEventLoggingEnabled(), true)) {
// If EL is turned off, this is a NOP
return;
}
diff --git a/wikipedia/src/main/java/org/wikipedia/bridge/StyleFetcherTask.java
b/wikipedia/src/main/java/org/wikipedia/bridge/StyleFetcherTask.java
index 6ea161c..36890bd 100644
--- a/wikipedia/src/main/java/org/wikipedia/bridge/StyleFetcherTask.java
+++ b/wikipedia/src/main/java/org/wikipedia/bridge/StyleFetcherTask.java
@@ -9,6 +9,7 @@
import org.wikipedia.Utils;
import org.wikipedia.WikipediaApp;
import org.wikipedia.recurring.RecurringTask;
+import org.wikipedia.settings.PrefKeys;
import java.io.FileNotFoundException;
import java.io.IOException;
@@ -76,7 +77,7 @@
//if any of the above code throws an exception, the following
last-updated date will not
//be updated, so the task will be retried on the next go.
SharedPreferences prefs =
PreferenceManager.getDefaultSharedPreferences(getContext());
-
prefs.edit().putString(WikipediaApp.PREFERENCE_STYLES_LAST_UPDATED,
Utils.formatISO8601(new Date())).commit();
+ prefs.edit().putString(PrefKeys.getStylesLastUpdated(),
Utils.formatISO8601(new Date())).commit();
} catch (FileNotFoundException e) {
// This doesn't actually seem to happen ever?
diff --git a/wikipedia/src/main/java/org/wikipedia/bridge/StyleLoader.java
b/wikipedia/src/main/java/org/wikipedia/bridge/StyleLoader.java
index 386677e..9e50e02 100644
--- a/wikipedia/src/main/java/org/wikipedia/bridge/StyleLoader.java
+++ b/wikipedia/src/main/java/org/wikipedia/bridge/StyleLoader.java
@@ -7,7 +7,7 @@
import org.wikipedia.R;
import org.wikipedia.Site;
import org.wikipedia.Utils;
-import org.wikipedia.WikipediaApp;
+import org.wikipedia.settings.PrefKeys;
import java.text.ParseException;
import java.util.Date;
@@ -48,10 +48,10 @@
* @return
*/
public StyleBundle getAvailableBundle(String type, Site site) {
- if (prefs.contains(WikipediaApp.PREFERENCE_STYLES_LAST_UPDATED)) {
+ if (prefs.contains(PrefKeys.getStylesLastUpdated())) {
Date downloadUpdated;
try {
- downloadUpdated =
Utils.parseISO8601(prefs.getString(WikipediaApp.PREFERENCE_STYLES_LAST_UPDATED,
""));
+ downloadUpdated =
Utils.parseISO8601(prefs.getString(PrefKeys.getStylesLastUpdated(), ""));
} catch (ParseException e) {
// This does not happen
throw new RuntimeException(e);
diff --git
a/wikipedia/src/main/java/org/wikipedia/editing/EditTokenStorage.java
b/wikipedia/src/main/java/org/wikipedia/editing/EditTokenStorage.java
index 1ba5927..68d0fe7 100644
--- a/wikipedia/src/main/java/org/wikipedia/editing/EditTokenStorage.java
+++ b/wikipedia/src/main/java/org/wikipedia/editing/EditTokenStorage.java
@@ -6,7 +6,7 @@
import android.text.TextUtils;
import org.wikipedia.Site;
import org.wikipedia.Utils;
-import org.wikipedia.WikipediaApp;
+import org.wikipedia.settings.PrefKeys;
import java.util.Arrays;
import java.util.HashMap;
@@ -24,9 +24,9 @@
public EditTokenStorage(Context context) {
this.context = context;
this.prefs = PreferenceManager.getDefaultSharedPreferences(context);
- List<String> wikis =
makeList(prefs.getString(WikipediaApp.PREFERENCE_EDITTOKEN_WIKIS, ""));
+ List<String> wikis =
makeList(prefs.getString(PrefKeys.getEditTokenWikis(), ""));
for (String wiki: wikis) {
- String key =
String.format(WikipediaApp.PREFERENCE_EDITTOKEN_FOR_WIKI, wiki);
+ String key = String.format(PrefKeys.getEditTokenForWiki(), wiki);
tokenJar.put(wiki, prefs.getString(key, null));
}
}
@@ -53,10 +53,10 @@
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(PrefKeys.getEditTokenForWiki(), domain);
editor.remove(key);
}
- editor.remove(WikipediaApp.PREFERENCE_EDITTOKEN_WIKIS);
+ editor.remove(PrefKeys.getEditTokenWikis());
editor.commit();
tokenJar.clear();
}
@@ -64,9 +64,9 @@
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(PrefKeys.getEditTokenForWiki(), wiki);
prefs.edit()
- .putString(WikipediaApp.PREFERENCE_EDITTOKEN_WIKIS, wikisList)
+ .putString(PrefKeys.getEditTokenWikis(), wikisList)
.putString(wikiKey, token)
.commit();
}
diff --git
a/wikipedia/src/main/java/org/wikipedia/networking/MccMncStateHandler.java
b/wikipedia/src/main/java/org/wikipedia/networking/MccMncStateHandler.java
index ebc48ec..d57bdbb 100644
--- a/wikipedia/src/main/java/org/wikipedia/networking/MccMncStateHandler.java
+++ b/wikipedia/src/main/java/org/wikipedia/networking/MccMncStateHandler.java
@@ -6,6 +6,7 @@
import org.wikipedia.Site;
import org.wikipedia.Utils;
import org.wikipedia.WikipediaApp;
+import org.wikipedia.settings.PrefKeys;
import java.util.HashMap;
@@ -29,7 +30,7 @@
}
// Forget about it if it was already sent or user opted out of logging
or the API server isn't a mobile Wikipedia.
if (this.mccMncSent
- ||
!PreferenceManager.getDefaultSharedPreferences(this.app).getBoolean(WikipediaApp.PREFERENCE_EVENTLOGGING_ENABLED,
true)
+ ||
!PreferenceManager.getDefaultSharedPreferences(this.app).getBoolean(PrefKeys.getEventLoggingEnabled(),
true)
|| !(site.getApiDomain().contains(".m.wikipedia.org"))) {
return null;
}
diff --git
a/wikipedia/src/main/java/org/wikipedia/onboarding/OnboardingActivity.java
b/wikipedia/src/main/java/org/wikipedia/onboarding/OnboardingActivity.java
index a6d9f1c..e1b8c97 100644
--- a/wikipedia/src/main/java/org/wikipedia/onboarding/OnboardingActivity.java
+++ b/wikipedia/src/main/java/org/wikipedia/onboarding/OnboardingActivity.java
@@ -15,6 +15,7 @@
import org.wikipedia.analytics.LoginFunnel;
import org.wikipedia.analytics.OnboardingFunnel;
import org.wikipedia.login.LoginActivity;
+import org.wikipedia.settings.PrefKeys;
/**
* Onboarding screen, which shows up the first time this app is started unless
the user is already logged in.
@@ -86,6 +87,6 @@
private void markAllAboard() {
SharedPreferences prefs =
PreferenceManager.getDefaultSharedPreferences(this);
- prefs.edit().putBoolean(WikipediaApp.PREFERENCE_ONBOARD,
true).commit();
+ prefs.edit().putBoolean(PrefKeys.getOnboard(), true).commit();
}
}
diff --git a/wikipedia/src/main/java/org/wikipedia/page/PageActivity.java
b/wikipedia/src/main/java/org/wikipedia/page/PageActivity.java
index 12afe34..a101393 100644
--- a/wikipedia/src/main/java/org/wikipedia/page/PageActivity.java
+++ b/wikipedia/src/main/java/org/wikipedia/page/PageActivity.java
@@ -34,6 +34,7 @@
import org.wikipedia.interlanguage.LangLinksActivity;
import org.wikipedia.recurring.RecurringTasksExecutor;
import org.wikipedia.search.SearchArticlesFragment;
+import org.wikipedia.settings.PrefKeys;
import org.wikipedia.staticdata.MainPageNameData;
import org.wikipedia.theme.ThemeChooserDialog;
@@ -165,7 +166,7 @@
*/
private boolean showOnboarding() {
return (getIntent() == null ||
Intent.ACTION_MAIN.equals(getIntent().getAction()))
- &&
!PreferenceManager.getDefaultSharedPreferences(this).getBoolean(WikipediaApp.PREFERENCE_ONBOARD,
false)
+ &&
!PreferenceManager.getDefaultSharedPreferences(this).getBoolean(PrefKeys.getOnboard(),
false)
&& !app.getUserInfoStorage().isLoggedIn();
}
diff --git a/wikipedia/src/main/java/org/wikipedia/settings/PrefKeys.java
b/wikipedia/src/main/java/org/wikipedia/settings/PrefKeys.java
new file mode 100644
index 0000000..6841775
--- /dev/null
+++ b/wikipedia/src/main/java/org/wikipedia/settings/PrefKeys.java
@@ -0,0 +1,97 @@
+package org.wikipedia.settings;
+
+import android.content.res.Resources;
+import org.wikipedia.R;
+
+/**
+ * Keys in SharedPreference file used by this App.
+ * TODO: Check with Yuvi why not just using Java constants.
+ * TODO: Check with Adam about PREFERENCE_ZERO_DEVMODE.
+ */
+public final class PrefKeys {
+ private static String PREFERENCE_CONTENT_LANGUAGE;
+ private static String PREFERENCE_COOKIE_DOMAINS;
+ private static String PREFERENCE_COOKIES_FOR_DOMAINS;
+ private static String PREFERENCE_EDITTOKEN_WIKIS;
+ private static String PREFERENCE_EDITTOKEN_FOR_WIKI;
+ private static String PREFERENCE_ZERO_INTERSTITIAL;
+// private static String PREFERENCE_ZERO_DEVMODE;
+ private static String PREFERENCE_REMOTE_CONFIG;
+ private static String PREFERENCE_EVENTLOGGING_ENABLED;
+ private static String PREFERENCE_STYLES_LAST_UPDATED;
+ private static String PREFERENCE_READING_APP_INSTALL_ID;
+ private static String PREFERENCE_ONBOARD;
+ private static String PREFERENCE_TEXT_SIZE_MULTIPLIER;
+ private static String PREFERENCE_COLOR_THEME;
+
+ private PrefKeys() { }
+
+ public static void initPreferenceKeys(Resources resources) {
+ PREFERENCE_CONTENT_LANGUAGE =
resources.getString(R.string.preference_key_language);
+ PREFERENCE_COOKIE_DOMAINS =
resources.getString(R.string.preference_cookie_domains);
+ PREFERENCE_COOKIES_FOR_DOMAINS =
resources.getString(R.string.preference_cookies_for_domain);
+ PREFERENCE_EDITTOKEN_WIKIS =
resources.getString(R.string.preference_edittoken_wikis);
+ PREFERENCE_EDITTOKEN_FOR_WIKI =
resources.getString(R.string.preference_edittoken_for_wiki);
+ PREFERENCE_ZERO_INTERSTITIAL =
resources.getString(R.string.preference_key_zero_interstitial);
+// PREFERENCE_ZERO_DEVMODE =
resources.getString(R.string.preference_key_zero_devmode);
+ PREFERENCE_REMOTE_CONFIG =
resources.getString(R.string.preference_key_remote_config);
+ PREFERENCE_EVENTLOGGING_ENABLED =
resources.getString(R.string.preference_key_eventlogging_opt_in);
+ PREFERENCE_STYLES_LAST_UPDATED =
resources.getString(R.string.preference_key_styles_last_updated);
+ PREFERENCE_READING_APP_INSTALL_ID =
resources.getString(R.string.preference_reading_app_install_id);
+ PREFERENCE_ONBOARD = resources.getString(R.string.preference_onboard);
+ PREFERENCE_TEXT_SIZE_MULTIPLIER =
resources.getString(R.string.preference_text_size_multiplier);
+ PREFERENCE_COLOR_THEME =
resources.getString(R.string.preference_color_theme);
+ }
+
+ public static String getContentLanguageKey() {
+ return PREFERENCE_CONTENT_LANGUAGE;
+ }
+
+ public static String getCookieDomainsKey() {
+ return PREFERENCE_COOKIE_DOMAINS;
+ }
+
+ public static String getCookiesForDomain() {
+ return PREFERENCE_COOKIES_FOR_DOMAINS;
+ }
+
+ public static String getEditTokenWikis() {
+ return PREFERENCE_EDITTOKEN_WIKIS;
+ }
+
+ public static String getEditTokenForWiki() {
+ return PREFERENCE_EDITTOKEN_FOR_WIKI;
+ }
+
+ public static String getZeroInterstitial() {
+ return PREFERENCE_ZERO_INTERSTITIAL;
+ }
+
+ public static String getRemoteConfig() {
+ return PREFERENCE_REMOTE_CONFIG;
+ }
+
+ public static String getEventLoggingEnabled() {
+ return PREFERENCE_EVENTLOGGING_ENABLED;
+ }
+
+ public static String getStylesLastUpdated() {
+ return PREFERENCE_STYLES_LAST_UPDATED;
+ }
+
+ public static String getReadingAppInstallId() {
+ return PREFERENCE_READING_APP_INSTALL_ID;
+ }
+
+ public static String getOnboard() {
+ return PREFERENCE_ONBOARD;
+ }
+
+ public static String getTextSizeMultiplier() {
+ return PREFERENCE_TEXT_SIZE_MULTIPLIER;
+ }
+
+ public static String getColorTheme() {
+ return PREFERENCE_COLOR_THEME;
+ }
+}
diff --git
a/wikipedia/src/main/java/org/wikipedia/settings/SettingsActivity.java
b/wikipedia/src/main/java/org/wikipedia/settings/SettingsActivity.java
index b893537..8724119 100644
--- a/wikipedia/src/main/java/org/wikipedia/settings/SettingsActivity.java
+++ b/wikipedia/src/main/java/org/wikipedia/settings/SettingsActivity.java
@@ -45,10 +45,10 @@
@Override
public void onSharedPreferenceChanged(SharedPreferences sharedPreferences,
String key) {
- if (key.equals(WikipediaApp.PREFERENCE_CONTENT_LANGUAGE)) {
- LanguagePreference pref = (LanguagePreference)
findPreference(WikipediaApp.PREFERENCE_CONTENT_LANGUAGE);
+ if (key.equals(PrefKeys.getContentLanguageKey())) {
+ LanguagePreference pref = (LanguagePreference)
findPreference(PrefKeys.getContentLanguageKey());
pref.setSummary(pref.getCurrentLanguageDisplayString());
setResult(ACTIVITY_RESULT_LANGUAGE_CHANGED);
}
}
-}
\ No newline at end of file
+}
--
To view, visit https://gerrit.wikimedia.org/r/147368
To unsubscribe, visit https://gerrit.wikimedia.org/r/settings
Gerrit-MessageType: newchange
Gerrit-Change-Id: I0961efffac399f7f574d5b50c0c169abab915862
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