mirror of
https://github.com/SimpleMobileTools/Simple-Calendar.git
synced 2025-02-07 15:38:54 +01:00
fetch tasks with events too
This commit is contained in:
parent
13e9084f2d
commit
a114e37643
@ -144,6 +144,7 @@ class TaskActivity : SimpleActivity() {
|
||||
config.lastUsedLocalEventTypeId = mEventTypeId
|
||||
mTask.apply {
|
||||
startTS = mTaskDateTime.withSecondOfMinute(0).withMillisOfSecond(0).seconds()
|
||||
endTS = startTS
|
||||
title = newTitle
|
||||
description = task_description.value
|
||||
flags = mTask.flags.addBitIf(task_all_day.isChecked, FLAG_ALL_DAY)
|
||||
|
@ -294,6 +294,8 @@ class EventsHelper(val context: Context) {
|
||||
|
||||
events.addAll(getRepeatableEventsFor(fromTS, toTS, eventId, applyTypeFilter))
|
||||
|
||||
events.addAll(eventsDB.getTasksFromTo(fromTS, toTS))
|
||||
|
||||
events = events
|
||||
.asSequence()
|
||||
.distinct()
|
||||
|
@ -4,9 +4,7 @@ import androidx.room.Dao
|
||||
import androidx.room.Insert
|
||||
import androidx.room.OnConflictStrategy
|
||||
import androidx.room.Query
|
||||
import com.simplemobiletools.calendar.pro.helpers.REGULAR_EVENT_TYPE_ID
|
||||
import com.simplemobiletools.calendar.pro.helpers.SOURCE_CONTACT_ANNIVERSARY
|
||||
import com.simplemobiletools.calendar.pro.helpers.SOURCE_CONTACT_BIRTHDAY
|
||||
import com.simplemobiletools.calendar.pro.helpers.*
|
||||
import com.simplemobiletools.calendar.pro.models.Event
|
||||
|
||||
@Dao
|
||||
@ -14,95 +12,98 @@ interface EventsDao {
|
||||
@Query("SELECT * FROM events")
|
||||
fun getAllEvents(): List<Event>
|
||||
|
||||
@Query("SELECT * FROM events WHERE event_type IN (:eventTypeIds)")
|
||||
@Query("SELECT * FROM events WHERE event_type IN (:eventTypeIds) AND type = $TYPE_EVENT")
|
||||
fun getAllEventsWithTypes(eventTypeIds: List<Long>): List<Event>
|
||||
|
||||
@Query("SELECT * FROM events WHERE id = :id")
|
||||
@Query("SELECT * FROM events WHERE id = :id AND type = $TYPE_EVENT")
|
||||
fun getEventWithId(id: Long): Event?
|
||||
|
||||
@Query("SELECT * FROM events WHERE import_id = :importId")
|
||||
@Query("SELECT * FROM events WHERE import_id = :importId AND type = $TYPE_EVENT")
|
||||
fun getEventWithImportId(importId: String): Event?
|
||||
|
||||
@Query("SELECT * FROM events WHERE start_ts <= :toTS AND end_ts >= :fromTS AND repeat_interval = 0")
|
||||
@Query("SELECT * FROM events WHERE start_ts <= :toTS AND end_ts >= :fromTS AND repeat_interval = 0 AND type = $TYPE_EVENT")
|
||||
fun getOneTimeEventsFromTo(toTS: Long, fromTS: Long): List<Event>
|
||||
|
||||
@Query("SELECT * FROM events WHERE id = :id AND start_ts <= :toTS AND end_ts >= :fromTS AND repeat_interval = 0")
|
||||
@Query("SELECT * FROM events WHERE start_ts <= :toTS AND start_ts >= :fromTS AND type = $TYPE_TASK")
|
||||
fun getTasksFromTo(fromTS: Long, toTS: Long): List<Event>
|
||||
|
||||
@Query("SELECT * FROM events WHERE id = :id AND start_ts <= :toTS AND end_ts >= :fromTS AND repeat_interval = 0 AND type = $TYPE_EVENT")
|
||||
fun getOneTimeEventFromToWithId(id: Long, toTS: Long, fromTS: Long): List<Event>
|
||||
|
||||
@Query("SELECT * FROM events WHERE start_ts <= :toTS AND end_ts >= :fromTS AND start_ts != 0 AND repeat_interval = 0 AND event_type IN (:eventTypeIds)")
|
||||
@Query("SELECT * FROM events WHERE start_ts <= :toTS AND end_ts >= :fromTS AND start_ts != 0 AND repeat_interval = 0 AND event_type IN (:eventTypeIds) AND type = $TYPE_EVENT")
|
||||
fun getOneTimeEventsFromToWithTypes(toTS: Long, fromTS: Long, eventTypeIds: List<Long>): List<Event>
|
||||
|
||||
@Query("SELECT * FROM events WHERE end_ts > :toTS AND repeat_interval = 0 AND event_type IN (:eventTypeIds)")
|
||||
@Query("SELECT * FROM events WHERE end_ts > :toTS AND repeat_interval = 0 AND event_type IN (:eventTypeIds) AND type = $TYPE_EVENT")
|
||||
fun getOneTimeFutureEventsWithTypes(toTS: Long, eventTypeIds: List<Long>): List<Event>
|
||||
|
||||
@Query("SELECT * FROM events WHERE start_ts <= :toTS AND repeat_interval != 0")
|
||||
@Query("SELECT * FROM events WHERE start_ts <= :toTS AND repeat_interval != 0 AND type = $TYPE_EVENT")
|
||||
fun getRepeatableEventsFromToWithTypes(toTS: Long): List<Event>
|
||||
|
||||
@Query("SELECT * FROM events WHERE id = :id AND start_ts <= :toTS AND repeat_interval != 0")
|
||||
@Query("SELECT * FROM events WHERE id = :id AND start_ts <= :toTS AND repeat_interval != 0 AND type = $TYPE_EVENT")
|
||||
fun getRepeatableEventFromToWithId(id: Long, toTS: Long): List<Event>
|
||||
|
||||
@Query("SELECT * FROM events WHERE start_ts <= :toTS AND start_ts != 0 AND repeat_interval != 0 AND event_type IN (:eventTypeIds)")
|
||||
@Query("SELECT * FROM events WHERE start_ts <= :toTS AND start_ts != 0 AND repeat_interval != 0 AND event_type IN (:eventTypeIds) AND type = $TYPE_EVENT")
|
||||
fun getRepeatableEventsFromToWithTypes(toTS: Long, eventTypeIds: List<Long>): List<Event>
|
||||
|
||||
@Query("SELECT * FROM events WHERE repeat_interval != 0 AND (repeat_limit == 0 OR repeat_limit > :currTS) AND event_type IN (:eventTypeIds)")
|
||||
@Query("SELECT * FROM events WHERE repeat_interval != 0 AND (repeat_limit == 0 OR repeat_limit > :currTS) AND event_type IN (:eventTypeIds) AND type = $TYPE_EVENT")
|
||||
fun getRepeatableFutureEventsWithTypes(currTS: Long, eventTypeIds: List<Long>): List<Event>
|
||||
|
||||
@Query("SELECT * FROM events WHERE id IN (:ids) AND import_id != \"\"")
|
||||
@Query("SELECT * FROM events WHERE id IN (:ids) AND import_id != \"\" AND type = $TYPE_EVENT")
|
||||
fun getEventsByIdsWithImportIds(ids: List<Long>): List<Event>
|
||||
|
||||
@Query("SELECT * FROM events WHERE title LIKE :searchQuery OR location LIKE :searchQuery OR description LIKE :searchQuery")
|
||||
@Query("SELECT * FROM events WHERE title LIKE :searchQuery OR location LIKE :searchQuery OR description LIKE :searchQuery AND type = $TYPE_EVENT")
|
||||
fun getEventsForSearch(searchQuery: String): List<Event>
|
||||
|
||||
@Query("SELECT * FROM events WHERE source = \'$SOURCE_CONTACT_BIRTHDAY\'")
|
||||
@Query("SELECT * FROM events WHERE source = \'$SOURCE_CONTACT_BIRTHDAY\' AND type = $TYPE_EVENT")
|
||||
fun getBirthdays(): List<Event>
|
||||
|
||||
@Query("SELECT * FROM events WHERE source = \'$SOURCE_CONTACT_ANNIVERSARY\'")
|
||||
@Query("SELECT * FROM events WHERE source = \'$SOURCE_CONTACT_ANNIVERSARY\' AND type = $TYPE_EVENT")
|
||||
fun getAnniversaries(): List<Event>
|
||||
|
||||
@Query("SELECT * FROM events WHERE import_id != \"\"")
|
||||
@Query("SELECT * FROM events WHERE import_id != \"\" AND type = $TYPE_EVENT")
|
||||
fun getEventsWithImportIds(): List<Event>
|
||||
|
||||
@Query("SELECT * FROM events WHERE source = :source")
|
||||
@Query("SELECT * FROM events WHERE source = :source AND type = $TYPE_EVENT")
|
||||
fun getEventsFromCalDAVCalendar(source: String): List<Event>
|
||||
|
||||
@Query("SELECT * FROM events WHERE id IN (:ids)")
|
||||
@Query("SELECT * FROM events WHERE id IN (:ids) AND type = $TYPE_EVENT")
|
||||
fun getEventsWithIds(ids: List<Long>): List<Event>
|
||||
|
||||
//val selection = "$COL_REMINDER_MINUTES != -1 AND ($COL_START_TS > ? OR $COL_REPEAT_INTERVAL != 0) AND $COL_START_TS != 0"
|
||||
@Query("SELECT * FROM events WHERE reminder_1_minutes != -1 AND (start_ts > :currentTS OR repeat_interval != 0) AND start_ts != 0")
|
||||
@Query("SELECT * FROM events WHERE reminder_1_minutes != -1 AND (start_ts > :currentTS OR repeat_interval != 0) AND start_ts != 0 AND type = $TYPE_EVENT")
|
||||
fun getEventsAtReboot(currentTS: Long): List<Event>
|
||||
|
||||
@Query("SELECT id FROM events")
|
||||
fun getEventIds(): List<Long>
|
||||
|
||||
@Query("SELECT id FROM events WHERE import_id = :importId")
|
||||
@Query("SELECT id FROM events WHERE import_id = :importId AND type = $TYPE_EVENT")
|
||||
fun getEventIdWithImportId(importId: String): Long?
|
||||
|
||||
@Query("SELECT id FROM events WHERE import_id LIKE :importId")
|
||||
@Query("SELECT id FROM events WHERE import_id LIKE :importId AND type = $TYPE_EVENT")
|
||||
fun getEventIdWithLastImportId(importId: String): Long?
|
||||
|
||||
@Query("SELECT id FROM events WHERE event_type = :eventTypeId")
|
||||
@Query("SELECT id FROM events WHERE event_type = :eventTypeId AND type = $TYPE_EVENT")
|
||||
fun getEventIdsByEventType(eventTypeId: Long): List<Long>
|
||||
|
||||
@Query("SELECT id FROM events WHERE event_type IN (:eventTypeIds)")
|
||||
@Query("SELECT id FROM events WHERE event_type IN (:eventTypeIds) AND type = $TYPE_EVENT")
|
||||
fun getEventIdsByEventType(eventTypeIds: List<Long>): List<Long>
|
||||
|
||||
@Query("SELECT id FROM events WHERE parent_id IN (:parentIds)")
|
||||
@Query("SELECT id FROM events WHERE parent_id IN (:parentIds) AND type = $TYPE_EVENT")
|
||||
fun getEventIdsWithParentIds(parentIds: List<Long>): List<Long>
|
||||
|
||||
@Query("SELECT id FROM events WHERE source = :source AND import_id != \"\"")
|
||||
@Query("SELECT id FROM events WHERE source = :source AND import_id != \"\" AND type = $TYPE_EVENT")
|
||||
fun getCalDAVCalendarEvents(source: String): List<Long>
|
||||
|
||||
@Query("UPDATE events SET event_type = $REGULAR_EVENT_TYPE_ID WHERE event_type = :eventTypeId")
|
||||
@Query("UPDATE events SET event_type = $REGULAR_EVENT_TYPE_ID WHERE event_type = :eventTypeId AND type = $TYPE_EVENT")
|
||||
fun resetEventsWithType(eventTypeId: Long)
|
||||
|
||||
@Query("UPDATE events SET import_id = :importId, source = :source WHERE id = :id")
|
||||
@Query("UPDATE events SET import_id = :importId, source = :source WHERE id = :id AND type = $TYPE_EVENT")
|
||||
fun updateEventImportIdAndSource(importId: String, source: String, id: Long)
|
||||
|
||||
@Query("UPDATE events SET repeat_limit = :repeatLimit WHERE id = :id")
|
||||
@Query("UPDATE events SET repeat_limit = :repeatLimit WHERE id = :id AND type = $TYPE_EVENT")
|
||||
fun updateEventRepetitionLimit(repeatLimit: Long, id: Long)
|
||||
|
||||
@Query("UPDATE events SET repetition_exceptions = :repetitionExceptions WHERE id = :id")
|
||||
@Query("UPDATE events SET repetition_exceptions = :repetitionExceptions WHERE id = :id AND type = $TYPE_EVENT")
|
||||
fun updateEventRepetitionExceptions(repetitionExceptions: String, id: Long)
|
||||
|
||||
@Insert(onConflict = OnConflictStrategy.REPLACE)
|
||||
|
Loading…
x
Reference in New Issue
Block a user