Skip to content

Commit

Permalink
Adding initial date
Browse files Browse the repository at this point in the history
  • Loading branch information
berkkan.butun committed Feb 23, 2022
1 parent 90a4e7e commit 46ffae4
Show file tree
Hide file tree
Showing 2 changed files with 22 additions and 7 deletions.
14 changes: 10 additions & 4 deletions app/src/main/java/com/dt/calendarwork/MainActivity.kt
Original file line number Diff line number Diff line change
Expand Up @@ -36,14 +36,19 @@ class MainActivity : ComponentActivity() {
@Composable
fun MainScreen() {
val calendar = Calendar.getInstance()
calendar.set(Calendar.YEAR, 2014)
calendar.set(Calendar.MONTH, 5)
calendar.set(Calendar.YEAR, 2022)
calendar.set(Calendar.MONTH, 1)
calendar.set(Calendar.DAY_OF_MONTH, 1)

val calendarMax = Calendar.getInstance()
calendarMax.set(Calendar.YEAR, 2042)
calendarMax.set(Calendar.YEAR, 2023)
calendarMax.set(Calendar.MONTH, 0)
calendar.set(Calendar.DAY_OF_MONTH, 1)
calendarMax.set(Calendar.DAY_OF_MONTH, 1)

val initialCalendar = Calendar.getInstance()
initialCalendar.set(Calendar.YEAR, 2022)
initialCalendar.set(Calendar.MONTH, 3)
initialCalendar.set(Calendar.DAY_OF_MONTH, 1)

val (open, setOpen) = remember {
mutableStateOf(true)
Expand All @@ -63,6 +68,7 @@ fun MainScreen() {
ComposeCalendar(
minDate = calendar.time,
maxDate = calendarMax.time,
initialDate = initialCalendar.time,
locale = Locale("en"),
title = "Select Date",
monthViewType = MonthViewType.ONLY_NUMBER_ONE_COLUMN,
Expand Down
15 changes: 12 additions & 3 deletions library/src/main/java/com/dt/composedatepicker/ComposeCalendar.kt
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,14 @@ import androidx.compose.runtime.setValue
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import java.text.DateFormatSymbols
import java.time.Year
import java.util.*

@Composable
fun ComposeCalendar(
minDate: Date? = null,
maxDate: Date? = null,
initialDate: Date? = null,
locale: Locale = Locale.getDefault(),
title: String = "",
listener: SelectDateListener,
Expand All @@ -37,6 +39,11 @@ fun ComposeCalendar(
var minMonth = 0
var maxYear = 2100
var maxMonth = 11

var initialCalendar = Calendar.getInstance(locale)
var currentMonth = initialCalendar.get(Calendar.MONTH)
var currentYear = initialCalendar.get(Calendar.YEAR)

minDate?.let {
val calendarMin = Calendar.getInstance()
calendarMin.time = minDate
Expand All @@ -49,10 +56,12 @@ fun ComposeCalendar(
maxMonth = calendarMax.get(Calendar.MONTH)
maxYear = calendarMax.get(Calendar.YEAR)
}
initialDate?.let {
initialCalendar.time = initialDate
currentMonth = initialCalendar.get(Calendar.MONTH)
currentYear = initialCalendar.get(Calendar.YEAR)
}

val calendar = Calendar.getInstance(locale)
val currentMonth = calendar.get(Calendar.MONTH)
var currentYear = calendar.get(Calendar.YEAR)

if (minYear > currentYear) {
currentYear = minYear
Expand Down

0 comments on commit 46ffae4

Please sign in to comment.