Fix quiet hours

pull/127/merge
Alex Baker 9 years ago
parent c73dbbabeb
commit a2f23f80c5

@ -60,6 +60,14 @@ public class Preferences {
return getBoolean(R.string.p_rmd_enable_quiet, false); return getBoolean(R.string.p_rmd_enable_quiet, false);
} }
public int getQuietHoursStart() {
return getMillisPerDayPref(R.string.p_rmd_quietStart, R.integer.default_quiet_hours_start);
}
public int getQuietHoursEnd() {
return getMillisPerDayPref(R.string.p_rmd_quietEnd, R.integer.default_quiet_hours_end);
}
public int getDateShortcutMorning() { public int getDateShortcutMorning() {
return getMillisPerDayPref(R.string.p_date_shortcut_morning, R.integer.default_morning); return getMillisPerDayPref(R.string.p_date_shortcut_morning, R.integer.default_morning);
} }
@ -77,9 +85,11 @@ public class Preferences {
} }
private int getMillisPerDayPref(int resId, int defResId) { private int getMillisPerDayPref(int resId, int defResId) {
int defaultValue = context.getResources().getInteger(defResId); int setting = getInt(resId, -1);
int setting = getInt(resId, defaultValue); if (setting < 0 || setting > DateTime.MAX_MILLIS_PER_DAY) {
return setting < 0 || setting > DateTime.MAX_MILLIS_PER_DAY ? defaultValue : setting; return context.getResources().getInteger(defResId);
}
return setting;
} }
public boolean isDefaultCalendarSet() { public boolean isDefaultCalendarSet() {

@ -4,7 +4,6 @@ import android.annotation.SuppressLint;
import android.app.PendingIntent; import android.app.PendingIntent;
import android.content.Context; import android.content.Context;
import org.tasks.R;
import org.tasks.injection.ForApplication; import org.tasks.injection.ForApplication;
import org.tasks.preferences.Preferences; import org.tasks.preferences.Preferences;
import org.tasks.time.DateTime; import org.tasks.time.DateTime;
@ -58,8 +57,8 @@ public class AlarmManager {
long adjustForQuietHours(long time) { long adjustForQuietHours(long time) {
if (preferences.quietHoursEnabled()) { if (preferences.quietHoursEnabled()) {
DateTime dateTime = new DateTime(time); DateTime dateTime = new DateTime(time);
DateTime start = dateTime.withMillisOfDay(preferences.getInt(R.string.p_rmd_quietStart)); DateTime start = dateTime.withMillisOfDay(preferences.getQuietHoursStart());
DateTime end = dateTime.withMillisOfDay(preferences.getInt(R.string.p_rmd_quietEnd)); DateTime end = dateTime.withMillisOfDay(preferences.getQuietHoursEnd());
if (start.isAfter(end)) { if (start.isAfter(end)) {
if (dateTime.isBefore(end)) { if (dateTime.isBefore(end)) {
return end.getMillis(); return end.getMillis();

@ -27,7 +27,7 @@ public class TimePreference extends Preference {
@Override @Override
protected Object onGetDefaultValue(TypedArray a, int index) { protected Object onGetDefaultValue(TypedArray a, int index) {
return a.getString(index); return a.getInteger(index, -1);
} }
@Override @Override
@ -36,7 +36,7 @@ public class TimePreference extends Preference {
int noon = new DateTime().startOfDay().withHourOfDay(12).getMillisOfDay(); int noon = new DateTime().startOfDay().withHourOfDay(12).getMillisOfDay();
millisOfDay = getPersistedInt(noon); millisOfDay = getPersistedInt(noon);
} else { } else {
millisOfDay = Integer.parseInt((String) defaultValue); millisOfDay = (Integer) defaultValue;
} }
setMillisOfDay(millisOfDay); setMillisOfDay(millisOfDay);

Loading…
Cancel
Save