Merge pull request #4368 from nextcloud/time_Setting_for_lobby

Time setting for lobby
This commit is contained in:
Sowjanya Kota 2024-10-23 16:32:43 +02:00 committed by GitHub
commit d8e12ee03d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -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
@ -360,16 +361,9 @@ class ConversationInfoActivity :
currentTimeCalendar.timeInMillis = conversation!!.lobbyTimer * DateConstants.SECOND_DIVIDER
}
dateTimePicker(
minDateTime = Calendar.getInstance(),
requireFutureDateTime = true,
currentDateTime = currentTimeCalendar,
show24HoursView = true,
dateTimeCallback = { _, dateTime ->
reconfigureLobbyTimerView(dateTime)
submitLobbyChanges()
datePicker { _, date ->
showTimePicker(date)
}
)
}
}
@ -383,6 +377,27 @@ class ConversationInfoActivity :
}
}
private fun showTimePicker(selectedDate: Calendar) {
val currentTime = Calendar.getInstance()
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))
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()
}
)
}
}
private fun webinaryRoomType(conversation: ConversationModel): Boolean {
return conversation.type == ConversationEnums.ConversationType.ROOM_GROUP_CALL ||
conversation.type == ConversationEnums.ConversationType.ROOM_PUBLIC_CALL