diff --git a/api/src/main/java/com/todoroo/andlib/utility/Preferences.java b/api/src/main/java/com/todoroo/andlib/utility/Preferences.java index 8425a517f..fefb1568e 100644 --- a/api/src/main/java/com/todoroo/andlib/utility/Preferences.java +++ b/api/src/main/java/com/todoroo/andlib/utility/Preferences.java @@ -7,7 +7,6 @@ package com.todoroo.andlib.utility; import android.content.Context; import android.content.SharedPreferences; -import android.content.res.Resources; import android.preference.PreferenceManager; import com.todoroo.andlib.service.ContextManager; @@ -44,29 +43,6 @@ public class 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) { Context context = ContextManager.getContext(); try { diff --git a/astrid/src/main/java/com/todoroo/astrid/dao/TaskDao.java b/astrid/src/main/java/com/todoroo/astrid/dao/TaskDao.java index 008666c28..09baa8bf8 100644 --- a/astrid/src/main/java/com/todoroo/astrid/dao/TaskDao.java +++ b/astrid/src/main/java/com/todoroo/astrid/dao/TaskDao.java @@ -15,7 +15,6 @@ import com.todoroo.andlib.sql.Criterion; import com.todoroo.andlib.sql.Functions; import com.todoroo.andlib.sql.Query; import com.todoroo.andlib.utility.DateUtilities; -import com.todoroo.andlib.utility.Preferences; import com.todoroo.astrid.api.AstridApiConstants; import com.todoroo.astrid.dao.MetadataDao.MetadataCriteria; import com.todoroo.astrid.data.Task; @@ -25,6 +24,7 @@ import com.todoroo.astrid.reminders.ReminderService; import org.tasks.Broadcaster; import org.tasks.R; import org.tasks.notifications.NotificationManager; +import org.tasks.preferences.Preferences; import javax.inject.Inject; import javax.inject.Singleton; @@ -42,12 +42,12 @@ public class TaskDao extends RemoteModelDao { private final Broadcaster broadcaster; private final ReminderService reminderService; private final NotificationManager notificationManager; - private final org.tasks.preferences.Preferences preferences; + private final Preferences preferences; @Inject public TaskDao(Database database, MetadataDao metadataDao, Broadcaster broadcaster, ReminderService reminderService, NotificationManager notificationManager, - org.tasks.preferences.Preferences preferences) { + Preferences preferences) { super(Task.class); setDatabase(database); this.preferences = preferences; @@ -205,9 +205,9 @@ public class TaskDao extends RemoteModelDao { Task.URGENCY_NONE); item.setDueDate(Task.createDueDate(setting, 0)); } - createDefaultHideUntil(item); + createDefaultHideUntil(preferences, item); - setDefaultReminders(item); + setDefaultReminders(preferences, item); ContentValues values = item.getSetValues(); boolean result = super.createNew(item); @@ -218,9 +218,9 @@ public class TaskDao extends RemoteModelDao { return result; } - public static void createDefaultHideUntil(Task item) { + public static void createDefaultHideUntil(Preferences preferences, Task item) { 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); item.setHideUntil(item.createHideUntil(setting, 0)); } @@ -229,16 +229,16 @@ public class TaskDao extends RemoteModelDao { /** * 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)) { item.setReminderPeriod(DateUtilities.ONE_HOUR * - Preferences.getIntegerFromString(R.string.p_rmd_default_random_hours, + preferences.getIntegerFromString(R.string.p_rmd_default_random_hours, 0)); } 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) | - Preferences.getIntegerFromString(R.string.p_default_reminders_mode_key, 0); + preferences.getIntegerFromString(R.string.p_default_reminders_mode_key, 0); item.setReminderFlags(reminder_flags); } } diff --git a/astrid/src/main/java/com/todoroo/astrid/gtasks/sync/GtasksSyncV2Provider.java b/astrid/src/main/java/com/todoroo/astrid/gtasks/sync/GtasksSyncV2Provider.java index 56c32cbab..cd1603233 100644 --- a/astrid/src/main/java/com/todoroo/astrid/gtasks/sync/GtasksSyncV2Provider.java +++ b/astrid/src/main/java/com/todoroo/astrid/gtasks/sync/GtasksSyncV2Provider.java @@ -341,7 +341,7 @@ public class GtasksSyncV2Provider extends SyncV2Provider { } else { // Set default importance and reminders for remotely created tasks task.task.setImportance(preferences.getIntegerFromString( 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())) { task.task.putTransitory(SyncFlags.GTASKS_SUPPRESS_SYNC, true); diff --git a/astrid/src/main/java/com/todoroo/astrid/ui/QuickAddBar.java b/astrid/src/main/java/com/todoroo/astrid/ui/QuickAddBar.java index 0149fc771..11f63cab2 100644 --- a/astrid/src/main/java/com/todoroo/astrid/ui/QuickAddBar.java +++ b/astrid/src/main/java/com/todoroo/astrid/ui/QuickAddBar.java @@ -275,7 +275,7 @@ public class QuickAddBar extends LinearLayout { if (deadlineControl.isDeadlineSet()) { task.clearValue(Task.HIDE_UNTIL); deadlineControl.writeToModel(task); - TaskDao.createDefaultHideUntil(task); + TaskDao.createDefaultHideUntil(preferences, task); } gcalControl.writeToModel(task);