Add debug logging preference

pull/189/head
Alex Baker 10 years ago
parent 96907fea3d
commit 44cdd8bf5a

@ -5,7 +5,7 @@
</encoder>
</appender>
<root level="WARN">
<root level="INFO">
<appender-ref ref="LOGCAT"/>
</root>
</configuration>

@ -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 {

@ -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);
}
}

@ -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);
}
}
}

@ -279,8 +279,9 @@
<string name="TEA_ctrl_share_pref">TEA_ctrl_share_pref</string>
<string name="p_use_dark_theme">use_dark_theme</string>
<string name="p_use_dark_theme_widget">use_dark_theme_widget</string>
<string name="p_debug_logging">debug_logging</string>
<!-- Deprecated -->
<string-array name="TEA_control_sets_prefs">
<item>@string/TEA_ctrl_when_pref</item>
<item>@string/TEA_ctrl_importance_pref</item>

@ -523,6 +523,7 @@
<string name="EPr_cal_end_or_start_at_due_time">Calendar event time</string>
<string name="EPr_cal_end_at_due_time">End calendar events at due time</string>
<string name="EPr_cal_start_at_due_time">Start calendar events at due time</string>
<string name="EPr_enable_debug_logging">Enable debug logging</string>
<string-array name="EPr_default_reminders_mode">
<!-- reminders duration: labels for "Task Defaults" preference item. -->

@ -24,5 +24,9 @@
<CheckBoxPreference
android:title="@string/EPr_cal_end_or_start_at_due_time"
android:key = "@string/p_end_at_deadline" />
<CheckBoxPreference
android:title="@string/EPr_enable_debug_logging"
android:key="@string/p_debug_logging"/>
</PreferenceScreen>
</PreferenceScreen>

Loading…
Cancel
Save