Fix populating clock picker

pull/3486/head
Alex Baker 8 months ago
parent 4ef434e7f4
commit 5692f48e75

@ -21,6 +21,10 @@ import org.tasks.themes.TasksTheme
import org.tasks.themes.Theme import org.tasks.themes.Theme
import org.tasks.time.DateTime import org.tasks.time.DateTime
import org.tasks.time.DateTimeUtils2.currentTimeMillis import org.tasks.time.DateTimeUtils2.currentTimeMillis
import org.tasks.time.hourOfDay
import org.tasks.time.millisOfDay
import org.tasks.time.minuteOfHour
import org.tasks.time.withMillisOfDay
import javax.inject.Inject import javax.inject.Inject
@AndroidEntryPoint @AndroidEntryPoint
@ -43,8 +47,8 @@ class DateAndTimePickerActivity : AppCompatActivity() {
if (showTimePicker) { if (showTimePicker) {
TimePickerDialog( TimePickerDialog(
state = rememberTimePickerState( state = rememberTimePickerState(
initialHour = 0, initialHour = dateSelected.hourOfDay,
initialMinute = 0, initialMinute = dateSelected.minuteOfHour,
is24Hour = is24HourFormat is24Hour = is24HourFormat
), ),
initialDisplayMode = remember { preferences.timeDisplayMode }, initialDisplayMode = remember { preferences.timeDisplayMode },
@ -74,7 +78,7 @@ class DateAndTimePickerActivity : AppCompatActivity() {
preferences.calendarDisplayMode = it preferences.calendarDisplayMode = it
}, },
selected = { selected = {
dateSelected = it dateSelected = it.withMillisOfDay(dateSelected.millisOfDay)
showTimePicker = true showTimePicker = true
}, },
dismiss = { dismiss = {

@ -137,6 +137,9 @@ private fun Long.minus(value: Int, units: DateTimeUnit.TimeBased): Long =
val Long.millisOfDay: Int val Long.millisOfDay: Int
get() = if (this > 0) toLocalDateTime().time.toMillisecondOfDay() else 0 get() = if (this > 0) toLocalDateTime().time.toMillisecondOfDay() else 0
val Long.hourOfDay: Int
get() = if (this > 0) toLocalDateTime().hour else 0
val Long.minuteOfHour: Int val Long.minuteOfHour: Int
get() = if (this > 0) toLocalDateTime().minute else 0 get() = if (this > 0) toLocalDateTime().minute else 0

Loading…
Cancel
Save