From 71eb97c443307c083dbddc2f92e412543f39a088 Mon Sep 17 00:00:00 2001 From: sowjanyakch Date: Tue, 22 Oct 2024 19:37:43 +0200 Subject: [PATCH 1/4] set timer for lobby Signed-off-by: sowjanyakch --- .../ConversationInfoActivity.kt | 34 +++++++++++++------ 1 file changed, 23 insertions(+), 11 deletions(-) diff --git a/app/src/main/java/com/nextcloud/talk/conversationinfo/ConversationInfoActivity.kt b/app/src/main/java/com/nextcloud/talk/conversationinfo/ConversationInfoActivity.kt index 2005ebdff..b03b4eeed 100644 --- a/app/src/main/java/com/nextcloud/talk/conversationinfo/ConversationInfoActivity.kt +++ b/app/src/main/java/com/nextcloud/talk/conversationinfo/ConversationInfoActivity.kt @@ -31,7 +31,8 @@ import autodagger.AutoInjector import com.afollestad.materialdialogs.LayoutMode.WRAP_CONTENT import com.afollestad.materialdialogs.MaterialDialog import com.afollestad.materialdialogs.bottomsheets.BottomSheet -import com.afollestad.materialdialogs.datetime.dateTimePicker +import com.afollestad.materialdialogs.datetime.datePicker +import com.afollestad.materialdialogs.datetime.timePicker import com.google.android.material.dialog.MaterialAlertDialogBuilder import com.google.android.material.snackbar.Snackbar import com.nextcloud.android.common.ui.theme.utils.ColorRole @@ -354,22 +355,17 @@ class ConversationInfoActivity : reconfigureLobbyTimerView() binding.webinarInfoView.startTimeButton.setOnClickListener { + // First, show the calendar dialog MaterialDialog(this, BottomSheet(WRAP_CONTENT)).show { val currentTimeCalendar = Calendar.getInstance() if (conversation!!.lobbyTimer != 0L) { currentTimeCalendar.timeInMillis = conversation!!.lobbyTimer * DateConstants.SECOND_DIVIDER } - dateTimePicker( - minDateTime = Calendar.getInstance(), - requireFutureDateTime = true, - currentDateTime = currentTimeCalendar, - show24HoursView = true, - dateTimeCallback = { _, dateTime -> - reconfigureLobbyTimerView(dateTime) - submitLobbyChanges() - } - ) + datePicker { _, date -> + // After selecting the date, now show the time picker + showTimePicker(date) + } } } @@ -383,6 +379,22 @@ class ConversationInfoActivity : } } + private fun showTimePicker(selectedDate: Calendar) { + MaterialDialog(this, BottomSheet(WRAP_CONTENT)).show { + cancelable(false) + timePicker( + currentTime = Calendar.getInstance(), + show24HoursView = true, + timeCallback = { _, time -> + selectedDate.set(Calendar.HOUR_OF_DAY, time.get(Calendar.HOUR_OF_DAY)) + selectedDate.set(Calendar.MINUTE, time.get(Calendar.MINUTE)) + reconfigureLobbyTimerView(selectedDate) + submitLobbyChanges() + } + ) + } + } + private fun webinaryRoomType(conversation: ConversationModel): Boolean { return conversation.type == ConversationEnums.ConversationType.ROOM_GROUP_CALL || conversation.type == ConversationEnums.ConversationType.ROOM_PUBLIC_CALL From ee445f5722b795e3461b84250eb7ac6248bf407a Mon Sep 17 00:00:00 2001 From: sowjanyakch Date: Tue, 22 Oct 2024 19:38:50 +0200 Subject: [PATCH 2/4] don't set timer in past Signed-off-by: sowjanyakch --- .../talk/conversationinfo/ConversationInfoActivity.kt | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/app/src/main/java/com/nextcloud/talk/conversationinfo/ConversationInfoActivity.kt b/app/src/main/java/com/nextcloud/talk/conversationinfo/ConversationInfoActivity.kt index b03b4eeed..2f472f027 100644 --- a/app/src/main/java/com/nextcloud/talk/conversationinfo/ConversationInfoActivity.kt +++ b/app/src/main/java/com/nextcloud/talk/conversationinfo/ConversationInfoActivity.kt @@ -380,6 +380,7 @@ class ConversationInfoActivity : } private fun showTimePicker(selectedDate: Calendar) { + val currentTime = Calendar.getInstance() MaterialDialog(this, BottomSheet(WRAP_CONTENT)).show { cancelable(false) timePicker( @@ -388,6 +389,10 @@ class ConversationInfoActivity : timeCallback = { _, time -> selectedDate.set(Calendar.HOUR_OF_DAY, time.get(Calendar.HOUR_OF_DAY)) selectedDate.set(Calendar.MINUTE, time.get(Calendar.MINUTE)) + if (selectedDate.timeInMillis < currentTime.timeInMillis) { + selectedDate.set(Calendar.HOUR_OF_DAY,currentTime.get(Calendar.HOUR_OF_DAY)) + selectedDate.set(Calendar.MINUTE, currentTime.get(Calendar.MINUTE)) + } reconfigureLobbyTimerView(selectedDate) submitLobbyChanges() } From fda055ee52c7c84bffce43b0a0052cd7ac357282 Mon Sep 17 00:00:00 2001 From: sowjanyakch Date: Tue, 22 Oct 2024 19:55:04 +0200 Subject: [PATCH 3/4] ktlintFormat Signed-off-by: sowjanyakch --- .../nextcloud/talk/conversationinfo/ConversationInfoActivity.kt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/src/main/java/com/nextcloud/talk/conversationinfo/ConversationInfoActivity.kt b/app/src/main/java/com/nextcloud/talk/conversationinfo/ConversationInfoActivity.kt index 2f472f027..cd3b81b1c 100644 --- a/app/src/main/java/com/nextcloud/talk/conversationinfo/ConversationInfoActivity.kt +++ b/app/src/main/java/com/nextcloud/talk/conversationinfo/ConversationInfoActivity.kt @@ -390,7 +390,7 @@ class ConversationInfoActivity : selectedDate.set(Calendar.HOUR_OF_DAY, time.get(Calendar.HOUR_OF_DAY)) selectedDate.set(Calendar.MINUTE, time.get(Calendar.MINUTE)) if (selectedDate.timeInMillis < currentTime.timeInMillis) { - selectedDate.set(Calendar.HOUR_OF_DAY,currentTime.get(Calendar.HOUR_OF_DAY)) + selectedDate.set(Calendar.HOUR_OF_DAY, currentTime.get(Calendar.HOUR_OF_DAY)) selectedDate.set(Calendar.MINUTE, currentTime.get(Calendar.MINUTE)) } reconfigureLobbyTimerView(selectedDate) From 074297ca42adefa607f54b693fe361b26ba7e389 Mon Sep 17 00:00:00 2001 From: sowjanyakch Date: Tue, 22 Oct 2024 20:37:43 +0200 Subject: [PATCH 4/4] remove comments Signed-off-by: sowjanyakch --- .../nextcloud/talk/conversationinfo/ConversationInfoActivity.kt | 2 -- 1 file changed, 2 deletions(-) diff --git a/app/src/main/java/com/nextcloud/talk/conversationinfo/ConversationInfoActivity.kt b/app/src/main/java/com/nextcloud/talk/conversationinfo/ConversationInfoActivity.kt index cd3b81b1c..3b8837f5a 100644 --- a/app/src/main/java/com/nextcloud/talk/conversationinfo/ConversationInfoActivity.kt +++ b/app/src/main/java/com/nextcloud/talk/conversationinfo/ConversationInfoActivity.kt @@ -355,7 +355,6 @@ class ConversationInfoActivity : reconfigureLobbyTimerView() binding.webinarInfoView.startTimeButton.setOnClickListener { - // First, show the calendar dialog MaterialDialog(this, BottomSheet(WRAP_CONTENT)).show { val currentTimeCalendar = Calendar.getInstance() if (conversation!!.lobbyTimer != 0L) { @@ -363,7 +362,6 @@ class ConversationInfoActivity : } datePicker { _, date -> - // After selecting the date, now show the time picker showTimePicker(date) } }