diff --git a/app/src/main/java/com/commandiron/wheelpickercompose/MainActivity.kt b/app/src/main/java/com/commandiron/wheelpickercompose/MainActivity.kt index dda0f31..b0186fa 100644 --- a/app/src/main/java/com/commandiron/wheelpickercompose/MainActivity.kt +++ b/app/src/main/java/com/commandiron/wheelpickercompose/MainActivity.kt @@ -36,7 +36,9 @@ class MainActivity : ComponentActivity() { horizontalAlignment = Alignment.CenterHorizontally, verticalArrangement = Arrangement.Center ) { - WheelTimePicker { snappedTime -> + WheelTimePicker( + minutesInterval = 5 + ) { snappedTime -> println(snappedTime) } WheelDatePicker { snappedDate -> @@ -55,6 +57,7 @@ class MainActivity : ComponentActivity() { ), timeFormat = TimeFormat.AM_PM, size = DpSize(200.dp, 100.dp), + minutesInterval = 5, rowCount = 5, textStyle = MaterialTheme.typography.titleSmall, textColor = Color(0xFFffc300), diff --git a/wheel-picker-compose/src/main/java/com/commandiron/wheel_picker_compose/WheelDateTimePicker.kt b/wheel-picker-compose/src/main/java/com/commandiron/wheel_picker_compose/WheelDateTimePicker.kt index 8d60b05..098f432 100644 --- a/wheel-picker-compose/src/main/java/com/commandiron/wheel_picker_compose/WheelDateTimePicker.kt +++ b/wheel-picker-compose/src/main/java/com/commandiron/wheel_picker_compose/WheelDateTimePicker.kt @@ -23,6 +23,7 @@ fun WheelDateTimePicker( yearsRange: IntRange? = IntRange(1922, 2122), timeFormat: TimeFormat = TimeFormat.HOUR_24, size: DpSize = DpSize(256.dp, 128.dp), + minutesInterval: Int = 1, rowCount: Int = 3, textStyle: TextStyle = MaterialTheme.typography.titleMedium, textColor: Color = LocalContentColor.current, @@ -37,6 +38,7 @@ fun WheelDateTimePicker( yearsRange, timeFormat, size, + minutesInterval, rowCount, textStyle, textColor, diff --git a/wheel-picker-compose/src/main/java/com/commandiron/wheel_picker_compose/WheelTimePicker.kt b/wheel-picker-compose/src/main/java/com/commandiron/wheel_picker_compose/WheelTimePicker.kt index 3db470f..e1d8f2a 100644 --- a/wheel-picker-compose/src/main/java/com/commandiron/wheel_picker_compose/WheelTimePicker.kt +++ b/wheel-picker-compose/src/main/java/com/commandiron/wheel_picker_compose/WheelTimePicker.kt @@ -22,6 +22,7 @@ fun WheelTimePicker( maxTime: LocalTime = LocalTime.MAX, timeFormat: TimeFormat = TimeFormat.HOUR_24, size: DpSize = DpSize(128.dp, 128.dp), + minutesInterval:Int = 1, rowCount: Int = 3, textStyle: TextStyle = MaterialTheme.typography.titleMedium, textColor: Color = LocalContentColor.current, @@ -35,6 +36,7 @@ fun WheelTimePicker( maxTime, timeFormat, size, + minutesInterval, rowCount, textStyle, textColor, diff --git a/wheel-picker-compose/src/main/java/com/commandiron/wheel_picker_compose/core/DefaultWheelDateTimePicker.kt b/wheel-picker-compose/src/main/java/com/commandiron/wheel_picker_compose/core/DefaultWheelDateTimePicker.kt index 2623cbe..abbd11a 100644 --- a/wheel-picker-compose/src/main/java/com/commandiron/wheel_picker_compose/core/DefaultWheelDateTimePicker.kt +++ b/wheel-picker-compose/src/main/java/com/commandiron/wheel_picker_compose/core/DefaultWheelDateTimePicker.kt @@ -25,6 +25,7 @@ internal fun DefaultWheelDateTimePicker( yearsRange: IntRange? = IntRange(1922, 2122), timeFormat: TimeFormat = TimeFormat.HOUR_24, size: DpSize = DpSize(256.dp, 128.dp), + minutesInterval: Int = 1, rowCount: Int = 3, textStyle: TextStyle = MaterialTheme.typography.titleMedium, textColor: Color = LocalContentColor.current, @@ -106,6 +107,7 @@ internal fun DefaultWheelDateTimePicker( rowCount = rowCount, textStyle = textStyle, textColor = textColor, + minutesInterval = minutesInterval, selectorProperties = WheelPickerDefaults.selectorProperties( enabled = false ), @@ -131,8 +133,7 @@ internal fun DefaultWheelDateTimePicker( localTimeToAmPmHour(snappedDateTime.toLocalTime()) - 1 } is SnappedTime.Minute -> { - onSnappedDateTime(SnappedDateTime.Minute(snappedDateTime, snappedDateTime.minute)) - snappedDateTime.minute + onSnappedDateTime(SnappedDateTime.Minute(snappedDateTime, snappedTime.snappedIndex)) } } } diff --git a/wheel-picker-compose/src/main/java/com/commandiron/wheel_picker_compose/core/DefaultWheelTimePicker.kt b/wheel-picker-compose/src/main/java/com/commandiron/wheel_picker_compose/core/DefaultWheelTimePicker.kt index 5a69125..e2b4c35 100644 --- a/wheel-picker-compose/src/main/java/com/commandiron/wheel_picker_compose/core/DefaultWheelTimePicker.kt +++ b/wheel-picker-compose/src/main/java/com/commandiron/wheel_picker_compose/core/DefaultWheelTimePicker.kt @@ -25,6 +25,7 @@ internal fun DefaultWheelTimePicker( maxTime: LocalTime = LocalTime.MAX, timeFormat: TimeFormat = TimeFormat.HOUR_24, size: DpSize = DpSize(128.dp, 128.dp), + minutesInterval: Int = 1, rowCount: Int = 3, textStyle: TextStyle = MaterialTheme.typography.titleMedium, textColor: Color = LocalContentColor.current, @@ -49,11 +50,11 @@ internal fun DefaultWheelTimePicker( ) } - val minutes = (0..59).map { + val minutes = (0..59 step minutesInterval).map { Minute( text = it.toString().padStart(2, '0'), value = it, - index = it + index = it/minutesInterval ) }