From 27b4fa63f933c0dfc9708f37c7860080befb8118 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Thu, 16 Jan 2025 14:56:42 +0100 Subject: [PATCH] Prevent meeting schedule end time to change (when changing start time) if user set it manually --- .../meetings/viewmodel/ScheduleMeetingViewModel.kt | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/org/linphone/ui/main/meetings/viewmodel/ScheduleMeetingViewModel.kt b/app/src/main/java/org/linphone/ui/main/meetings/viewmodel/ScheduleMeetingViewModel.kt index cde71d26a..8f1ffb02d 100644 --- a/app/src/main/java/org/linphone/ui/main/meetings/viewmodel/ScheduleMeetingViewModel.kt +++ b/app/src/main/java/org/linphone/ui/main/meetings/viewmodel/ScheduleMeetingViewModel.kt @@ -95,6 +95,7 @@ class ScheduleMeetingViewModel internal var endHour = 0 internal var endMinutes = 0 + internal var endTimeSetByUser = false private lateinit var conferenceScheduler: ConferenceScheduler @@ -324,8 +325,13 @@ class ScheduleMeetingViewModel startHour = hours startMinutes = minutes - endHour = hours + 1 - endMinutes = minutes + if (!endTimeSetByUser) { + Log.i("$TAG User didn't changed end time manually, adjusting it to one hour after the newly set start time") + endHour = hours + 1 + endMinutes = minutes + } else { + Log.i("$TAG User did choose end time manually, do not alter it") + } computeTimeLabels() } @@ -335,6 +341,7 @@ class ScheduleMeetingViewModel Log.i("$TAG Newly selected end time is [$hours:$minutes], updating displayed end hours") endHour = hours endMinutes = minutes + endTimeSetByUser = true computeTimeLabels() } @@ -533,6 +540,9 @@ class ScheduleMeetingViewModel subject.postValue(conferenceInfo.subject) description.postValue(conferenceInfo.description) + // Consider end time has been manually set, so changing start time won't alter it + endTimeSetByUser = true + isBroadcastSelected.postValue(false) // TODO FIXME: not implemented yet startTimestamp = conferenceInfo.dateTime * 1000 // Linphone timestamps are in seconds