Commit Graph

26 Commits

Author SHA1 Message Date
4836618609 Stop calendar queries emitting an empty list before they have run
`queryCalendarEvents` forwarded the `MutableStateFlow` it accumulates
the provider results in, so the initial empty value was the first thing
collectors saw - before any provider had reported. Callers in the
launcher take that first result (`CalendarPartProvider` uses `.first()`)
and cannot tell it apart from "no events", so the agenda stayed empty
and its part never showed up.

`CalendarRepository.findMany`'s 500 ms debounce used to hide this: the
placeholder was superseded by the real list within the debounce window,
which is exactly why the agenda only ever appeared half a second late.

Keep the accumulator null until the first provider reports, and let
`findMany` - a one-shot query for the clock and calendar widgets - wait
for all providers (`awaitAllProviders`) so it never hands out a partial
list. The search path keeps streaming results as providers report, now
without an empty flash.
2026-09-11 21:17:57 +02:00
3b3d6473ca Don't debounce the agenda query in the clock widget
`CalendarRepository.findMany` holds every result back by 500 ms, which
was added for the calendar widget to collapse bursts of plugin and
permission changes. `debounce` delays the first result too, so the
agenda part - whose ranking stays 0 until the first result arrives -
only appeared half a second after the clock and the other parts.

The agenda is re-queried on a calendar change or every 15 minutes, so
it does not need the debounce. Make the delay a parameter (still 500 ms
by default) and pass 0 from `CalendarPartProvider`.
2026-09-11 21:01:00 +02:00
MM20
64dc66aadb Update dependencies, change java version to 11, update Gradle 2026-08-12 23:42:41 +02:00
MM20
06982b6e5a Specify compile sdk minor version
Close #1867
2026-04-14 20:00:45 +02:00
MM20
37fa1697dd Migrate to Android Gradle Plugin 9 2026-03-28 16:02:54 +01:00
MM20
bb2874bb69 Hide calendar events without title
Close #1683
2025-11-23 15:54:44 +01:00
MM20
d4549069b8 modernize gradle scripts 2025-08-16 16:34:03 +02:00
leekleak
37e73c1dd4 Reduce calendar refreshes (#1459)
* reduce calendar refreshes

* Revert "reduce calendar refreshes"

This reverts commit 1d8380d620b6706e5429d298745cf6563d48eb0e.

* debounce
2025-07-03 21:21:01 +02:00
MM20
b36b8e5555 Explicitely set tasks package name for tasks intent 2025-05-10 12:28:22 +02:00
MM20
2267fac67f Assume tasks without specified due time to be due at midnight at the end of day
Close #1403
2025-05-03 20:22:12 +02:00
MM20
f97fb0a88d Calendar widget: separate running tasks from running events 2025-04-30 19:29:03 +02:00
MM20
7132e69ec8 Add tasks.org integration 2025-04-26 13:29:58 +02:00
MM20
ac4ba139d5 Add plugin calendar event badge icon 2024-09-28 17:34:46 +02:00
MM20
4c48ebd7e5 Fix calendar event deserialization when startTime is null 2024-09-27 13:55:10 +02:00
MM20
cc9bff436a Restructure calendar widget settings 2024-08-16 23:26:26 +02:00
MM20
bf29ce6f08 Add type parameter to calendar list 2024-08-15 17:55:45 +02:00
MM20
1dad8b48d5 Add calendar plugin preferences 2024-08-06 21:10:54 +02:00
MM20
7479c7f401 Add calendar plugins 2024-08-04 17:40:46 +02:00
MM20
426473e397 Add API to control online search 2024-01-28 21:35:36 +01:00
MM20
92ddc75060 Refactor preferences module 2024-01-19 22:29:37 +01:00
MM20
6cbf37a9f9 Fix calendar widget 2023-11-25 21:07:07 +01:00
MM20
957358c79a Annual refactor 2023-10-28 14:20:16 +02:00
MM20
2d5a0bf5a7 Modernize gradle scripts, migrate to TOML version catalog 2023-10-05 21:54:19 +02:00
MM20
df1aa8c119 Reuse search result item viewmodels 2023-04-21 13:37:00 +02:00
MM20
41a0157983 Tweak search query thresholds 2022-12-21 19:35:33 +01:00
MM20
3f8880a90a Reorganize and group modules 2022-12-13 17:37:26 +01:00