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

@ -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<Task> {
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> {
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<Task> {
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<Task> {
/**
* 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);
}
}

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

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

Loading…
Cancel
Save