3 Commits

Author SHA1 Message Date
422ecfb970 MainActivity: inline nested function for dynamic menu 2026-02-22 13:48:26 +01:00
d8b73f94d8 MainActivity: generate dynamic menu from last two weeks 2026-02-22 13:48:26 +01:00
d06d226d09 LunaEvent: rework sleep event
Make the UI more flexible and
slightly easier to understand.
2026-02-22 13:48:22 +01:00

View File

@@ -454,11 +454,6 @@ class MainActivity : AppCompatActivity() {
return (timeBeginUnix <= timeEndUnix) && (timeEndUnix - timeBeginUnix) < (24 * 60 * 60) return (timeBeginUnix <= timeEndUnix) && (timeEndUnix - timeBeginUnix) < (24 * 60 * 60)
} }
// prevent printing of seconds
fun adjustToMinute(unixTime: Long): Long {
return unixTime - (unixTime % 60)
}
fun updateFields() { fun updateFields() {
datePickerBegin.text = DateUtils.formatDateTime(sleepStart) datePickerBegin.text = DateUtils.formatDateTime(sleepStart)
datePickerEnd.text = DateUtils.formatDateTime(sleepEnd) datePickerEnd.text = DateUtils.formatDateTime(sleepEnd)
@@ -483,13 +478,13 @@ class MainActivity : AppCompatActivity() {
datePickerEnd.setTextColor(if (isValidTime(sleepEnd)) { currentDurationTextColor } else { invalidDurationTextColor }) datePickerEnd.setTextColor(if (isValidTime(sleepEnd)) { currentDurationTextColor } else { invalidDurationTextColor })
} }
val pickedDateTimeBegin = dateTimePicker(event.time, datePickerBegin) { time: Long -> val pickedDateTimeBegin = dateTimePicker(event.time, datePickerBegin) { pickedTime: Long ->
sleepStart = adjustToMinute(time) sleepStart = pickedTime
updateFields() updateFields()
} }
val pickedDateTimeEnd = dateTimePicker(event.time + event.quantity, datePickerEnd) { time: Long -> val pickedDateTimeEnd = dateTimePicker(event.time + event.quantity, datePickerEnd) { pickedTime: Long ->
sleepEnd = adjustToMinute(time) sleepEnd = pickedTime
updateFields() updateFields()
} }
@@ -507,8 +502,8 @@ class MainActivity : AppCompatActivity() {
d.setMessage(event.getDialogMessage(this)) d.setMessage(event.getDialogMessage(this))
} }
sleepStart = adjustToMinute(pickedDateTimeBegin.time.time / 1000) sleepStart = pickedDateTimeBegin.time.time / 1000
sleepEnd = adjustToMinute(pickedDateTimeEnd.time.time / 1000) sleepEnd = pickedDateTimeEnd.time.time / 1000
updateFields() updateFields()
@@ -528,8 +523,7 @@ class MainActivity : AppCompatActivity() {
} }
durationNowButton.setOnClickListener { durationNowButton.setOnClickListener {
val now = System.currentTimeMillis() / 1000 sleepEnd = System.currentTimeMillis() / 1000
sleepEnd = adjustToMinute(now)
updateFields() updateFields()
} }