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 691d739c4..06cfba9d8 100644
--- a/api/src/main/java/com/todoroo/andlib/utility/Preferences.java
+++ b/api/src/main/java/com/todoroo/andlib/utility/Preferences.java
@@ -21,6 +21,13 @@ import com.todoroo.andlib.service.ContextManager;
*/
public class Preferences {
+ public static void setIntIfUnset(SharedPreferences prefs, Editor editor, Resources r, int keyResource, int value) {
+ String key = r.getString(keyResource);
+ if(!prefs.contains(key)) {
+ editor.putInt(key, value);
+ }
+ }
+
/**
* Helper to write to editor if key specified is null. Writes a String
* property with the given integer
diff --git a/api/src/main/java/com/todoroo/andlib/utility/TodorooPreferenceActivity.java b/api/src/main/java/com/todoroo/andlib/utility/TodorooPreferenceActivity.java
index c902786f2..01dbadc7b 100644
--- a/api/src/main/java/com/todoroo/andlib/utility/TodorooPreferenceActivity.java
+++ b/api/src/main/java/com/todoroo/andlib/utility/TodorooPreferenceActivity.java
@@ -24,7 +24,7 @@ import android.preference.PreferenceManager;
import android.preference.RingtonePreference;
import com.todoroo.andlib.service.ContextManager;
-import com.todoroo.astrid.ui.TimePreference;
+import org.tasks.ui.TimePreference;
/**
* Displays a preference screen for users to edit their preferences. Override
diff --git a/api/src/main/java/com/todoroo/astrid/ui/TimePreference.java b/api/src/main/java/org/tasks/ui/TimePreference.java
similarity index 69%
rename from api/src/main/java/com/todoroo/astrid/ui/TimePreference.java
rename to api/src/main/java/org/tasks/ui/TimePreference.java
index a910e15ec..2eb32f14a 100644
--- a/api/src/main/java/com/todoroo/astrid/ui/TimePreference.java
+++ b/api/src/main/java/org/tasks/ui/TimePreference.java
@@ -1,7 +1,6 @@
-package com.todoroo.astrid.ui;
+package org.tasks.ui;
import android.content.Context;
-import android.content.res.TypedArray;
import android.preference.DialogPreference;
import android.text.format.DateFormat;
import android.util.AttributeSet;
@@ -10,20 +9,8 @@ import android.widget.TimePicker;
import org.joda.time.DateTime;
-/**
- * Preference dialog that displays a TimePicker and persists the selected value.
- *
- * The xml to use it is of the form:
- < com.todoroo.astrid.ui.TimePreference
- android:key="@string/my_key_value"
- android:defaultValue="-1"
- android:positiveButtonText="Save"
- android:negativeButtonText="Reset"
- android:title="@string/my_pref_title_value" />
- */
public class TimePreference extends DialogPreference {
- /** The last hour digit picked by the user in String format */
private int millisOfDay;
private TimePicker picker = null;
@@ -32,7 +19,6 @@ public class TimePreference extends DialogPreference {
setPositiveButtonText(android.R.string.ok);
setNegativeButtonText(android.R.string.cancel);
-
}
@Override
@@ -56,13 +42,11 @@ public class TimePreference extends DialogPreference {
picker.setCurrentHour(dateTime.getHourOfDay());
picker.setCurrentMinute(dateTime.getMinuteOfHour());
picker.setIs24HourView(DateFormat.is24HourFormat(getContext()));
-
}
@Override
public void onDialogClosed(boolean positiveResult) {
super.onDialogClosed(positiveResult);
- /** When the dialog is closed update the lastHour variable and store the value in preferences */
if (positiveResult) {
millisOfDay = new DateTime()
.withMillisOfDay(0)
@@ -76,13 +60,6 @@ public class TimePreference extends DialogPreference {
}
}
- @Override
- public Object onGetDefaultValue(TypedArray array, int index) {
- return (array.getInt(index, 0));
- }
-
- /** When called for the first time initialize the value of the last hour to either the saved one
- * or to the default one. If a default one is not provided use "0" */
@Override
public void onSetInitialValue(boolean restoreValue, Object defaultValue) {
int def = (defaultValue == null) ? 0 : (int) defaultValue;
diff --git a/astrid/src/main/java/com/todoroo/astrid/reminders/ReminderService.java b/astrid/src/main/java/com/todoroo/astrid/reminders/ReminderService.java
index a0faa7c86..88df20f3c 100644
--- a/astrid/src/main/java/com/todoroo/astrid/reminders/ReminderService.java
+++ b/astrid/src/main/java/com/todoroo/astrid/reminders/ReminderService.java
@@ -121,10 +121,7 @@ public final class ReminderService {
Resources r = context.getResources();
Preferences.setIfUnset(prefs, editor, r, R.string.p_rmd_enable_quiet, false);
- Preferences.setIfUnset(prefs, editor, r, R.string.p_rmd_quietStart, 22 * MILLIS_PER_HOUR);
- Preferences.setIfUnset(prefs, editor, r, R.string.p_rmd_quietEnd, 10 * MILLIS_PER_HOUR);
Preferences.setIfUnset(prefs, editor, r, R.string.p_rmd_default_random_hours, 0);
- Preferences.setIfUnset(prefs, editor, r, R.string.p_rmd_time, 18 * MILLIS_PER_HOUR);
Preferences.setIfUnset(prefs, editor, r, R.string.p_rmd_persistent, true);
editor.commit();
diff --git a/astrid/src/main/java/com/todoroo/astrid/utility/AstridDefaultPreferenceSpec.java b/astrid/src/main/java/com/todoroo/astrid/utility/AstridDefaultPreferenceSpec.java
index 30024184d..7206fa921 100644
--- a/astrid/src/main/java/com/todoroo/astrid/utility/AstridDefaultPreferenceSpec.java
+++ b/astrid/src/main/java/com/todoroo/astrid/utility/AstridDefaultPreferenceSpec.java
@@ -14,6 +14,8 @@ import com.todoroo.astrid.data.Task;
import org.joda.time.DateTime;
import org.tasks.R;
+import static com.todoroo.andlib.utility.Preferences.setIntIfUnset;
+
public class AstridDefaultPreferenceSpec extends AstridPreferenceSpec {
public static interface PreferenceExtras {
@@ -88,11 +90,15 @@ public class AstridDefaultPreferenceSpec extends AstridPreferenceSpec {
setPreference(prefs, editor, r, R.string.p_hide_plus_button, true);
- extras.setExtras(context);
+ setIntIfUnset(prefs, editor, r, R.string.p_rmd_quietStart, r.getInteger(R.integer.default_quiet_hours_start));
+ setIntIfUnset(prefs, editor, r, R.string.p_rmd_quietEnd, r.getInteger(R.integer.default_quiet_hours_end));
+ setIntIfUnset(prefs, editor, r, R.string.p_rmd_time, r.getInteger(R.integer.default_remind_time));
- migrateToNewQuietHours();
+ extras.setExtras(context);
editor.commit();
+
+ migrateToNewQuietHours();
}
static void migrateToNewQuietHours() {
diff --git a/astrid/src/main/res/values/integers.xml b/astrid/src/main/res/values/integers.xml
new file mode 100644
index 000000000..329a59454
--- /dev/null
+++ b/astrid/src/main/res/values/integers.xml
@@ -0,0 +1,6 @@
+
+
+ 79200000
+ 36000000
+ 64800000
+
\ No newline at end of file
diff --git a/astrid/src/main/res/xml/preferences_reminders.xml b/astrid/src/main/res/xml/preferences_reminders.xml
index fae2ff35b..67066e24e 100644
--- a/astrid/src/main/res/xml/preferences_reminders.xml
+++ b/astrid/src/main/res/xml/preferences_reminders.xml
@@ -12,19 +12,19 @@
android:key="@string/p_rmd_enable_quiet"
android:title="@string/rmd_EPr_enable_quiet_title"
android:defaultValue="false"/>
-
-
-