detekt + merge conflicts

Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
This commit is contained in:
sowjanyakch 2025-04-16 11:46:32 +02:00
parent b92020d0d0
commit 689f5ede9e
No known key found for this signature in database
GPG Key ID: F7AA2A8B65B50220
4 changed files with 51 additions and 34 deletions

View File

@ -94,21 +94,31 @@ class IncomingTextMessageViewHolder(itemView: View, payload: Any) :
colorizeMessageBubble(message) colorizeMessageBubble(message)
itemView.isSelected = false itemView.isSelected = false
val user = currentUserProvider.currentUser.blockingGet() val user = currentUserProvider.currentUser.blockingGet()
lateinit var userGroups: List<String>
lateinit var userCircles: List<String>
coroutineScope.launch {
userGroups = userGroupsCirclesRepository.getUserGroups()
.map { list -> list.mapNotNull { it.groups } }.firstOrNull() ?: emptyList()
userCircles = userGroupsCirclesRepository.getUserCircles()
.map { list -> list.mapNotNull { it.displayName } }.firstOrNull() ?: emptyList()
val hasCheckboxes = processCheckboxes( val hasCheckboxes = processCheckboxes(
message, message,
user user
) )
processMessage(message, hasCheckboxes) processMessage(message, hasCheckboxes, userGroups, userCircles)
}
} }
private fun processMessage(message: ChatMessage, hasCheckboxes: Boolean) { @Suppress("Detekt.LongMethod")
private fun processMessage(
message: ChatMessage,
hasCheckboxes: Boolean,
userGroups: List<String>,
userCircles: List<String>
) {
var textSize = context.resources!!.getDimension(R.dimen.chat_text_size) var textSize = context.resources!!.getDimension(R.dimen.chat_text_size)
coroutineScope.launch {
val userGroups = userGroupsCirclesRepository.getUserGroups()
.map { list -> list.mapNotNull { it.groups } }.firstOrNull() ?: emptyList()
val userCircles = userGroupsCirclesRepository.getUserCircles()
.map { list -> list.mapNotNull { it.displayName } }.firstOrNull() ?: emptyList()
if (!hasCheckboxes) { if (!hasCheckboxes) {
binding.messageText.visibility = View.VISIBLE binding.messageText.visibility = View.VISIBLE
@ -195,7 +205,6 @@ class IncomingTextMessageViewHolder(itemView: View, payload: Any) :
viewThemeUtils viewThemeUtils
) )
} }
}
private fun processCheckboxes(chatMessage: ChatMessage, user: User): Boolean { private fun processCheckboxes(chatMessage: ChatMessage, user: User): Boolean {
val chatActivity = commonMessageInterface as ChatActivity val chatActivity = commonMessageInterface as ChatActivity

View File

@ -93,20 +93,34 @@ class OutcomingTextMessageViewHolder(itemView: View) :
private val coroutineScope = CoroutineScope(Dispatchers.Main) private val coroutineScope = CoroutineScope(Dispatchers.Main)
@Suppress("Detekt.LongMethod")
override fun onBind(message: ChatMessage) { override fun onBind(message: ChatMessage) {
super.onBind(message) super.onBind(message)
sharedApplication!!.componentApplication.inject(this) sharedApplication!!.componentApplication.inject(this)
val user = currentUserProvider.currentUser.blockingGet() val user = currentUserProvider.currentUser.blockingGet()
lateinit var userGroups: List<String>
lateinit var userCircles: List<String>
coroutineScope.launch {
userGroups = userGroupsCirclesRepository.getUserGroups()
.map { list -> list.mapNotNull { it.groups } }.firstOrNull() ?: emptyList()
userCircles = userGroupsCirclesRepository.getUserCircles()
.map { list -> list.mapNotNull { it.displayName } }.firstOrNull() ?: emptyList()
val hasCheckboxes = processCheckboxes( val hasCheckboxes = processCheckboxes(
message, message,
user user
) )
processMessage(message, hasCheckboxes) processMessage(message, hasCheckboxes, userCircles, userGroups)
}
} }
@Suppress("Detekt.LongMethod") @Suppress("Detekt.LongMethod")
private fun processMessage(message: ChatMessage, hasCheckboxes: Boolean) { private fun processMessage(
message: ChatMessage,
hasCheckboxes: Boolean,
userGroups: List<String>,
userCircles: List<String>
) {
var isBubbled = true var isBubbled = true
val layoutParams = binding.messageTime.layoutParams as FlexboxLayout.LayoutParams val layoutParams = binding.messageTime.layoutParams as FlexboxLayout.LayoutParams
var textSize = context.resources.getDimension(R.dimen.chat_text_size) var textSize = context.resources.getDimension(R.dimen.chat_text_size)
@ -115,12 +129,6 @@ class OutcomingTextMessageViewHolder(itemView: View) :
layoutParams.isWrapBefore = false layoutParams.isWrapBefore = false
viewThemeUtils.platform.colorTextView(binding.messageTime, ColorRole.ON_SURFACE_VARIANT) viewThemeUtils.platform.colorTextView(binding.messageTime, ColorRole.ON_SURFACE_VARIANT)
viewThemeUtils.platform.colorTextView(binding.messageTime, ColorRole.ON_SURFACE_VARIANT) viewThemeUtils.platform.colorTextView(binding.messageTime, ColorRole.ON_SURFACE_VARIANT)
coroutineScope.launch {
val userGroups = userGroupsCirclesRepository.getUserGroups()
.map { list -> list.mapNotNull { it.groups } }.firstOrNull() ?: emptyList()
val userCircles = userGroupsCirclesRepository.getUserCircles()
.map { list -> list.mapNotNull { it.displayName } }.firstOrNull() ?: emptyList()
binding.messageText.visibility = View.VISIBLE binding.messageText.visibility = View.VISIBLE
binding.checkboxContainer.visibility = View.GONE binding.checkboxContainer.visibility = View.GONE
@ -129,7 +137,7 @@ class OutcomingTextMessageViewHolder(itemView: View) :
binding.messageText.context, binding.messageText.context,
message, message,
false, false,
viewThemeUtils, viewThemeUtils
) )
@ -165,8 +173,6 @@ class OutcomingTextMessageViewHolder(itemView: View) :
userCircles userCircles
) )
binding.messageText.text = processedMessageText binding.messageText.text = processedMessageText
}
if ( if (
(message.messageParameters == null || message.messageParameters!!.size <= 0) && (message.messageParameters == null || message.messageParameters!!.size <= 0) &&
@ -177,7 +183,6 @@ class OutcomingTextMessageViewHolder(itemView: View) :
realView.isSelected = true realView.isSelected = true
isBubbled = false isBubbled = false
} }
binding.messageTime.layoutParams = layoutParams binding.messageTime.layoutParams = layoutParams
viewThemeUtils.platform.colorTextView(binding.messageText, ColorRole.ON_SURFACE_VARIANT) viewThemeUtils.platform.colorTextView(binding.messageText, ColorRole.ON_SURFACE_VARIANT)
binding.messageText.text = processedMessageText binding.messageText.text = processedMessageText
@ -207,7 +212,10 @@ class OutcomingTextMessageViewHolder(itemView: View) :
binding.sendingProgress.visibility = View.GONE binding.sendingProgress.visibility = View.GONE
if (message.sendingFailed) { if (message.sendingFailed) {
updateStatus(R.drawable.baseline_error_outline_24, context.resources?.getString(R.string.nc_message_failed)) updateStatus(
R.drawable.baseline_error_outline_24,
context.resources?.getString(R.string.nc_message_failed)
)
} else if (message.isTemporary) { } else if (message.isTemporary) {
updateStatus(R.drawable.baseline_schedule_24, context.resources?.getString(R.string.nc_message_sending)) updateStatus(R.drawable.baseline_schedule_24, context.resources?.getString(R.string.nc_message_sending))
} else if (message.readStatus == ReadStatus.READ) { } else if (message.readStatus == ReadStatus.READ) {
@ -241,7 +249,6 @@ class OutcomingTextMessageViewHolder(itemView: View) :
) )
} }
private fun processCheckboxes(chatMessage: ChatMessage, user: User): Boolean { private fun processCheckboxes(chatMessage: ChatMessage, user: User): Boolean {
val chatActivity = commonMessageInterface as ChatActivity val chatActivity = commonMessageInterface as ChatActivity
val message = chatMessage.message!!.toSpanned() val message = chatMessage.message!!.toSpanned()

View File

@ -621,7 +621,7 @@ class ComposeChatAdapter(
) )
processedMessageText = viewModel.messageUtils.processMessageParameters( processedMessageText = viewModel.messageUtils.processMessageParameters(
ctx, viewModel.viewThemeUtils, processedMessageText!!, message, null ctx, viewModel.viewThemeUtils, processedMessageText!!, message, null, null, null
) )
EmojiTextView(ctx).apply { EmojiTextView(ctx).apply {

View File

@ -77,6 +77,7 @@ class MessageUtils @Inject constructor(val context: Context) {
return viewThemeUtils.talk.themeMarkdown(context, message, incoming) return viewThemeUtils.talk.themeMarkdown(context, message, incoming)
} }
@Suppress("LongParameterList")
fun processMessageParameters( fun processMessageParameters(
themingContext: Context, themingContext: Context,
viewThemeUtils: ViewThemeUtils, viewThemeUtils: ViewThemeUtils,