make sure to set swipe-to-reply after the room info has been loaded

Resolves #2287

Signed-off-by: Andy Scherzinger <info@andy-scherzinger.de>
This commit is contained in:
Andy Scherzinger 2022-08-11 15:19:48 +02:00
parent ce71746461
commit 5d545d6913
No known key found for this signature in database
GPG Key ID: 6CADC7E3523C308B

View File

@ -364,6 +364,8 @@ class ChatController(args: Bundle) :
conversationUser
)
setupSwipeToReply()
try {
setupMentionAutocomplete()
checkShowCallButtons()
@ -398,6 +400,27 @@ class ChatController(args: Bundle) :
}
}
private fun setupSwipeToReply() {
if (hasChatPermission && !isReadOnlyConversation()) {
val messageSwipeController = MessageSwipeCallback(
activity!!,
object : MessageSwipeActions {
override fun showReplyUI(position: Int) {
val chatMessage = adapter?.items?.get(position)?.item as ChatMessage?
replyToMessage(chatMessage)
}
}
)
val itemTouchHelper = ItemTouchHelper(messageSwipeController)
try {
itemTouchHelper.attachToRecyclerView(binding.messagesListView)
} catch (npe: NullPointerException) {
Log.i(TAG, "UI already teared down", npe)
}
}
}
private fun handleFromNotification() {
var apiVersion = 1
// FIXME Can this be called for guests?
@ -619,20 +642,7 @@ class ChatController(args: Bundle) :
}
}
if (context != null && hasChatPermission && !isReadOnlyConversation()) {
val messageSwipeController = MessageSwipeCallback(
activity!!,
object : MessageSwipeActions {
override fun showReplyUI(position: Int) {
val chatMessage = adapter?.items?.get(position)?.item as ChatMessage?
replyToMessage(chatMessage)
}
}
)
val itemTouchHelper = ItemTouchHelper(messageSwipeController)
itemTouchHelper.attachToRecyclerView(binding.messagesListView)
}
setupSwipeToReply()
layoutManager = binding.messagesListView.layoutManager as LinearLayoutManager?