mirror of https://github.com/tasks/tasks
Synchronize VALARMs
parent
09da1dcc42
commit
3b2b16f0c6
@ -0,0 +1,32 @@
|
||||
@file:Suppress("ClassName")
|
||||
|
||||
package com.todoroo.astrid.service
|
||||
|
||||
import org.tasks.caldav.iCalendar
|
||||
import org.tasks.caldav.iCalendar.Companion.reminders
|
||||
import org.tasks.data.AlarmDao
|
||||
import org.tasks.data.TaskDao
|
||||
import org.tasks.data.UpgraderDao
|
||||
import javax.inject.Inject
|
||||
|
||||
class Upgrade_12_4 @Inject constructor(
|
||||
private val alarmDao: AlarmDao,
|
||||
private val taskDao: TaskDao,
|
||||
private val upgraderDao: UpgraderDao,
|
||||
) {
|
||||
internal suspend fun syncExistingAlarms() {
|
||||
val existingAlarms = alarmDao.getActiveAlarms().map { it.task }
|
||||
upgraderDao.tasksWithVtodos().forEach { caldav ->
|
||||
val remoteTask = caldav.vtodo?.let(iCalendar::fromVtodo) ?: return@forEach
|
||||
remoteTask
|
||||
.reminders
|
||||
.onEach { alarm -> alarm.task = caldav.id }
|
||||
.let { alarms -> alarmDao.insert(alarms) }
|
||||
}
|
||||
taskDao.touch(existingAlarms)
|
||||
}
|
||||
|
||||
companion object {
|
||||
const val VERSION = 120400
|
||||
}
|
||||
}
|
@ -0,0 +1,39 @@
|
||||
BEGIN:VCALENDAR
|
||||
CALSCALE:GREGORIAN
|
||||
PRODID:-//Apple Inc.//iOS 12.1//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VTIMEZONE
|
||||
TZID:America/Chicago
|
||||
BEGIN:DAYLIGHT
|
||||
DTSTART:20070311T020000
|
||||
RRULE:FREQ=YEARLY;BYMONTH=3;BYDAY=2SU
|
||||
TZNAME:CDT
|
||||
TZOFFSETFROM:-0600
|
||||
TZOFFSETTO:-0500
|
||||
END:DAYLIGHT
|
||||
BEGIN:STANDARD
|
||||
DTSTART:20071104T020000
|
||||
RRULE:FREQ=YEARLY;BYMONTH=11;BYDAY=1SU
|
||||
TZNAME:CST
|
||||
TZOFFSETFROM:-0500
|
||||
TZOFFSETTO:-0600
|
||||
END:STANDARD
|
||||
END:VTIMEZONE
|
||||
BEGIN:VTODO
|
||||
CREATED:20220119T045003Z
|
||||
DTSTAMP:20220119T045013Z
|
||||
DTSTART;TZID=America/Chicago:20220118T230000
|
||||
DUE;TZID=America/Chicago:20220118T230000
|
||||
LAST-MODIFIED:20220119T045013Z
|
||||
STATUS:NEEDS-ACTION
|
||||
SUMMARY:Test
|
||||
UID:A11D558C-3BC3-45FE-B95E-8B1F0023CB17
|
||||
BEGIN:VALARM
|
||||
ACTION:DISPLAY
|
||||
DESCRIPTION:Reminder
|
||||
TRIGGER;VALUE=DATE-TIME:20220119T050000Z
|
||||
UID:2CBB42D2-039E-4F6B-BFDF-761632A15305
|
||||
X-WR-ALARMUID:2CBB42D2-039E-4F6B-BFDF-761632A15305
|
||||
END:VALARM
|
||||
END:VTODO
|
||||
END:VCALENDAR
|
@ -0,0 +1,25 @@
|
||||
BEGIN:VCALENDAR
|
||||
CALSCALE:GREGORIAN
|
||||
PRODID:-//Apple Inc.//iOS 12.1//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VTODO
|
||||
CREATED:20220119T050820Z
|
||||
DTSTAMP:20220119T050843Z
|
||||
LAST-MODIFIED:20220119T050843Z
|
||||
STATUS:NEEDS-ACTION
|
||||
SUMMARY:Test
|
||||
UID:5F1A1AD2-6412-4F61-AE56-7D0EE8CE4CE5
|
||||
BEGIN:VALARM
|
||||
ACTION:DISPLAY
|
||||
DESCRIPTION:Reminder
|
||||
TRIGGER;VALUE=DATE-TIME:19760401T005545Z
|
||||
UID:9EF67428-7209-4EA4-9029-4049F577F4FF
|
||||
X-APPLE-PROXIMITY:ARRIVE
|
||||
X-APPLE-STRUCTURED-LOCATION;VALUE=URI;X-ADDRESS=1600 Amphitheatre Pkwy\\
|
||||
nMountain View CA 94043\\nUnited States;X-APPLE-RADIUS=141.1748408176572
|
||||
;X-APPLE-REFERENCEFRAME=1;X-TITLE=Google Mountain View - Headquarters:ge
|
||||
o:37.422338,-122.084370
|
||||
X-WR-ALARMUID:9EF67428-7209-4EA4-9029-4049F577F4FF
|
||||
END:VALARM
|
||||
END:VTODO
|
||||
END:VCALENDAR
|
@ -0,0 +1,25 @@
|
||||
BEGIN:VCALENDAR
|
||||
CALSCALE:GREGORIAN
|
||||
PRODID:-//Apple Inc.//iOS 12.1//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VTODO
|
||||
CREATED:20220119T050930Z
|
||||
DTSTAMP:20220119T050938Z
|
||||
LAST-MODIFIED:20220119T050937Z
|
||||
STATUS:NEEDS-ACTION
|
||||
SUMMARY:Test
|
||||
UID:E41BC37A-6261-4172-96F6-1B8FF9F74380
|
||||
BEGIN:VALARM
|
||||
ACTION:DISPLAY
|
||||
DESCRIPTION:Reminder
|
||||
TRIGGER;VALUE=DATE-TIME:19760401T005545Z
|
||||
UID:9E6BDF76-8FA4-4B22-AE14-FD2A43BC4D18
|
||||
X-APPLE-PROXIMITY:DEPART
|
||||
X-APPLE-STRUCTURED-LOCATION;VALUE=URI;X-ADDRESS=1600 Amphitheatre Pkwy\\
|
||||
nMountain View CA 94043\\nUnited States;X-APPLE-RADIUS=141.1748408176572
|
||||
;X-APPLE-REFERENCEFRAME=1;X-TITLE=Google Mountain View - Headquarters:ge
|
||||
o:37.422338,-122.084370
|
||||
X-WR-ALARMUID:9E6BDF76-8FA4-4B22-AE14-FD2A43BC4D18
|
||||
END:VALARM
|
||||
END:VTODO
|
||||
END:VCALENDAR
|
@ -0,0 +1,17 @@
|
||||
BEGIN:VCALENDAR
|
||||
PRODID:-//Mozilla.org/NONSGML Mozilla Calendar V1.1//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VTODO
|
||||
CREATED:20220121T053659Z
|
||||
LAST-MODIFIED:20220121T053753Z
|
||||
DTSTAMP:20220121T053753Z
|
||||
UID:e7cd55dc-9519-2a45-8630-4b632a4ca297
|
||||
SUMMARY:Test
|
||||
PERCENT-COMPLETE:0
|
||||
BEGIN:VALARM
|
||||
ACTION:DISPLAY
|
||||
TRIGGER;VALUE=DATE-TIME:20220121T190000Z
|
||||
DESCRIPTION:Default Mozilla Description
|
||||
END:VALARM
|
||||
END:VTODO
|
||||
END:VCALENDAR
|
@ -0,0 +1,35 @@
|
||||
BEGIN:VCALENDAR
|
||||
PRODID:-//Mozilla.org/NONSGML Mozilla Calendar V1.1//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VTIMEZONE
|
||||
TZID:America/Chicago
|
||||
BEGIN:DAYLIGHT
|
||||
TZOFFSETFROM:-0600
|
||||
TZOFFSETTO:-0500
|
||||
TZNAME:CDT
|
||||
DTSTART:19700308T020000
|
||||
RRULE:FREQ=YEARLY;BYDAY=2SU;BYMONTH=3
|
||||
END:DAYLIGHT
|
||||
BEGIN:STANDARD
|
||||
TZOFFSETFROM:-0500
|
||||
TZOFFSETTO:-0600
|
||||
TZNAME:CST
|
||||
DTSTART:19701101T020000
|
||||
RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=11
|
||||
END:STANDARD
|
||||
END:VTIMEZONE
|
||||
BEGIN:VTODO
|
||||
CREATED:20220206T055100Z
|
||||
LAST-MODIFIED:20220206T055130Z
|
||||
DTSTAMP:20220206T055130Z
|
||||
UID:796d08f4-dd49-4749-94ba-6ce2ff0aae22
|
||||
SUMMARY:Test
|
||||
DTSTART;TZID=America/Chicago:20230201T230000
|
||||
PERCENT-COMPLETE:0
|
||||
BEGIN:VALARM
|
||||
ACTION:DISPLAY
|
||||
TRIGGER;VALUE=DURATION:-P50D
|
||||
DESCRIPTION:Default Mozilla Description
|
||||
END:VALARM
|
||||
END:VTODO
|
||||
END:VCALENDAR
|
@ -0,0 +1,37 @@
|
||||
BEGIN:VCALENDAR
|
||||
PRODID:-//Mozilla.org/NONSGML Mozilla Calendar V1.1//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VTIMEZONE
|
||||
TZID:America/Chicago
|
||||
BEGIN:DAYLIGHT
|
||||
TZOFFSETFROM:-0600
|
||||
TZOFFSETTO:-0500
|
||||
TZNAME:CDT
|
||||
DTSTART:19700308T020000
|
||||
RRULE:FREQ=YEARLY;BYDAY=2SU;BYMONTH=3
|
||||
END:DAYLIGHT
|
||||
BEGIN:STANDARD
|
||||
TZOFFSETFROM:-0500
|
||||
TZOFFSETTO:-0600
|
||||
TZNAME:CST
|
||||
DTSTART:19701101T020000
|
||||
RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=11
|
||||
END:STANDARD
|
||||
END:VTIMEZONE
|
||||
BEGIN:VTODO
|
||||
CREATED:20220121T054934Z
|
||||
LAST-MODIFIED:20220121T055843Z
|
||||
DTSTAMP:20220121T055843Z
|
||||
UID:5b3a42d5-e99c-2f47-87d5-8ba0e2b753ab
|
||||
SUMMARY:Test
|
||||
DUE;TZID=America/Chicago:20220121T130000
|
||||
PERCENT-COMPLETE:0
|
||||
X-MOZ-GENERATION:3
|
||||
SEQUENCE:1
|
||||
BEGIN:VALARM
|
||||
ACTION:DISPLAY
|
||||
TRIGGER;VALUE=DURATION;RELATED=END:PT15M
|
||||
DESCRIPTION:Default Mozilla Description
|
||||
END:VALARM
|
||||
END:VTODO
|
||||
END:VCALENDAR
|
@ -0,0 +1,37 @@
|
||||
BEGIN:VCALENDAR
|
||||
PRODID:-//Mozilla.org/NONSGML Mozilla Calendar V1.1//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VTIMEZONE
|
||||
TZID:America/Chicago
|
||||
BEGIN:DAYLIGHT
|
||||
TZOFFSETFROM:-0600
|
||||
TZOFFSETTO:-0500
|
||||
TZNAME:CDT
|
||||
DTSTART:19700308T020000
|
||||
RRULE:FREQ=YEARLY;BYDAY=2SU;BYMONTH=3
|
||||
END:DAYLIGHT
|
||||
BEGIN:STANDARD
|
||||
TZOFFSETFROM:-0500
|
||||
TZOFFSETTO:-0600
|
||||
TZNAME:CST
|
||||
DTSTART:19701101T020000
|
||||
RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=11
|
||||
END:STANDARD
|
||||
END:VTIMEZONE
|
||||
BEGIN:VTODO
|
||||
CREATED:20220121T054934Z
|
||||
LAST-MODIFIED:20220121T055642Z
|
||||
DTSTAMP:20220121T055642Z
|
||||
UID:5b3a42d5-e99c-2f47-87d5-8ba0e2b753ab
|
||||
SUMMARY:Test
|
||||
DTSTART;TZID=America/Chicago:20220121T130000
|
||||
DUE;TZID=America/Chicago:20220121T130000
|
||||
PERCENT-COMPLETE:0
|
||||
X-MOZ-GENERATION:1
|
||||
BEGIN:VALARM
|
||||
ACTION:DISPLAY
|
||||
TRIGGER;VALUE=DURATION:PT15M
|
||||
DESCRIPTION:Default Mozilla Description
|
||||
END:VALARM
|
||||
END:VTODO
|
||||
END:VCALENDAR
|
@ -0,0 +1,35 @@
|
||||
BEGIN:VCALENDAR
|
||||
PRODID:-//Mozilla.org/NONSGML Mozilla Calendar V1.1//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VTIMEZONE
|
||||
TZID:America/Chicago
|
||||
BEGIN:DAYLIGHT
|
||||
TZOFFSETFROM:-0600
|
||||
TZOFFSETTO:-0500
|
||||
TZNAME:CDT
|
||||
DTSTART:19700308T020000
|
||||
RRULE:FREQ=YEARLY;BYDAY=2SU;BYMONTH=3
|
||||
END:DAYLIGHT
|
||||
BEGIN:STANDARD
|
||||
TZOFFSETFROM:-0500
|
||||
TZOFFSETTO:-0600
|
||||
TZNAME:CST
|
||||
DTSTART:19701101T020000
|
||||
RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=11
|
||||
END:STANDARD
|
||||
END:VTIMEZONE
|
||||
BEGIN:VTODO
|
||||
CREATED:20220205T213726Z
|
||||
LAST-MODIFIED:20220205T213750Z
|
||||
DTSTAMP:20220205T213750Z
|
||||
UID:7d5eca48-9faa-294c-8155-052a4e49f342
|
||||
SUMMARY:Test
|
||||
DTSTART;TZID=America/Chicago:20220205T160000
|
||||
PERCENT-COMPLETE:0
|
||||
BEGIN:VALARM
|
||||
ACTION:DISPLAY
|
||||
TRIGGER;VALUE=DURATION:PT0S
|
||||
DESCRIPTION:Default Mozilla Description
|
||||
END:VALARM
|
||||
END:VTODO
|
||||
END:VCALENDAR
|
@ -0,0 +1,37 @@
|
||||
BEGIN:VCALENDAR
|
||||
PRODID:-//Mozilla.org/NONSGML Mozilla Calendar V1.1//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VTIMEZONE
|
||||
TZID:America/Chicago
|
||||
BEGIN:DAYLIGHT
|
||||
TZOFFSETFROM:-0600
|
||||
TZOFFSETTO:-0500
|
||||
TZNAME:CDT
|
||||
DTSTART:19700308T020000
|
||||
RRULE:FREQ=YEARLY;BYDAY=2SU;BYMONTH=3
|
||||
END:DAYLIGHT
|
||||
BEGIN:STANDARD
|
||||
TZOFFSETFROM:-0500
|
||||
TZOFFSETTO:-0600
|
||||
TZNAME:CST
|
||||
DTSTART:19701101T020000
|
||||
RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=11
|
||||
END:STANDARD
|
||||
END:VTIMEZONE
|
||||
BEGIN:VTODO
|
||||
CREATED:20220121T054934Z
|
||||
LAST-MODIFIED:20220121T055751Z
|
||||
DTSTAMP:20220121T055751Z
|
||||
UID:5b3a42d5-e99c-2f47-87d5-8ba0e2b753ab
|
||||
SUMMARY:Test
|
||||
DUE;TZID=America/Chicago:20220121T130000
|
||||
PERCENT-COMPLETE:0
|
||||
X-MOZ-GENERATION:2
|
||||
SEQUENCE:1
|
||||
BEGIN:VALARM
|
||||
ACTION:DISPLAY
|
||||
TRIGGER;VALUE=DURATION;RELATED=END:-PT15M
|
||||
DESCRIPTION:Default Mozilla Description
|
||||
END:VALARM
|
||||
END:VTODO
|
||||
END:VCALENDAR
|
@ -0,0 +1,36 @@
|
||||
BEGIN:VCALENDAR
|
||||
PRODID:-//Mozilla.org/NONSGML Mozilla Calendar V1.1//EN
|
||||
VERSION:2.0
|
||||
BEGIN:VTIMEZONE
|
||||
TZID:America/Chicago
|
||||
BEGIN:DAYLIGHT
|
||||
TZOFFSETFROM:-0600
|
||||
TZOFFSETTO:-0500
|
||||
TZNAME:CDT
|
||||
DTSTART:19700308T020000
|
||||
RRULE:FREQ=YEARLY;BYDAY=2SU;BYMONTH=3
|
||||
END:DAYLIGHT
|
||||
BEGIN:STANDARD
|
||||
TZOFFSETFROM:-0500
|
||||
TZOFFSETTO:-0600
|
||||
TZNAME:CST
|
||||
DTSTART:19701101T020000
|
||||
RRULE:FREQ=YEARLY;BYDAY=1SU;BYMONTH=11
|
||||
END:STANDARD
|
||||
END:VTIMEZONE
|
||||
BEGIN:VTODO
|
||||
CREATED:20220121T054934Z
|
||||
LAST-MODIFIED:20220121T054956Z
|
||||
DTSTAMP:20220121T054956Z
|
||||
UID:5b3a42d5-e99c-2f47-87d5-8ba0e2b753ab
|
||||
SUMMARY:Test
|
||||
DTSTART;TZID=America/Chicago:20220121T130000
|
||||
DUE;TZID=America/Chicago:20220121T130000
|
||||
PERCENT-COMPLETE:0
|
||||
BEGIN:VALARM
|
||||
ACTION:DISPLAY
|
||||
TRIGGER;VALUE=DURATION:-PT1H
|
||||
DESCRIPTION:Default Mozilla Description
|
||||
END:VALARM
|
||||
END:VTODO
|
||||
END:VCALENDAR
|
Loading…
Reference in New Issue