Fix default reminder preference

pull/1684/head
Alex Baker 4 years ago
parent a100fca5af
commit c53780d9a0

@ -116,6 +116,16 @@ class PreferenceTests {
assertEquals(dueDate, preferences.adjustForQuietHours(dueDate))
}
@Test
fun testDefaultReminders() {
assertEquals(0, defaultReminders())
assertEquals(2, defaultReminders(1))
assertEquals(4, defaultReminders(2))
assertEquals(6, defaultReminders(1, 2))
assertEquals(32, defaultReminders(5))
assertEquals(38, defaultReminders(1, 2, 5))
}
private fun setQuietHoursStart(hour: Int) {
preferences.setInt(R.string.p_rmd_quietStart, hour * MILLIS_PER_HOUR)
}
@ -124,6 +134,14 @@ class PreferenceTests {
preferences.setInt(R.string.p_rmd_quietEnd, hour * MILLIS_PER_HOUR)
}
private fun defaultReminders(vararg values: Int): Int {
preferences.setStringSet(
R.string.p_default_reminders_key,
values.map { it.toString() }.toSet()
)
return preferences.defaultReminders
}
companion object {
@SuppressLint("NewApi")
private val MILLIS_PER_HOUR = TimeUnit.HOURS.toMillis(1).toInt()

@ -203,7 +203,7 @@ class Preferences @JvmOverloads constructor(
val defaultReminders: Int
get() = defaultRemindersSet
.mapNotNull { it.toIntOrNull() }
.sum()
.fold(0) { v, e -> v or (1 shl e) }
val defaultRingMode: Int
get() = getIntegerFromString(R.string.p_default_reminders_mode_key, 0)

Loading…
Cancel
Save