avoid crash if messageParameters is null

Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
This commit is contained in:
sowjanyakch 2025-07-01 13:34:31 +02:00
parent 8b02b7797c
commit 317984919f
No known key found for this signature in database
GPG Key ID: F7AA2A8B65B50220
2 changed files with 36 additions and 36 deletions

View File

@ -445,12 +445,16 @@ class MessageInputFragment : Fragment() {
val message = chatActivity.messageInputViewModel.getEditChatMessage.value as ChatMessage
if (message.message!!.trim() != inputEditText.trim()) {
if (message.messageParameters != null) {
val editedMessage = messageUtils.processEditMessageParameters(
message.messageParameters!!,
message,
inputEditText.toString()
)
editMessageAPI(message, editedMessage.toString())
} else {
editMessageAPI(message, inputEditText.toString())
}
}
clearEditUI()
}
@ -967,7 +971,6 @@ class MessageInputFragment : Fragment() {
}
private fun setEditUI(message: ChatMessage) {
if (message.message != null) {
val editedMessage = ChatUtils.getParsedMessage(message.message, message.messageParameters)
binding.fragmentEditView.editMessage.text = editedMessage
binding.fragmentMessageInputView.inputEditText.setText(editedMessage)
@ -982,7 +985,6 @@ class MessageInputFragment : Fragment() {
binding.fragmentEditView.editMessageView.visibility = View.VISIBLE
binding.fragmentMessageInputView.attachmentButton.visibility = View.GONE
}
}
private fun clearEditUI() {
binding.fragmentMessageInputView.editMessageButton.visibility = View.GONE

View File

@ -160,18 +160,17 @@ class MessageUtils(val context: Context) {
}
fun processEditMessageParameters(
messageParameters: HashMap<String?, HashMap<String?, String?>>?,
messageParameters: HashMap<String?, HashMap<String?, String?>>,
message: ChatMessage?,
inputEditText: String
): Spanned {
var result = inputEditText.toString()
for ((key, valueMap) in messageParameters!!) {
if (key != null) {
val mentionId = valueMap["mention-id"]
val type = valueMap["type"]
val name = valueMap["name"]
val user = message?.activeUser
if (user != null && mentionId != null && type != null) {
var result = inputEditText
for (key in messageParameters.keys) {
val individualHashMap = message?.messageParameters?.get(key)
if (individualHashMap != null) {
val mentionId = individualHashMap["mention-id"]
val type = individualHashMap["type"]
val name = individualHashMap["name"]
val placeholder = "@$name"
result = when (type) {
"user", "guest", "email" -> result.replace(placeholder, "@$mentionId", ignoreCase = false)
@ -181,7 +180,6 @@ class MessageUtils(val context: Context) {
}
}
}
}
return SpannableString(result)
}