Skip to content

Commit aba8d71

Browse files
committed
apply the selected filters at tasks too
1 parent ea31dc6 commit aba8d71

2 files changed

Lines changed: 17 additions & 12 deletions

File tree

app/src/main/kotlin/com/simplemobiletools/calendar/pro/helpers/EventsHelper.kt

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -272,30 +272,35 @@ class EventsHelper(val context: Context) {
272272
val birthDayEventId = getBirthdaysEventTypeId(createIfNotExists = false)
273273
val anniversaryEventId = getAnniversariesEventTypeId(createIfNotExists = false)
274274

275-
var events = if (applyTypeFilter) {
275+
var events = ArrayList<Event>()
276+
if (applyTypeFilter) {
276277
val displayEventTypes = context.config.displayEventTypes
277278
if (displayEventTypes.isEmpty()) {
278279
callback(ArrayList())
279280
return
280281
} else {
281282
try {
282-
eventsDB.getOneTimeEventsFromToWithTypes(toTS, fromTS, context.config.getDisplayEventTypessAsList()).toMutableList() as ArrayList<Event>
283+
val typesList = context.config.getDisplayEventTypessAsList()
284+
events.addAll(eventsDB.getTasksFromTo(fromTS, toTS, typesList))
285+
286+
events.addAll(eventsDB.getOneTimeEventsFromToWithTypes(toTS, fromTS, typesList).toMutableList() as ArrayList<Event>)
283287
} catch (e: Exception) {
284-
ArrayList()
285288
}
286289
}
287290
} else {
288-
if (eventId == -1L) {
289-
eventsDB.getOneTimeEventsFromTo(toTS, fromTS).toMutableList() as ArrayList<Event>
290-
} else {
291-
eventsDB.getOneTimeEventFromToWithId(eventId, toTS, fromTS).toMutableList() as ArrayList<Event>
292-
}
291+
events.addAll(eventsDB.getTasksFromTo(fromTS, toTS, ArrayList()))
292+
293+
events.addAll(
294+
if (eventId == -1L) {
295+
eventsDB.getOneTimeEventsFromTo(toTS, fromTS).toMutableList() as ArrayList<Event>
296+
} else {
297+
eventsDB.getOneTimeEventFromToWithId(eventId, toTS, fromTS).toMutableList() as ArrayList<Event>
298+
}
299+
)
293300
}
294301

295302
events.addAll(getRepeatableEventsFor(fromTS, toTS, eventId, applyTypeFilter))
296303

297-
events.addAll(eventsDB.getTasksFromTo(fromTS, toTS))
298-
299304
events = events
300305
.asSequence()
301306
.distinct()

app/src/main/kotlin/com/simplemobiletools/calendar/pro/interfaces/EventsDao.kt

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -27,8 +27,8 @@ interface EventsDao {
2727
@Query("SELECT * FROM events WHERE start_ts <= :toTS AND end_ts >= :fromTS AND repeat_interval = 0 AND type = $TYPE_EVENT")
2828
fun getOneTimeEventsFromTo(toTS: Long, fromTS: Long): List<Event>
2929

30-
@Query("SELECT * FROM events WHERE start_ts <= :toTS AND start_ts >= :fromTS AND type = $TYPE_TASK")
31-
fun getTasksFromTo(fromTS: Long, toTS: Long): List<Event>
30+
@Query("SELECT * FROM events WHERE start_ts <= :toTS AND start_ts >= :fromTS AND event_type IN (:eventTypeIds) AND type = $TYPE_TASK")
31+
fun getTasksFromTo(fromTS: Long, toTS: Long, eventTypeIds: List<Long>): List<Event>
3232

3333
@Query("SELECT * FROM events WHERE id = :id AND start_ts <= :toTS AND end_ts >= :fromTS AND repeat_interval = 0 AND type = $TYPE_EVENT")
3434
fun getOneTimeEventFromToWithId(id: Long, toTS: Long, fromTS: Long): List<Event>

0 commit comments

Comments
 (0)