Migrate getIntegerFromString

pull/189/head
Alex Baker 10 years ago
parent 785239fde8
commit 1c12263576

@ -7,7 +7,6 @@ package com.todoroo.andlib.utility;
import android.content.Context; import android.content.Context;
import android.content.SharedPreferences; import android.content.SharedPreferences;
import android.content.res.Resources;
import android.preference.PreferenceManager; import android.preference.PreferenceManager;
import com.todoroo.andlib.service.ContextManager; import com.todoroo.andlib.service.ContextManager;
@ -44,29 +43,6 @@ public class Preferences {
return preferences; return preferences;
} }
// --- preference fetching (string)
/** Gets an integer value from a string preference. Returns null
* if the value is not set or not an integer.
*
* @param keyResource resource from string.xml
* @return integer value, or null on error
*/
public static int getIntegerFromString(int keyResource, int defaultValue) {
Context context = ContextManager.getContext();
Resources r = context.getResources();
String value = getPrefs(context).getString(r.getString(keyResource), null);
if(value == null) {
return defaultValue;
}
try {
return Integer.parseInt(value);
} catch (Exception e) {
return defaultValue;
}
}
public static boolean getBoolean(int keyResources, boolean defValue) { public static boolean getBoolean(int keyResources, boolean defValue) {
Context context = ContextManager.getContext(); Context context = ContextManager.getContext();
try { try {

@ -15,7 +15,6 @@ import com.todoroo.andlib.sql.Criterion;
import com.todoroo.andlib.sql.Functions; import com.todoroo.andlib.sql.Functions;
import com.todoroo.andlib.sql.Query; import com.todoroo.andlib.sql.Query;
import com.todoroo.andlib.utility.DateUtilities; import com.todoroo.andlib.utility.DateUtilities;
import com.todoroo.andlib.utility.Preferences;
import com.todoroo.astrid.api.AstridApiConstants; import com.todoroo.astrid.api.AstridApiConstants;
import com.todoroo.astrid.dao.MetadataDao.MetadataCriteria; import com.todoroo.astrid.dao.MetadataDao.MetadataCriteria;
import com.todoroo.astrid.data.Task; import com.todoroo.astrid.data.Task;
@ -25,6 +24,7 @@ import com.todoroo.astrid.reminders.ReminderService;
import org.tasks.Broadcaster; import org.tasks.Broadcaster;
import org.tasks.R; import org.tasks.R;
import org.tasks.notifications.NotificationManager; import org.tasks.notifications.NotificationManager;
import org.tasks.preferences.Preferences;
import javax.inject.Inject; import javax.inject.Inject;
import javax.inject.Singleton; import javax.inject.Singleton;
@ -42,12 +42,12 @@ public class TaskDao extends RemoteModelDao<Task> {
private final Broadcaster broadcaster; private final Broadcaster broadcaster;
private final ReminderService reminderService; private final ReminderService reminderService;
private final NotificationManager notificationManager; private final NotificationManager notificationManager;
private final org.tasks.preferences.Preferences preferences; private final Preferences preferences;
@Inject @Inject
public TaskDao(Database database, MetadataDao metadataDao, Broadcaster broadcaster, public TaskDao(Database database, MetadataDao metadataDao, Broadcaster broadcaster,
ReminderService reminderService, NotificationManager notificationManager, ReminderService reminderService, NotificationManager notificationManager,
org.tasks.preferences.Preferences preferences) { Preferences preferences) {
super(Task.class); super(Task.class);
setDatabase(database); setDatabase(database);
this.preferences = preferences; this.preferences = preferences;
@ -205,9 +205,9 @@ public class TaskDao extends RemoteModelDao<Task> {
Task.URGENCY_NONE); Task.URGENCY_NONE);
item.setDueDate(Task.createDueDate(setting, 0)); item.setDueDate(Task.createDueDate(setting, 0));
} }
createDefaultHideUntil(item); createDefaultHideUntil(preferences, item);
setDefaultReminders(item); setDefaultReminders(preferences, item);
ContentValues values = item.getSetValues(); ContentValues values = item.getSetValues();
boolean result = super.createNew(item); boolean result = super.createNew(item);
@ -218,9 +218,9 @@ public class TaskDao extends RemoteModelDao<Task> {
return result; return result;
} }
public static void createDefaultHideUntil(Task item) { public static void createDefaultHideUntil(Preferences preferences, Task item) {
if(!item.containsValue(Task.HIDE_UNTIL)) { if(!item.containsValue(Task.HIDE_UNTIL)) {
int setting = Preferences.getIntegerFromString(R.string.p_default_hideUntil_key, int setting = preferences.getIntegerFromString(R.string.p_default_hideUntil_key,
Task.HIDE_UNTIL_NONE); Task.HIDE_UNTIL_NONE);
item.setHideUntil(item.createHideUntil(setting, 0)); item.setHideUntil(item.createHideUntil(setting, 0));
} }
@ -229,16 +229,16 @@ public class TaskDao extends RemoteModelDao<Task> {
/** /**
* Sets default reminders for the given task if reminders are not set * Sets default reminders for the given task if reminders are not set
*/ */
public static void setDefaultReminders(Task item) { public static void setDefaultReminders(Preferences preferences, Task item) {
if(!item.containsValue(Task.REMINDER_PERIOD)) { if(!item.containsValue(Task.REMINDER_PERIOD)) {
item.setReminderPeriod(DateUtilities.ONE_HOUR * item.setReminderPeriod(DateUtilities.ONE_HOUR *
Preferences.getIntegerFromString(R.string.p_rmd_default_random_hours, preferences.getIntegerFromString(R.string.p_rmd_default_random_hours,
0)); 0));
} }
if(!item.containsValue(Task.REMINDER_FLAGS)) { if(!item.containsValue(Task.REMINDER_FLAGS)) {
int reminder_flags = Preferences.getIntegerFromString(R.string.p_default_reminders_key, int reminder_flags = preferences.getIntegerFromString(R.string.p_default_reminders_key,
Task.NOTIFY_AT_DEADLINE | Task.NOTIFY_AFTER_DEADLINE) | Task.NOTIFY_AT_DEADLINE | Task.NOTIFY_AFTER_DEADLINE) |
Preferences.getIntegerFromString(R.string.p_default_reminders_mode_key, 0); preferences.getIntegerFromString(R.string.p_default_reminders_mode_key, 0);
item.setReminderFlags(reminder_flags); item.setReminderFlags(reminder_flags);
} }
} }

@ -341,7 +341,7 @@ public class GtasksSyncV2Provider extends SyncV2Provider {
} else { // Set default importance and reminders for remotely created tasks } else { // Set default importance and reminders for remotely created tasks
task.task.setImportance(preferences.getIntegerFromString( task.task.setImportance(preferences.getIntegerFromString(
R.string.p_default_importance_key, Task.IMPORTANCE_SHOULD_DO)); R.string.p_default_importance_key, Task.IMPORTANCE_SHOULD_DO));
TaskDao.setDefaultReminders(task.task); TaskDao.setDefaultReminders(preferences, task.task);
} }
if (!TextUtils.isEmpty(task.task.getTitle())) { if (!TextUtils.isEmpty(task.task.getTitle())) {
task.task.putTransitory(SyncFlags.GTASKS_SUPPRESS_SYNC, true); task.task.putTransitory(SyncFlags.GTASKS_SUPPRESS_SYNC, true);

@ -275,7 +275,7 @@ public class QuickAddBar extends LinearLayout {
if (deadlineControl.isDeadlineSet()) { if (deadlineControl.isDeadlineSet()) {
task.clearValue(Task.HIDE_UNTIL); task.clearValue(Task.HIDE_UNTIL);
deadlineControl.writeToModel(task); deadlineControl.writeToModel(task);
TaskDao.createDefaultHideUntil(task); TaskDao.createDefaultHideUntil(preferences, task);
} }
gcalControl.writeToModel(task); gcalControl.writeToModel(task);

Loading…
Cancel
Save