Always show the next event in the calendar widget
This commit is contained in:
parent
eecc676c4b
commit
0165ac5dc8
@ -275,6 +275,8 @@
|
||||
<string name="date_tomorrow">Tomorrow</string>
|
||||
<!-- Headline used in calendar widget for pinned events -->
|
||||
<string name="calendar_widget_pinned_events">Upcoming</string>
|
||||
<!-- Headline used in calendar widget for the next event, if there is no event today -->
|
||||
<string name="calendar_widget_next_events">Next event</string>
|
||||
<string name="calendar_widget_no_events">No events today</string>
|
||||
<string name="calendar_widget_open_app">Open calendar app</string>
|
||||
<string name="calendar_widget_new_event">New event</string>
|
||||
|
||||
@ -131,6 +131,19 @@ fun CalendarWidget() {
|
||||
}
|
||||
)
|
||||
}
|
||||
val nextEvents by viewModel.nextEvents.observeAsState(emptyList())
|
||||
if (nextEvents.isNotEmpty()) {
|
||||
Text(
|
||||
stringResource(R.string.calendar_widget_next_events),
|
||||
modifier = Modifier.padding(start = 4.dp, end = 4.dp, top = 8.dp, bottom = 4.dp),
|
||||
style = MaterialTheme.typography.titleMedium
|
||||
)
|
||||
SearchResultList(
|
||||
nextEvents,
|
||||
modifier = Modifier
|
||||
.fillMaxWidth()
|
||||
)
|
||||
}
|
||||
val pinnedEvents by viewModel.pinnedCalendarEvents.observeAsState(emptyList())
|
||||
if (pinnedEvents.size > 0) {
|
||||
Text(
|
||||
|
||||
@ -31,6 +31,7 @@ class CalendarWidgetVM : ViewModel(), KoinComponent {
|
||||
val calendarEvents = MutableLiveData<List<CalendarEvent>>(emptyList())
|
||||
val pinnedCalendarEvents =
|
||||
favoritesRepository.getPinnedCalendarEvents().asLiveData(viewModelScope.coroutineContext)
|
||||
val nextEvents = MutableLiveData<List<CalendarEvent>>(emptyList())
|
||||
var availableDates = listOf(LocalDate.now())
|
||||
|
||||
private val permissionsManager: PermissionsManager by inject()
|
||||
@ -133,6 +134,12 @@ class CalendarWidgetVM : ViewModel(), KoinComponent {
|
||||
}
|
||||
|
||||
calendarEvents.postValue(events)
|
||||
val e = this.upcomingEvents
|
||||
if (events.isEmpty() && e.isNotEmpty()) {
|
||||
nextEvents.postValue(listOf(e[0]))
|
||||
} else {
|
||||
nextEvents.postValue(emptyList())
|
||||
}
|
||||
}
|
||||
|
||||
suspend fun onActive() {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user