diff --git a/datetime/src/main/java/com/afollestad/materialdialogs/datetime/DatePickerExt.kt b/datetime/src/main/java/com/afollestad/materialdialogs/datetime/DatePickerExt.kt index 0510f4e30..d1b22a766 100644 --- a/datetime/src/main/java/com/afollestad/materialdialogs/datetime/DatePickerExt.kt +++ b/datetime/src/main/java/com/afollestad/materialdialogs/datetime/DatePickerExt.kt @@ -27,6 +27,7 @@ import com.afollestad.materialdialogs.customview.customView import com.afollestad.materialdialogs.datetime.internal.TimeChangeListener import com.afollestad.materialdialogs.datetime.utils.getDatePicker import com.afollestad.materialdialogs.datetime.utils.isFutureDate +import com.afollestad.materialdialogs.datetime.utils.isSameDayAs import com.afollestad.materialdialogs.utils.MDUtil.isLandscape import java.util.Calendar @@ -46,10 +47,10 @@ fun MaterialDialog.datePicker( dialogWrapContent = windowContext.isLandscape() ) - check(minDate == null || currentDate == null || minDate.before(currentDate)) { + check(minDate == null || currentDate == null || minDate.isSameDayAs(currentDate) || minDate.before(currentDate)) { "Your `minDate` must be less than `currentDate`." } - check(maxDate == null || currentDate == null || maxDate.after(currentDate)) { + check(maxDate == null || currentDate == null || maxDate.isSameDayAs(currentDate) || maxDate.after(currentDate)) { "Your `maxDate` must be bigger than `currentDate`." } diff --git a/datetime/src/main/java/com/afollestad/materialdialogs/datetime/utils/DateTimeExt.kt b/datetime/src/main/java/com/afollestad/materialdialogs/datetime/utils/DateTimeExt.kt index 53d348f98..4fbc64823 100644 --- a/datetime/src/main/java/com/afollestad/materialdialogs/datetime/utils/DateTimeExt.kt +++ b/datetime/src/main/java/com/afollestad/materialdialogs/datetime/utils/DateTimeExt.kt @@ -59,3 +59,16 @@ internal fun toCalendar( set(Calendar.MINUTE, timePicker.minute()) } } + +/** + * Checks if two calendars are the same day + */ +internal fun Calendar.isSameDayAs(other: Calendar): Boolean { + val thisDayOfYear = get(Calendar.DAY_OF_YEAR) + val thisYear = get(Calendar.YEAR) + + val otherDayOfYear = other.get(Calendar.DAY_OF_YEAR) + val otherYear = other.get(Calendar.YEAR) + + return thisDayOfYear == otherDayOfYear && thisYear == otherYear +} diff --git a/dependencies.gradle b/dependencies.gradle index aab328849..dd7ff6992 100644 --- a/dependencies.gradle +++ b/dependencies.gradle @@ -2,7 +2,7 @@ ext.versions = [ min_sdk: 16, compile_sdk: 29, build_tools: "29.0.0", - publish_version: "3.3.0", + publish_version: "3.3.1", publish_version_code: 262 ]