BearND has uploaded a new change for review. https://gerrit.wikimedia.org/r/235393
Change subject: Developer preference for Retrofit log level ...................................................................... Developer preference for Retrofit log level Now you can change the log level without having to change code. After you've changed the log level for Retrofit in the Developer settings and restarted the app, requests and responses will be logged with the given LogLevel. See retrofit.RestAdapter.LogLevel for details about the different settings. Change-Id: I546f1cca8b4c2ce75e4a550280fa3ad9fc09bbc9 --- M app/src/main/java/org/wikipedia/server/mwapi/MwPageEndpointsCache.java M app/src/main/java/org/wikipedia/server/restbase/RbPageEndpointsCache.java M app/src/main/java/org/wikipedia/settings/Prefs.java M app/src/main/res/values/dev_settings_strings.xml M app/src/main/res/values/preference_keys.xml A app/src/main/res/values/preference_values.xml M app/src/main/res/xml/developer_preferences.xml 7 files changed, 52 insertions(+), 5 deletions(-) git pull ssh://gerrit.wikimedia.org:29418/apps/android/wikipedia refs/changes/93/235393/1 diff --git a/app/src/main/java/org/wikipedia/server/mwapi/MwPageEndpointsCache.java b/app/src/main/java/org/wikipedia/server/mwapi/MwPageEndpointsCache.java index c7143c8..c5a2cf4 100644 --- a/app/src/main/java/org/wikipedia/server/mwapi/MwPageEndpointsCache.java +++ b/app/src/main/java/org/wikipedia/server/mwapi/MwPageEndpointsCache.java @@ -3,6 +3,7 @@ import org.wikipedia.OkHttpConnectionFactory; import org.wikipedia.Site; import org.wikipedia.WikipediaApp; +import org.wikipedia.settings.Prefs; import com.google.gson.GsonBuilder; @@ -37,7 +38,7 @@ final String domain = site.getApiDomain(); final WikipediaApp app = WikipediaApp.getInstance(); RestAdapter restAdapter = new RestAdapter.Builder() -// .setLogLevel(RestAdapter.LogLevel.FULL) + .setLogLevel(Prefs.getRetrofitLogLevel()) .setClient(new OkClient(OkHttpConnectionFactory.createClient(app))) diff --git a/app/src/main/java/org/wikipedia/server/restbase/RbPageEndpointsCache.java b/app/src/main/java/org/wikipedia/server/restbase/RbPageEndpointsCache.java index f4a1572..2cd6d3a 100644 --- a/app/src/main/java/org/wikipedia/server/restbase/RbPageEndpointsCache.java +++ b/app/src/main/java/org/wikipedia/server/restbase/RbPageEndpointsCache.java @@ -38,7 +38,7 @@ final String domain = site.getApiDomain(); final WikipediaApp app = WikipediaApp.getInstance(); RestAdapter restAdapter = new RestAdapter.Builder() - .setLogLevel(RestAdapter.LogLevel.FULL) + .setLogLevel(Prefs.getRetrofitLogLevel()) .setClient(new OkClient(OkHttpConnectionFactory.createClient(app))) diff --git a/app/src/main/java/org/wikipedia/settings/Prefs.java b/app/src/main/java/org/wikipedia/settings/Prefs.java index 853e409..4523b9b 100644 --- a/app/src/main/java/org/wikipedia/settings/Prefs.java +++ b/app/src/main/java/org/wikipedia/settings/Prefs.java @@ -1,14 +1,16 @@ package org.wikipedia.settings; -import android.support.annotation.NonNull; -import android.support.annotation.Nullable; - import org.wikipedia.R; import org.wikipedia.WikipediaApp; import org.wikipedia.data.GsonMarshaller; import org.wikipedia.data.TabUnmarshaller; import org.wikipedia.page.tabs.Tab; import org.wikipedia.theme.Theme; + +import retrofit.RestAdapter; + +import android.support.annotation.NonNull; +import android.support.annotation.Nullable; import java.util.Collections; import java.util.List; @@ -240,6 +242,26 @@ setBoolean(R.string.preference_key_exp_json_page_load, enabled); } + public static RestAdapter.LogLevel getRetrofitLogLevel() { + String prefValue = getString(R.string.preference_key_retrofit_log_level, null); + if (prefValue == null) { + return RestAdapter.LogLevel.NONE; + } + switch (prefValue) { + case "BASIC": + return RestAdapter.LogLevel.BASIC; + case "HEADERS": + return RestAdapter.LogLevel.HEADERS; + case "HEADERS_AND_ARGS": + return RestAdapter.LogLevel.HEADERS_AND_ARGS; + case "FULL": + return RestAdapter.LogLevel.FULL; + case "NONE": + default: + return RestAdapter.LogLevel.NONE; + } + } + public static long getLastRunTime(@NonNull String task) { return getLong(getLastRunTimeKey(task), 0); } diff --git a/app/src/main/res/values/dev_settings_strings.xml b/app/src/main/res/values/dev_settings_strings.xml index a86d333..d928029 100644 --- a/app/src/main/res/values/dev_settings_strings.xml +++ b/app/src/main/res/values/dev_settings_strings.xml @@ -8,6 +8,8 @@ <string name="preferences_developer_misc_heading">Miscellaneous</string> <string name="preferences_developer_onboarding_heading">Onboarding</string> <string name="preferences_developer_feature_testing_heading">A/B feature testing</string> + <string name="preferences_developer_logging_heading">Logging</string> + <string name="preferences_developer_retrofit_log_level">Retrofit Log Level (restart required)</string> <string name="preferences_developer_crash_key">crash</string> <string name="preferences_developer_crash_title">Crash</string> <string name="preferences_developer_crash_summary">Tap here to crash the app</string> diff --git a/app/src/main/res/values/preference_keys.xml b/app/src/main/res/values/preference_keys.xml index b9d8ecb..5e4a63b 100644 --- a/app/src/main/res/values/preference_keys.xml +++ b/app/src/main/res/values/preference_keys.xml @@ -23,6 +23,7 @@ <string name="preference_key_show_images">showImages</string> <string name="preference_key_exp_html_page_load">expHtmlPageLoad</string> <string name="preference_key_exp_json_page_load">expJsonPageLoad</string> + <string name="preference_key_retrofit_log_level">retrofitLog</string> <string name="preference_key_daily_event_time_task_name">dailyEventTask</string> <string name="preference_key_login_username">username</string> <string name="preference_key_login_password">password</string> diff --git a/app/src/main/res/values/preference_values.xml b/app/src/main/res/values/preference_values.xml new file mode 100644 index 0000000..20487fd --- /dev/null +++ b/app/src/main/res/values/preference_values.xml @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="utf-8"?> +<resources> + <string-array name="preference_values_retrofit_log"> + <item>NONE</item> + <item>BASIC</item> + <item>HEADERS</item> + <item>HEADERS_AND_ARGS</item> + <item>FULL</item> + </string-array> +</resources> \ No newline at end of file diff --git a/app/src/main/res/xml/developer_preferences.xml b/app/src/main/res/xml/developer_preferences.xml index 2e16b43..3fd35f3 100644 --- a/app/src/main/res/xml/developer_preferences.xml +++ b/app/src/main/res/xml/developer_preferences.xml @@ -39,6 +39,17 @@ </PreferenceCategory> + <PreferenceCategory android:title="@string/preferences_developer_logging_heading"> + + <ListPreference + android:key="@string/preference_key_retrofit_log_level" + android:title="@string/preferences_developer_retrofit_log_level" + android:entries="@array/preference_values_retrofit_log" + android:entryValues="@array/preference_values_retrofit_log" + android:summary="%s" /> + + </PreferenceCategory> + <PreferenceCategory android:title="@string/preferences_developer_misc_heading"> <!--suppress AndroidUnknownAttribute --> -- To view, visit https://gerrit.wikimedia.org/r/235393 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I546f1cca8b4c2ce75e4a550280fa3ad9fc09bbc9 Gerrit-PatchSet: 1 Gerrit-Project: apps/android/wikipedia Gerrit-Branch: master Gerrit-Owner: BearND <bsitzm...@wikimedia.org> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits