Fix ring flag migration issue

pull/1790/head
Alex Baker 2 years ago
parent 42e44eafdc
commit 488836f848

@ -246,10 +246,10 @@ class Task : Parcelable {
}
val isNotifyModeNonstop: Boolean
get() = isRingSet(NOTIFY_MODE_NONSTOP)
get() = ringFlags == NOTIFY_MODE_NONSTOP
val isNotifyModeFive: Boolean
get() = isRingSet(NOTIFY_MODE_FIVE)
get() = ringFlags == NOTIFY_MODE_FIVE
val isNotifyAfterDeadline: Boolean
get() = isReminderSet(NOTIFY_AFTER_DEADLINE)
@ -264,10 +264,6 @@ class Task : Parcelable {
return ((transitoryData?.get(TRANS_REMINDERS) as? Int) ?: 0) and flag > 0
}
private fun isRingSet(flag: Int): Boolean {
return ringFlags and flag > 0
}
val isNew: Boolean
get() = id == NO_ID

@ -7,6 +7,8 @@ import com.todoroo.astrid.api.FilterListItem.NO_ORDER
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 com.todoroo.astrid.data.Task.Companion.NOTIFY_MODE_FIVE
import com.todoroo.astrid.data.Task.Companion.NOTIFY_MODE_NONSTOP
import org.tasks.data.Alarm.Companion.TYPE_RANDOM
import org.tasks.data.Alarm.Companion.TYPE_REL_END
import org.tasks.data.Alarm.Companion.TYPE_REL_START
@ -433,7 +435,10 @@ object Migrations {
"INSERT INTO `alarms` (`task`, `time`, `type`) SELECT `_id`, `snoozeTime`, $TYPE_SNOOZE FROM `tasks` WHERE `snoozeTime` > 0"
)
database.execSQL(
"UPDATE `tasks` SET `notificationFlags` = `notificationFlags` & ~$NOTIFY_AT_START & ~$NOTIFY_AT_DEADLINE & ~$NOTIFY_AFTER_DEADLINE"
"UPDATE `tasks` SET `notificationFlags` = $NOTIFY_MODE_FIVE WHERE `notificationFlags` & $NOTIFY_MODE_FIVE = $NOTIFY_MODE_FIVE"
)
database.execSQL(
"UPDATE `tasks` SET `notificationFlags` = $NOTIFY_MODE_NONSTOP WHERE `notificationFlags` & $NOTIFY_MODE_NONSTOP = $NOTIFY_MODE_NONSTOP"
)
}
}

@ -12,6 +12,8 @@ import com.todoroo.astrid.api.GtasksFilter
import com.todoroo.astrid.dao.TaskDao
import com.todoroo.astrid.data.SyncFlags
import com.todoroo.astrid.data.Task
import com.todoroo.astrid.data.Task.Companion.NOTIFY_MODE_FIVE
import com.todoroo.astrid.data.Task.Companion.NOTIFY_MODE_NONSTOP
import com.todoroo.astrid.data.Task.Companion.createDueDate
import com.todoroo.astrid.data.Task.Companion.hasDueTime
import com.todoroo.astrid.data.Task.Companion.isRepeatAfterCompletion
@ -453,15 +455,10 @@ class TaskEditViewModel @Inject constructor(
}
}
private fun getRingFlags(): Int {
var value = 0
value = value and (Task.NOTIFY_MODE_FIVE or Task.NOTIFY_MODE_NONSTOP).inv()
if (ringNonstop == true) {
value = value or Task.NOTIFY_MODE_NONSTOP
} else if (ringFiveTimes == true) {
value = value or Task.NOTIFY_MODE_FIVE
}
return value
private fun getRingFlags() = when {
ringNonstop == true -> NOTIFY_MODE_NONSTOP
ringFiveTimes == true -> NOTIFY_MODE_FIVE
else -> 0
}
suspend fun delete() {

Loading…
Cancel
Save