Check calendar permission in CalendarRepositoryImpl::getUpcomingEvents
This commit is contained in:
parent
ff0aafa41a
commit
8ce84cfe22
@ -156,23 +156,30 @@ class CalendarRepositoryImpl(
|
|||||||
}
|
}
|
||||||
|
|
||||||
override fun getUpcomingEvents(): Flow<List<CalendarEvent>> = channelFlow {
|
override fun getUpcomingEvents(): Flow<List<CalendarEvent>> = channelFlow {
|
||||||
dataStore.data.map { it.calendarWidget }.collectLatest { settings ->
|
val hasPermission = permissionsManager.hasPermission(PermissionGroup.Calendar)
|
||||||
hiddenItems.collectLatest { hidden ->
|
hasPermission.collectLatest {
|
||||||
val now = System.currentTimeMillis()
|
if (it) {
|
||||||
val end = now + 14 * 24 * 60 * 60 * 1000L
|
dataStore.data.map { it.calendarWidget }.collectLatest { settings ->
|
||||||
val events = withContext(Dispatchers.IO) {
|
hiddenItems.collectLatest { hidden ->
|
||||||
queryCalendarEvents(
|
val now = System.currentTimeMillis()
|
||||||
query = "",
|
val end = now + 14 * 24 * 60 * 60 * 1000L
|
||||||
intervalStart = now,
|
val events = withContext(Dispatchers.IO) {
|
||||||
intervalEnd = end,
|
queryCalendarEvents(
|
||||||
limit = 700,
|
query = "",
|
||||||
excludeAllDayEvents = settings.hideAlldayEvents,
|
intervalStart = now,
|
||||||
excludeCalendars = settings.excludeCalendarsList
|
intervalEnd = end,
|
||||||
).filter {
|
limit = 700,
|
||||||
!hiddenItems.value.contains(it.key)
|
excludeAllDayEvents = settings.hideAlldayEvents,
|
||||||
|
excludeCalendars = settings.excludeCalendarsList
|
||||||
|
).filter {
|
||||||
|
!hiddenItems.value.contains(it.key)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
send(events)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
send(events)
|
} else {
|
||||||
|
send(emptyList())
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user