diff --git a/app/src/main/kotlin/org/fossify/calendar/fragments/DayFragment.kt b/app/src/main/kotlin/org/fossify/calendar/fragments/DayFragment.kt index 2e23d6da0..bfdd274eb 100644 --- a/app/src/main/kotlin/org/fossify/calendar/fragments/DayFragment.kt +++ b/app/src/main/kotlin/org/fossify/calendar/fragments/DayFragment.kt @@ -17,6 +17,7 @@ import org.fossify.calendar.extensions.config import org.fossify.calendar.extensions.eventsHelper import org.fossify.calendar.extensions.getViewBitmap import org.fossify.calendar.extensions.printBitmap +import org.fossify.calendar.extensions.seconds import org.fossify.calendar.helpers.* import org.fossify.calendar.interfaces.NavigationListener import org.fossify.calendar.models.Event @@ -104,6 +105,13 @@ class DayFragment : Fragment() { if (replaceDescription) it.location else it.description }))) + // remove events that do not occur today, but happen to end on midnight + sorted.removeIf { + val startDateTimeSeconds = Formatter.getDateTimeFromTS(it.startTS).seconds() + val endDateTimeSeconds = Formatter.getDateTimeFromTS(it.endTS).seconds() + startDateTimeSeconds != endDateTimeSeconds && Formatter.getDateTimeFromTS(endDateTimeSeconds) == Formatter.getDateTimeFromTS(Formatter.getDayStartTS(mDayCode)).withTimeAtStartOfDay() + } + activity?.runOnUiThread { updateEvents(sorted) } diff --git a/app/src/main/kotlin/org/fossify/calendar/views/MonthView.kt b/app/src/main/kotlin/org/fossify/calendar/views/MonthView.kt index bf41c1d49..bcf30a310 100644 --- a/app/src/main/kotlin/org/fossify/calendar/views/MonthView.kt +++ b/app/src/main/kotlin/org/fossify/calendar/views/MonthView.kt @@ -482,7 +482,7 @@ class MonthView(context: Context, attrs: AttributeSet, defStyle: Int) : View(con val isMidnight = Formatter.getDateTimeFromTS(endDateTime.seconds()) == Formatter.getDateTimeFromTS(endDateTime.seconds()).withTimeAtStartOfDay() val numDays = Days.daysBetween(eventStartDateTime, eventEndDateTime).days - val daysCnt = if (numDays == 1 && isMidnight) 0 else numDays + val daysCnt = if (isMidnight) numDays - 1 else numDays return daysCnt + 1 }