Merge pull request #2289 from nextcloud/bugfix/2287/fixSwipeToReply

Make sure to set swipe-to-reply after the room info has been loaded
This commit is contained in:
Tim Krüger 2022-08-12 09:54:12 +02:00 committed by GitHub
commit b85ec904c1
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -355,6 +355,8 @@ class ChatController(args: Bundle) :
conversationUser
)
setupSwipeToReply()
try {
setupMentionAutocomplete()
checkShowCallButtons()
@ -389,6 +391,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?
@ -610,20 +633,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?