From 44cdd8bf5ae72f88761de639d2a348ff6e655618 Mon Sep 17 00:00:00 2001 From: Alex Baker Date: Fri, 4 Jul 2014 02:55:32 -0500 Subject: [PATCH] Add debug logging preference --- astrid/src/main/assets/logback.xml | 2 +- .../astrid/activity/EditPreferences.java | 8 ++++++++ astrid/src/main/java/org/tasks/Tasks.java | 6 +++++- .../org/tasks/preferences/Preferences.java | 19 +++++++++++++++++-- astrid/src/main/res/values/keys.xml | 3 ++- astrid/src/main/res/values/strings-core.xml | 1 + astrid/src/main/res/xml/preferences_misc.xml | 4 ++++ 7 files changed, 38 insertions(+), 5 deletions(-) diff --git a/astrid/src/main/assets/logback.xml b/astrid/src/main/assets/logback.xml index 0c1b9a2d6..799997944 100644 --- a/astrid/src/main/assets/logback.xml +++ b/astrid/src/main/assets/logback.xml @@ -5,7 +5,7 @@ - + diff --git a/astrid/src/main/java/com/todoroo/astrid/activity/EditPreferences.java b/astrid/src/main/java/com/todoroo/astrid/activity/EditPreferences.java index c2a7f66ca..69ad99cfa 100644 --- a/astrid/src/main/java/com/todoroo/astrid/activity/EditPreferences.java +++ b/astrid/src/main/java/com/todoroo/astrid/activity/EditPreferences.java @@ -421,6 +421,14 @@ public class EditPreferences extends TodorooPreferenceActivity { } }); + findPreference(getString(R.string.p_debug_logging)).setOnPreferenceChangeListener(new OnPreferenceChangeListener() { + @Override + public boolean onPreferenceChange(Preference preference, Object newValue) { + preferences.setupLogger((boolean) newValue); + return true; + } + }); + if (AndroidUtilities.getSdkVersion() <= 7) { searchForAndRemovePreference(getPreferenceScreen(), getString(R.string.p_calendar_reminders)); } else { diff --git a/astrid/src/main/java/org/tasks/Tasks.java b/astrid/src/main/java/org/tasks/Tasks.java index 6c5b35a93..81d9c4f9e 100644 --- a/astrid/src/main/java/org/tasks/Tasks.java +++ b/astrid/src/main/java/org/tasks/Tasks.java @@ -16,7 +16,6 @@ import com.todoroo.astrid.gtasks.GtasksPreferenceService; import com.todoroo.astrid.gtasks.GtasksTaskListUpdater; import com.todoroo.astrid.gtasks.sync.GtasksSyncService; import com.todoroo.astrid.service.MetadataService; -import org.tasks.sync.SyncThrottle; import com.todoroo.astrid.service.SyncV2Service; import com.todoroo.astrid.service.TagDataService; import com.todoroo.astrid.service.TaskService; @@ -25,7 +24,9 @@ import com.todoroo.astrid.tags.TagService; import org.tasks.filters.FilterCounter; import org.tasks.injection.InjectingApplication; +import org.tasks.preferences.Preferences; import org.tasks.scheduling.RefreshScheduler; +import org.tasks.sync.SyncThrottle; import javax.inject.Inject; @@ -56,11 +57,14 @@ public class Tasks extends InjectingApplication { @Inject FilterCounter filterCounter; @Inject RefreshScheduler refreshScheduler; @Inject SyncThrottle syncThrottle; + @Inject Preferences preferences; @Override public void onCreate() { super.onCreate(); + preferences.setupLogger(); + ContextManager.setContext(this); } } diff --git a/astrid/src/main/java/org/tasks/preferences/Preferences.java b/astrid/src/main/java/org/tasks/preferences/Preferences.java index fdde70b74..e883a974a 100644 --- a/astrid/src/main/java/org/tasks/preferences/Preferences.java +++ b/astrid/src/main/java/org/tasks/preferences/Preferences.java @@ -16,6 +16,8 @@ import org.tasks.injection.ForApplication; import javax.inject.Inject; +import ch.qos.logback.classic.Level; + import static android.content.SharedPreferences.Editor; public class Preferences { @@ -41,14 +43,14 @@ public class Preferences { public void setIfUnset(SharedPreferences prefs, Editor editor, Resources r, int keyResource, int value) { String key = r.getString(keyResource); - if(!prefs.contains(key)) { + if (!prefs.contains(key)) { editor.putString(key, Integer.toString(value)); } } public void setIfUnset(SharedPreferences prefs, Editor editor, Resources r, int keyResource, boolean value) { String key = r.getString(keyResource); - if(!prefs.contains(key) || !(prefs.getAll().get(key) instanceof Boolean)) { + if (!prefs.contains(key) || !(prefs.getAll().get(key) instanceof Boolean)) { editor.putBoolean(key, value); } } @@ -213,4 +215,17 @@ public class Preferences { public boolean isDarkWidgetTheme() { return getBoolean(R.string.p_use_dark_theme_widget, false); } + + public void setupLogger() { + setupLogger(getBoolean(R.string.p_debug_logging, false)); + } + + public void setupLogger(boolean enableDebugLogging) { + try { + ((ch.qos.logback.classic.Logger) LoggerFactory.getLogger(Logger.ROOT_LOGGER_NAME)) + .setLevel(enableDebugLogging ? Level.DEBUG : Level.INFO); + } catch (Exception e) { + log.error(e.getMessage(), e); + } + } } diff --git a/astrid/src/main/res/values/keys.xml b/astrid/src/main/res/values/keys.xml index b2839eb0b..d0fb39795 100644 --- a/astrid/src/main/res/values/keys.xml +++ b/astrid/src/main/res/values/keys.xml @@ -279,8 +279,9 @@ TEA_ctrl_share_pref use_dark_theme use_dark_theme_widget + debug_logging - + @string/TEA_ctrl_when_pref @string/TEA_ctrl_importance_pref diff --git a/astrid/src/main/res/values/strings-core.xml b/astrid/src/main/res/values/strings-core.xml index e14dd1b21..bb3c97ddc 100644 --- a/astrid/src/main/res/values/strings-core.xml +++ b/astrid/src/main/res/values/strings-core.xml @@ -523,6 +523,7 @@ Calendar event time End calendar events at due time Start calendar events at due time + Enable debug logging diff --git a/astrid/src/main/res/xml/preferences_misc.xml b/astrid/src/main/res/xml/preferences_misc.xml index 5a90fb454..8a6a9e019 100644 --- a/astrid/src/main/res/xml/preferences_misc.xml +++ b/astrid/src/main/res/xml/preferences_misc.xml @@ -24,5 +24,9 @@ + +