diff --git a/app/src/main/java/com/nextcloud/talk/chat/ChatActivity.kt b/app/src/main/java/com/nextcloud/talk/chat/ChatActivity.kt index 32811be7281..4e50df5bea3 100644 --- a/app/src/main/java/com/nextcloud/talk/chat/ChatActivity.kt +++ b/app/src/main/java/com/nextcloud/talk/chat/ChatActivity.kt @@ -959,6 +959,7 @@ class ChatActivity : val scheduledTimeText = dateUtils.getLocalDateTimeStringFromTimestamp( scheduledAt * DateConstants.SECOND_DIVIDER ) + messageInputFragment.onScheduledMessageSent() Snackbar.make( binding.root, getString(R.string.nc_message_scheduled_at, scheduledTimeText), diff --git a/app/src/main/java/com/nextcloud/talk/chat/MessageInputFragment.kt b/app/src/main/java/com/nextcloud/talk/chat/MessageInputFragment.kt index 6611961b025..44d92b58cbc 100644 --- a/app/src/main/java/com/nextcloud/talk/chat/MessageInputFragment.kt +++ b/app/src/main/java/com/nextcloud/talk/chat/MessageInputFragment.kt @@ -374,6 +374,12 @@ class MessageInputFragment : Fragment() { } } + fun onScheduledMessageSent() { + binding.fragmentMessageInputView.inputEditText?.setText("") + cancelReply() + cancelCreateThread() + } + private fun restoreState() { CoroutineScope(Dispatchers.IO).launch { if (!hasSharedText) { @@ -804,15 +810,12 @@ class MessageInputFragment : Fragment() { if (message.isBlank()) { return } - binding.fragmentMessageInputView.inputEditText?.setText("") chatActivity.showScheduleMessageDialog( message = message, sendWithoutNotification = sendWithoutNotification, replyToMessageId = chatActivity.getReplyToMessageId(), threadTitle = chatActivity.chatViewModel.messageDraft.threadTitle ) - cancelReply() - cancelCreateThread() } } diff --git a/app/src/main/java/com/nextcloud/talk/chat/ScheduleMessageCompose.kt b/app/src/main/java/com/nextcloud/talk/chat/ScheduleMessageCompose.kt index e0863d15bc9..8c919759bb1 100644 --- a/app/src/main/java/com/nextcloud/talk/chat/ScheduleMessageCompose.kt +++ b/app/src/main/java/com/nextcloud/talk/chat/ScheduleMessageCompose.kt @@ -66,6 +66,7 @@ import java.time.LocalDateTime import java.time.ZoneId import java.time.ZoneOffset import java.time.format.DateTimeFormatter +import java.time.temporal.ChronoUnit import java.time.temporal.TemporalAdjusters.nextOrSame class ScheduleMessageCompose( @@ -79,7 +80,8 @@ class ScheduleMessageCompose( private val timeState = mutableStateOf(initialTime()) private fun initialTime(): LocalDateTime { - val scheduled = initialScheduledAt ?: return LocalDateTime.now() + val scheduled = initialScheduledAt + ?: return LocalDateTime.now().truncatedTo(ChronoUnit.HOURS).plusHours(1) return LocalDateTime.ofInstant(Instant.ofEpochSecond(scheduled), ZoneId.systemDefault()) }