3 Commits

Author SHA1 Message Date
7895325297 MainActivity: inline nested function for dynamic menu 2026-02-19 22:28:08 +01:00
895162a284 MainActivity: generate dynamic menu from last two weeks 2026-02-19 22:28:08 +01:00
80d8d317f4 LunaEvent: rework sleep event
Make the UI more flexible and
slightly easier to understand.
2026-02-19 22:28:04 +01:00

View File

@@ -454,6 +454,11 @@ 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)
@@ -478,13 +483,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) { pickedTime: Long -> val pickedDateTimeBegin = dateTimePicker(event.time, datePickerBegin) { time: Long ->
sleepStart = pickedTime sleepStart = adjustToMinute(time)
updateFields() updateFields()
} }
val pickedDateTimeEnd = dateTimePicker(event.time + event.quantity, datePickerEnd) { pickedTime: Long -> val pickedDateTimeEnd = dateTimePicker(event.time + event.quantity, datePickerEnd) { time: Long ->
sleepEnd = pickedTime sleepEnd = adjustToMinute(time)
updateFields() updateFields()
} }
@@ -502,8 +507,8 @@ class MainActivity : AppCompatActivity() {
d.setMessage(event.getDialogMessage(this)) d.setMessage(event.getDialogMessage(this))
} }
sleepStart = pickedDateTimeBegin.time.time / 1000 sleepStart = adjustToMinute(pickedDateTimeBegin.time.time / 1000)
sleepEnd = pickedDateTimeEnd.time.time / 1000 sleepEnd = adjustToMinute(pickedDateTimeEnd.time.time / 1000)
updateFields() updateFields()
@@ -523,7 +528,8 @@ class MainActivity : AppCompatActivity() {
} }
durationNowButton.setOnClickListener { durationNowButton.setOnClickListener {
sleepEnd = System.currentTimeMillis() / 1000 val now = System.currentTimeMillis() / 1000
sleepEnd = adjustToMinute(now)
updateFields() updateFields()
} }