mirror of
https://github.com/SimpleMobileTools/Simple-Calendar.git
synced 2025-02-12 09:50:48 +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
|
config.lastUsedLocalEventTypeId = mEventTypeId
|
||||||
mTask.apply {
|
mTask.apply {
|
||||||
startTS = mTaskDateTime.withSecondOfMinute(0).withMillisOfSecond(0).seconds()
|
startTS = mTaskDateTime.withSecondOfMinute(0).withMillisOfSecond(0).seconds()
|
||||||
|
endTS = startTS
|
||||||
title = newTitle
|
title = newTitle
|
||||||
description = task_description.value
|
description = task_description.value
|
||||||
flags = mTask.flags.addBitIf(task_all_day.isChecked, FLAG_ALL_DAY)
|
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(getRepeatableEventsFor(fromTS, toTS, eventId, applyTypeFilter))
|
||||||
|
|
||||||
|
events.addAll(eventsDB.getTasksFromTo(fromTS, toTS))
|
||||||
|
|
||||||
events = events
|
events = events
|
||||||
.asSequence()
|
.asSequence()
|
||||||
.distinct()
|
.distinct()
|
||||||
|
@ -4,9 +4,7 @@ import androidx.room.Dao
|
|||||||
import androidx.room.Insert
|
import androidx.room.Insert
|
||||||
import androidx.room.OnConflictStrategy
|
import androidx.room.OnConflictStrategy
|
||||||
import androidx.room.Query
|
import androidx.room.Query
|
||||||
import com.simplemobiletools.calendar.pro.helpers.REGULAR_EVENT_TYPE_ID
|
import com.simplemobiletools.calendar.pro.helpers.*
|
||||||
import com.simplemobiletools.calendar.pro.helpers.SOURCE_CONTACT_ANNIVERSARY
|
|
||||||
import com.simplemobiletools.calendar.pro.helpers.SOURCE_CONTACT_BIRTHDAY
|
|
||||||
import com.simplemobiletools.calendar.pro.models.Event
|
import com.simplemobiletools.calendar.pro.models.Event
|
||||||
|
|
||||||
@Dao
|
@Dao
|
||||||
@ -14,95 +12,98 @@ interface EventsDao {
|
|||||||
@Query("SELECT * FROM events")
|
@Query("SELECT * FROM events")
|
||||||
fun getAllEvents(): List<Event>
|
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>
|
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?
|
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?
|
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>
|
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>
|
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>
|
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>
|
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>
|
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>
|
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>
|
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>
|
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>
|
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>
|
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>
|
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>
|
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>
|
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>
|
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>
|
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"
|
//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>
|
fun getEventsAtReboot(currentTS: Long): List<Event>
|
||||||
|
|
||||||
@Query("SELECT id FROM events")
|
@Query("SELECT id FROM events")
|
||||||
fun getEventIds(): List<Long>
|
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?
|
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?
|
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>
|
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>
|
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>
|
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>
|
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)
|
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)
|
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)
|
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)
|
fun updateEventRepetitionExceptions(repetitionExceptions: String, id: Long)
|
||||||
|
|
||||||
@Insert(onConflict = OnConflictStrategy.REPLACE)
|
@Insert(onConflict = OnConflictStrategy.REPLACE)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user