From 5da7ac6919c543a3513a6d56b38b018103d4f2c8 Mon Sep 17 00:00:00 2001 From: Kizito Nwose Date: Sat, 27 Apr 2024 13:06:41 +0200 Subject: [PATCH] Add inputs to `rememberSaveable`. --- .../com/kizitonwose/calendar/compose/CalendarState.kt | 11 ++++++++++- .../compose/heatmapcalendar/HeatMapCalendarState.kt | 10 +++++++++- .../compose/weekcalendar/WeekCalendarState.kt | 10 +++++++++- 3 files changed, 28 insertions(+), 3 deletions(-) diff --git a/compose/src/main/java/com/kizitonwose/calendar/compose/CalendarState.kt b/compose/src/main/java/com/kizitonwose/calendar/compose/CalendarState.kt index 08c994eb..17adf85f 100644 --- a/compose/src/main/java/com/kizitonwose/calendar/compose/CalendarState.kt +++ b/compose/src/main/java/com/kizitonwose/calendar/compose/CalendarState.kt @@ -44,7 +44,16 @@ fun rememberCalendarState( firstDayOfWeek: DayOfWeek = firstDayOfWeekFromLocale(), outDateStyle: OutDateStyle = OutDateStyle.EndOfRow, ): CalendarState { - return rememberSaveable(saver = CalendarState.Saver) { + return rememberSaveable( + inputs = arrayOf( + startMonth, + endMonth, + firstVisibleMonth, + firstDayOfWeek, + outDateStyle, + ), + saver = CalendarState.Saver, + ) { CalendarState( startMonth = startMonth, endMonth = endMonth, diff --git a/compose/src/main/java/com/kizitonwose/calendar/compose/heatmapcalendar/HeatMapCalendarState.kt b/compose/src/main/java/com/kizitonwose/calendar/compose/heatmapcalendar/HeatMapCalendarState.kt index 1381b45d..5cc52091 100644 --- a/compose/src/main/java/com/kizitonwose/calendar/compose/heatmapcalendar/HeatMapCalendarState.kt +++ b/compose/src/main/java/com/kizitonwose/calendar/compose/heatmapcalendar/HeatMapCalendarState.kt @@ -43,7 +43,15 @@ fun rememberHeatMapCalendarState( firstVisibleMonth: YearMonth = startMonth, firstDayOfWeek: DayOfWeek = firstDayOfWeekFromLocale(), ): HeatMapCalendarState { - return rememberSaveable(saver = HeatMapCalendarState.Saver) { + return rememberSaveable( + inputs = arrayOf( + startMonth, + endMonth, + firstVisibleMonth, + firstDayOfWeek, + ), + saver = HeatMapCalendarState.Saver, + ) { HeatMapCalendarState( startMonth = startMonth, endMonth = endMonth, diff --git a/compose/src/main/java/com/kizitonwose/calendar/compose/weekcalendar/WeekCalendarState.kt b/compose/src/main/java/com/kizitonwose/calendar/compose/weekcalendar/WeekCalendarState.kt index 083f7a86..91b82239 100644 --- a/compose/src/main/java/com/kizitonwose/calendar/compose/weekcalendar/WeekCalendarState.kt +++ b/compose/src/main/java/com/kizitonwose/calendar/compose/weekcalendar/WeekCalendarState.kt @@ -45,7 +45,15 @@ fun rememberWeekCalendarState( firstVisibleWeekDate: LocalDate = LocalDate.now(), firstDayOfWeek: DayOfWeek = firstDayOfWeekFromLocale(), ): WeekCalendarState { - return rememberSaveable(saver = WeekCalendarState.Saver) { + return rememberSaveable( + inputs = arrayOf( + startDate, + endDate, + firstVisibleWeekDate, + firstDayOfWeek, + ), + saver = WeekCalendarState.Saver, + ) { WeekCalendarState( startDate = startDate, endDate = endDate,