forked from penguin86/luna-tracker
sleep: fix date picker usage
The time the date picker uses needs to be updated. Also make some variable names more logical.
This commit is contained in:
@@ -481,15 +481,15 @@ class MainActivity : AppCompatActivity() {
|
|||||||
d.setTitle(event.getDialogTitle(this))
|
d.setTitle(event.getDialogTitle(this))
|
||||||
d.setView(dialogView)
|
d.setView(dialogView)
|
||||||
|
|
||||||
val durationTextView = dialogView.findViewById<TextView>(R.id.dialog_date_duration)
|
val durationTV = dialogView.findViewById<TextView>(R.id.dialog_date_duration)
|
||||||
val datePickerBegin = dialogView.findViewById<TextView>(R.id.dialog_date_picker_begin)
|
val datePickerBeginTV = dialogView.findViewById<TextView>(R.id.dialog_date_picker_begin)
|
||||||
val datePickerEnd = dialogView.findViewById<TextView>(R.id.dialog_date_picker_end)
|
val datePickerEndTV = dialogView.findViewById<TextView>(R.id.dialog_date_picker_end)
|
||||||
val dateDelimiter = dialogView.findViewById<TextView>(R.id.dialog_date_range_delimiter)
|
val dateDelimiterTV = dialogView.findViewById<TextView>(R.id.dialog_date_range_delimiter)
|
||||||
val durationButtons = dialogView.findViewById<LinearLayout>(R.id.duration_buttons)
|
val durationButtons = dialogView.findViewById<LinearLayout>(R.id.duration_buttons)
|
||||||
val durationNowButton = dialogView.findViewById<Button>(R.id.dialog_date_duration_now)
|
val durationNowButton = dialogView.findViewById<Button>(R.id.dialog_date_duration_now)
|
||||||
val durationClearButton = dialogView.findViewById<Button>(R.id.dialog_date_duration_clear)
|
val durationClearButton = dialogView.findViewById<Button>(R.id.dialog_date_duration_clear)
|
||||||
|
|
||||||
val currentDurationTextColor = durationTextView.currentTextColor
|
val currentDurationTextColor = durationTV.currentTextColor
|
||||||
val invalidDurationTextColor = ContextCompat.getColor(this, R.color.danger)
|
val invalidDurationTextColor = ContextCompat.getColor(this, R.color.danger)
|
||||||
|
|
||||||
// in seconds
|
// in seconds
|
||||||
@@ -506,59 +506,59 @@ class MainActivity : AppCompatActivity() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun updateFields() {
|
fun updateFields() {
|
||||||
datePickerBegin.text = DateUtils.formatDateTime(durationStart)
|
datePickerBeginTV.text = DateUtils.formatDateTime(durationStart)
|
||||||
datePickerEnd.text = DateUtils.formatDateTime(durationEnd)
|
datePickerEndTV.text = DateUtils.formatDateTime(durationEnd)
|
||||||
|
|
||||||
durationTextView.setTextColor(currentDurationTextColor)
|
dateTimePicker(durationStart, datePickerBeginTV) { pickedTime: Long ->
|
||||||
|
durationStart = pickedTime
|
||||||
|
if (datePickerEndTV.visibility == View.GONE) {
|
||||||
|
durationEnd = pickedTime
|
||||||
|
}
|
||||||
|
updateFields()
|
||||||
|
}
|
||||||
|
|
||||||
|
dateTimePicker(durationEnd, datePickerEndTV) { pickedTime: Long ->
|
||||||
|
durationEnd = pickedTime
|
||||||
|
updateFields()
|
||||||
|
}
|
||||||
|
|
||||||
|
durationTV.setTextColor(currentDurationTextColor)
|
||||||
val duration = durationEnd - durationStart
|
val duration = durationEnd - durationStart
|
||||||
if (duration == 0L) {
|
if (duration == 0L) {
|
||||||
// event is ongoing
|
// event is ongoing
|
||||||
durationTextView.text = "💤"
|
durationTV.text = "💤"
|
||||||
dateDelimiter.visibility = View.GONE
|
dateDelimiterTV.visibility = View.GONE
|
||||||
datePickerEnd.visibility = View.GONE
|
datePickerEndTV.visibility = View.GONE
|
||||||
} else {
|
} else {
|
||||||
durationTextView.text = DateUtils.formatTimeDuration(applicationContext, duration)
|
durationTV.text = DateUtils.formatTimeDuration(applicationContext, duration)
|
||||||
if (!isValidTimeSpan(durationStart, durationEnd)) {
|
if (!isValidTimeSpan(durationStart, durationEnd)) {
|
||||||
durationTextView.setTextColor(invalidDurationTextColor)
|
durationTV.setTextColor(invalidDurationTextColor)
|
||||||
}
|
}
|
||||||
dateDelimiter.visibility = View.VISIBLE
|
dateDelimiterTV.visibility = View.VISIBLE
|
||||||
datePickerEnd.visibility = View.VISIBLE
|
datePickerEndTV.visibility = View.VISIBLE
|
||||||
}
|
}
|
||||||
|
|
||||||
datePickerBegin.setTextColor(if (isValidTime(durationStart)) { currentDurationTextColor } else { invalidDurationTextColor })
|
val colorBegin = if (isValidTime(durationStart)) { currentDurationTextColor } else { invalidDurationTextColor }
|
||||||
datePickerEnd.setTextColor(if (isValidTime(durationEnd)) { currentDurationTextColor } else { invalidDurationTextColor })
|
datePickerBeginTV.setTextColor(colorBegin)
|
||||||
}
|
|
||||||
|
|
||||||
val pickedDateTimeBegin = dateTimePicker(event.time, datePickerBegin) { pickedTime: Long ->
|
val colorEnd = if (isValidTime(durationEnd)) { currentDurationTextColor } else { invalidDurationTextColor }
|
||||||
durationStart = pickedTime
|
datePickerEndTV.setTextColor(colorEnd)
|
||||||
if (datePickerEnd.visibility == View.GONE) {
|
|
||||||
durationEnd = pickedTime
|
|
||||||
}
|
|
||||||
updateFields()
|
|
||||||
}
|
|
||||||
|
|
||||||
val pickedDateTimeEnd = dateTimePicker(event.time + event.quantity, datePickerEnd) { pickedTime: Long ->
|
|
||||||
durationEnd = pickedTime
|
|
||||||
updateFields()
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (showTime) {
|
if (showTime) {
|
||||||
dateDelimiter.visibility = View.GONE
|
dateDelimiterTV.visibility = View.GONE
|
||||||
datePickerEnd.visibility = View.GONE
|
datePickerEndTV.visibility = View.GONE
|
||||||
durationTextView.visibility = View.GONE
|
durationTV.visibility = View.GONE
|
||||||
durationButtons.visibility = View.GONE
|
durationButtons.visibility = View.GONE
|
||||||
//d.setMessage("")
|
//d.setMessage("")
|
||||||
} else {
|
} else {
|
||||||
dateDelimiter.visibility = View.VISIBLE
|
dateDelimiterTV.visibility = View.VISIBLE
|
||||||
datePickerEnd.visibility = View.VISIBLE
|
datePickerEndTV.visibility = View.VISIBLE
|
||||||
durationTextView.visibility = View.VISIBLE
|
durationTV.visibility = View.VISIBLE
|
||||||
durationButtons.visibility = View.VISIBLE
|
durationButtons.visibility = View.VISIBLE
|
||||||
d.setMessage(event.getDialogMessage(this))
|
d.setMessage(event.getDialogMessage(this))
|
||||||
}
|
}
|
||||||
|
|
||||||
durationStart = pickedDateTimeBegin.time.time / 1000
|
|
||||||
durationEnd = pickedDateTimeEnd.time.time / 1000
|
|
||||||
|
|
||||||
updateFields()
|
updateFields()
|
||||||
|
|
||||||
durationClearButton.setOnClickListener {
|
durationClearButton.setOnClickListener {
|
||||||
|
|||||||
Reference in New Issue
Block a user