Use shifted values for reminder preferences

pull/1695/head
Alex Baker 3 years ago
parent 77d9f76e54
commit 554f8c582c

@ -3,6 +3,9 @@ package org.tasks.preferences
import android.annotation.SuppressLint
import androidx.test.core.app.ApplicationProvider
import androidx.test.ext.junit.runners.AndroidJUnit4
import com.todoroo.astrid.data.Task.Companion.NOTIFY_AFTER_DEADLINE
import com.todoroo.astrid.data.Task.Companion.NOTIFY_AT_DEADLINE
import com.todoroo.astrid.data.Task.Companion.NOTIFY_AT_START
import org.junit.Assert.assertEquals
import org.junit.Before
import org.junit.Test
@ -119,11 +122,11 @@ class PreferenceTests {
@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))
assertEquals(2, defaultReminders(NOTIFY_AT_DEADLINE))
assertEquals(4, defaultReminders(NOTIFY_AFTER_DEADLINE))
assertEquals(6, defaultReminders(NOTIFY_AT_DEADLINE, NOTIFY_AFTER_DEADLINE))
assertEquals(32, defaultReminders(NOTIFY_AT_START))
assertEquals(38, defaultReminders(NOTIFY_AT_START, NOTIFY_AT_DEADLINE, NOTIFY_AFTER_DEADLINE))
}
private fun setQuietHoursStart(hour: Int) {

@ -8,7 +8,7 @@ import org.tasks.R
import org.tasks.preferences.Preferences
import javax.inject.Inject
class Upgrade_11_12 @Inject constructor(
class Upgrade_11_12_3 @Inject constructor(
private val preferences: Preferences
) {
internal fun migrateDefaultReminderPreference() {
@ -26,7 +26,7 @@ class Upgrade_11_12 @Inject constructor(
}
companion object {
const val VERSION = 111200
const val VERSION = 111203
private const val LEGACY_PREFERENCE = "p_def_reminders"
}
}

@ -44,7 +44,7 @@ class Upgrader @Inject constructor(
private val taskMover: TaskMover,
private val upgraderDao: UpgraderDao,
private val upgrade_11_3: Lazy<Upgrade_11_3>,
private val upgrade_11_12: Lazy<Upgrade_11_12>,
private val upgrade_11_12_3: Lazy<Upgrade_11_12_3>,
) {
fun upgrade(from: Int, to: Int) {
@ -80,8 +80,8 @@ class Upgrader @Inject constructor(
applyOpenTaskStartDates()
}
}
run(from, Upgrade_11_12.VERSION) {
with(upgrade_11_12.get()) {
run(from, Upgrade_11_12_3.VERSION) {
with(upgrade_11_12_3.get()) {
migrateDefaultReminderPreference()
}
}

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

@ -202,9 +202,9 @@
<string-array name="EPr_default_reminders_values">
<!-- reminders: values that map EPr_default_reminders items to reminder flags. -->
<item>5</item> <!-- when started -->
<item>1</item> <!-- when due -->
<item>2</item> <!-- when overdue -->
<item>32</item> <!-- when started -->
<item>2</item> <!-- when due -->
<item>4</item> <!-- when overdue -->
</string-array>
<string-array name="EPr_default_reminders_default">

Loading…
Cancel
Save