add a flag for determining if an event is repeatable

This commit is contained in:
tibbi 2018-11-15 13:18:04 +01:00
parent 5221f75941
commit f9056061e6
3 changed files with 10 additions and 4 deletions

View File

@ -76,6 +76,7 @@ const val REPEAT_ORDER_WEEKDAY = 4 // i.e. every 4th sunday
// special event flags
const val FLAG_ALL_DAY = 1
const val FLAG_IS_PAST_EVENT = 2
const val FLAG_IS_REPEATABLE = 4
// constants related to ICS file exporting / importing
const val BEGIN_CALENDAR = "BEGIN:VCALENDAR"

View File

@ -85,8 +85,8 @@ class EventsHelper(val context: Context) {
return
}
val id = eventsDB.insertOrUpdate(event)
event.id = id
event.updateIsEventRepeatable()
event.id = eventsDB.insertOrUpdate(event)
if (event.repeatInterval != 0 && event.parentId == 0L) {
eventRepetitionsDB.insertOrUpdate(event.getEventRepetition())
@ -109,8 +109,8 @@ class EventsHelper(val context: Context) {
continue
}
val id = eventsDB.insertOrUpdate(event)
event.id = id
event.updateIsEventRepeatable()
event.id = eventsDB.insertOrUpdate(event)
if (event.repeatInterval != 0 && event.parentId == 0L) {
eventRepetitionsDB.insertOrUpdate(event.getEventRepetition())
@ -127,6 +127,7 @@ class EventsHelper(val context: Context) {
}
fun updateEvent(activity: Activity? = null, event: Event, updateAtCalDAV: Boolean, callback: (() -> Unit)? = null) {
event.updateIsEventRepeatable()
eventsDB.insertOrUpdate(event)
if (event.repeatInterval == 0) {

View File

@ -153,6 +153,10 @@ data class Event(
isPastEvent = endTSToCheck < getNowSeconds()
}
fun updateIsEventRepeatable() {
flags = flags.addBitIf(repeatInterval != 0, FLAG_IS_REPEATABLE)
}
var isPastEvent: Boolean
get() = flags and FLAG_IS_PAST_EVENT != 0
set(isPastEvent) {