From 5a4695faebc6049596c98cb00fa727c5b5798e91 Mon Sep 17 00:00:00 2001 From: Till Hellmund Date: Fri, 15 Apr 2022 00:37:46 -0400 Subject: [PATCH] Fix build errors --- .../alamkanak/weekview/CalendarExtensions.kt | 12 ++++++++ .../java/com/alamkanak/weekview/WeekView.kt | 2 ++ .../alamkanak/weekview/WeekViewEventTest.kt | 28 +++++++++---------- 3 files changed, 28 insertions(+), 14 deletions(-) diff --git a/core/src/main/java/com/alamkanak/weekview/CalendarExtensions.kt b/core/src/main/java/com/alamkanak/weekview/CalendarExtensions.kt index 50f69b8c..65c8bbf2 100644 --- a/core/src/main/java/com/alamkanak/weekview/CalendarExtensions.kt +++ b/core/src/main/java/com/alamkanak/weekview/CalendarExtensions.kt @@ -43,6 +43,12 @@ internal fun Calendar.plusDays(days: Int): Calendar { } } +internal fun Calendar.plusHours(hours: Int): Calendar { + return copy().apply { + add(Calendar.HOUR_OF_DAY, hours) + } +} + internal fun Calendar.addDays(days: Int) { add(Calendar.DATE, days) } @@ -53,6 +59,12 @@ internal fun Calendar.minusDays(days: Int): Calendar { } } +internal fun Calendar.minusHours(hours: Int): Calendar { + return copy().apply { + add(Calendar.HOUR_OF_DAY, hours * -1) + } +} + internal fun Calendar.plusMillis(millis: Int): Calendar { return copy().apply { add(Calendar.MILLISECOND, millis) diff --git a/core/src/main/java/com/alamkanak/weekview/WeekView.kt b/core/src/main/java/com/alamkanak/weekview/WeekView.kt index acead6bc..8287102f 100644 --- a/core/src/main/java/com/alamkanak/weekview/WeekView.kt +++ b/core/src/main/java/com/alamkanak/weekview/WeekView.kt @@ -354,6 +354,7 @@ class WeekView @JvmOverloads constructor( var headerBottomShadowColor: Int @RequiresApi(api = 29) get() = viewState.headerBackgroundWithShadowPaint.shadowLayerColor + @RequiresApi(api = 29) set(value) { val paint = viewState.headerBackgroundWithShadowPaint paint.setShadowLayer(headerBottomShadowRadius.toFloat(), 0f, 0f, value) @@ -367,6 +368,7 @@ class WeekView @JvmOverloads constructor( var headerBottomShadowRadius: Int @RequiresApi(api = 29) get() = viewState.headerBackgroundWithShadowPaint.shadowLayerRadius.roundToInt() + @RequiresApi(api = 29) set(value) { val paint = viewState.headerBackgroundWithShadowPaint paint.setShadowLayer(value.toFloat(), 0f, 0f, headerBottomShadowColor) diff --git a/core/src/test/java/com/alamkanak/weekview/WeekViewEventTest.kt b/core/src/test/java/com/alamkanak/weekview/WeekViewEventTest.kt index 374e31f1..cea3584b 100644 --- a/core/src/test/java/com/alamkanak/weekview/WeekViewEventTest.kt +++ b/core/src/test/java/com/alamkanak/weekview/WeekViewEventTest.kt @@ -24,8 +24,8 @@ class WeekViewEventTest { @Test fun `single-day event is recognized correctly`() { - val startTime = (today() + Days(1)).withHour(6).withMinutes(0) - val endTime = startTime + Hours(10) + val startTime = (today().plusDays(1)).withHour(6).withMinutes(0) + val endTime = startTime.plusHours(10) val originalEvent = Mocks.weekViewItem(startTime, endTime) @@ -39,8 +39,8 @@ class WeekViewEventTest { @Test fun `two-day event is recognized correctly`() { - val startTime = (today() + Days(1)).withHour(14).withMinutes(0) - val endTime = (today() + Days(2)).withHour(14).withMinutes(0) + val startTime = (today().plusDays(1)).withHour(14).withMinutes(0) + val endTime = (today().plusDays(2)).withHour(14).withMinutes(0) val originalEvent = Mocks.weekViewItem(startTime, endTime) val eventChips = factory.create(listOf(originalEvent), viewState) @@ -58,8 +58,8 @@ class WeekViewEventTest { @Test fun `multi-day event is recognized correctly`() { - val startTime = (today() + Days(1)).withHour(14).withMinutes(0) - val endTime = (today() + Days(3)).withHour(1).withMinutes(0) + val startTime = (today().plusDays(1)).withHour(14).withMinutes(0) + val endTime = (today().plusDays(3)).withHour(1).withMinutes(0) val originalEvent = Mocks.weekViewItem(startTime, endTime) val eventChips = factory.create(listOf(originalEvent), viewState) @@ -79,11 +79,11 @@ class WeekViewEventTest { @Test fun `non-colliding events are recognized correctly`() { val firstStartTime = now() - val firstEndTime = firstStartTime + Hours(1) + val firstEndTime = firstStartTime.plusHours(1) val first = Mocks.weekViewItem(firstStartTime, firstEndTime) - val secondStartTime = firstStartTime + Hours(2) - val secondEndTime = secondStartTime + Hours(1) + val secondStartTime = firstStartTime.plusHours(2) + val secondEndTime = secondStartTime.plusHours(1) val second = Mocks.weekViewItem(secondStartTime, secondEndTime) assertFalse(first.collidesWith(second)) @@ -92,11 +92,11 @@ class WeekViewEventTest { @Test fun `overlapping events are recognized as colliding`() { val firstStartTime = now() - val firstEndTime = firstStartTime + Hours(1) + val firstEndTime = firstStartTime.plusHours(1) val first = Mocks.weekViewItem(firstStartTime, firstEndTime) - val secondStartTime = firstStartTime - Hours(1) - val secondEndTime = firstEndTime + Hours(1) + val secondStartTime = firstStartTime.minusHours(1) + val secondEndTime = firstEndTime.plusHours(1) val second = Mocks.weekViewItem(secondStartTime, secondEndTime) assertTrue(first.collidesWith(second)) @@ -105,11 +105,11 @@ class WeekViewEventTest { @Test fun `partly-overlapping events are recognized as colliding`() { val firstStartTime = now().withMinutes(0) - val firstEndTime = firstStartTime + Hours(1) + val firstEndTime = firstStartTime.plusHours(1) val first = Mocks.weekViewItem(firstStartTime, firstEndTime) val secondStartTime = firstStartTime.withMinutes(30) - val secondEndTime = secondStartTime + Hours(1) + val secondEndTime = secondStartTime.plusHours(1) val second = Mocks.weekViewItem(secondStartTime, secondEndTime) assertTrue(first.collidesWith(second))