diff --git a/app/src/main/java/it/danieleverducci/lunatracker/MainActivity.kt b/app/src/main/java/it/danieleverducci/lunatracker/MainActivity.kt index 2e7c051..9676733 100644 --- a/app/src/main/java/it/danieleverducci/lunatracker/MainActivity.kt +++ b/app/src/main/java/it/danieleverducci/lunatracker/MainActivity.kt @@ -890,12 +890,18 @@ class MainActivity : AppCompatActivity() { ) picker.minValue = 1 picker.maxValue = if (isSleep) 180 else 60 + val oldQuantity = event.quantity picker.value = if (event.quantity > 0) Math.min(event.quantity, picker.maxValue) else if (isSleep) 30 else 15 pickerDialog.setTitle(if (isSleep) R.string.sleep_duration_title else R.string.breastfeeding_duration_title) pickerDialog.setView(pickerView) pickerDialog.setPositiveButton(android.R.string.ok) { _, _ -> - event.quantity = picker.value + val newQuantity = picker.value + if (newQuantity != oldQuantity) { + // Adjust end time based on duration change (duration reduced = end time earlier) + event.time = event.time - (oldQuantity - newQuantity) * 60L + event.quantity = newQuantity + } quantityTextView.text = NumericUtils(this@MainActivity).formatEventQuantity(event) recyclerView.adapter?.notifyDataSetChanged() saveLogbook()