From f549870d3b5852cc74d676aaa90abba76a9576d1 Mon Sep 17 00:00:00 2001 From: Andy Scherzinger Date: Fri, 13 Dec 2024 16:21:42 +0100 Subject: [PATCH] style(detekt): Shorten methods Signed-off-by: Andy Scherzinger --- .../OutcomingTextMessageViewHolder.kt | 35 ++++++----- .../OutcomingVoiceMessageViewHolder.kt | 44 +++++++------ .../messages/SystemMessageViewHolder.kt | 61 ++++++++++--------- .../com/nextcloud/talk/chat/ChatActivity.kt | 17 +++++- detekt.yml | 2 +- 5 files changed, 91 insertions(+), 68 deletions(-) diff --git a/app/src/main/java/com/nextcloud/talk/adapters/messages/OutcomingTextMessageViewHolder.kt b/app/src/main/java/com/nextcloud/talk/adapters/messages/OutcomingTextMessageViewHolder.kt index f1dc83286..1903d78f3 100644 --- a/app/src/main/java/com/nextcloud/talk/adapters/messages/OutcomingTextMessageViewHolder.kt +++ b/app/src/main/java/com/nextcloud/talk/adapters/messages/OutcomingTextMessageViewHolder.kt @@ -82,9 +82,8 @@ class OutcomingTextMessageViewHolder(itemView: View) : itemView ) - val messageParameters = message.messageParameters if ( - (messageParameters == null || messageParameters.size <= 0) && + (message.messageParameters == null || message.messageParameters!!.size <= 0) && TextMatchers.isMessageWithSingleEmoticonOnly(message.text) ) { textSize = (textSize * TEXT_SIZE_MULTIPLIER).toFloat() @@ -115,13 +114,29 @@ class OutcomingTextMessageViewHolder(itemView: View) : binding.messageQuote.quotedChatMessageView.visibility = View.GONE } - val readStatusDrawableInt = when (message.readStatus) { + setReadStatus(message.readStatus) + + itemView.setTag(R.string.replyable_message_view_tag, message.replyable) + + Reaction().showReactions( + message, + ::clickOnReaction, + ::longClickOnReaction, + binding.reactions, + context, + true, + viewThemeUtils + ) + } + + private fun setReadStatus(readStatus: Enum) { + val readStatusDrawableInt = when (readStatus) { ReadStatus.READ -> R.drawable.ic_check_all ReadStatus.SENT -> R.drawable.ic_check else -> null } - val readStatusContentDescriptionString = when (message.readStatus) { + val readStatusContentDescriptionString = when (readStatus) { ReadStatus.READ -> context.resources?.getString(R.string.nc_message_read) ReadStatus.SENT -> context.resources?.getString(R.string.nc_message_sent) else -> null @@ -135,18 +150,6 @@ class OutcomingTextMessageViewHolder(itemView: View) : } binding.checkMark.contentDescription = readStatusContentDescriptionString - - itemView.setTag(R.string.replyable_message_view_tag, message.replyable) - - Reaction().showReactions( - message, - ::clickOnReaction, - ::longClickOnReaction, - binding.reactions, - context, - true, - viewThemeUtils - ) } private fun longClickOnReaction(chatMessage: ChatMessage) { diff --git a/app/src/main/java/com/nextcloud/talk/adapters/messages/OutcomingVoiceMessageViewHolder.kt b/app/src/main/java/com/nextcloud/talk/adapters/messages/OutcomingVoiceMessageViewHolder.kt index 43803c5aa..281240748 100644 --- a/app/src/main/java/com/nextcloud/talk/adapters/messages/OutcomingVoiceMessageViewHolder.kt +++ b/app/src/main/java/com/nextcloud/talk/adapters/messages/OutcomingVoiceMessageViewHolder.kt @@ -131,26 +131,7 @@ class OutcomingVoiceMessageViewHolder(outcomingView: View) : } }) - val readStatusDrawableInt = when (message.readStatus) { - ReadStatus.READ -> R.drawable.ic_check_all - ReadStatus.SENT -> R.drawable.ic_check - else -> null - } - - val readStatusContentDescriptionString = when (message.readStatus) { - ReadStatus.READ -> context?.resources?.getString(R.string.nc_message_read) - ReadStatus.SENT -> context?.resources?.getString(R.string.nc_message_sent) - else -> null - } - - readStatusDrawableInt?.let { drawableInt -> - AppCompatResources.getDrawable(context!!, drawableInt)?.let { - binding.checkMark.setImageDrawable(it) - viewThemeUtils.talk.themeMessageCheckMark(binding.checkMark) - } - } - - binding.checkMark.contentDescription = readStatusContentDescriptionString + setReadStatus(message.readStatus) voiceMessageInterface.registerMessageToObservePlaybackSpeedPreferences(message.user.id) { speed -> binding.playbackSpeedControlBtn.setSpeed(speed) @@ -168,6 +149,29 @@ class OutcomingVoiceMessageViewHolder(outcomingView: View) : isBound = true } + private fun setReadStatus(readStatus: Enum) { + val readStatusDrawableInt = when (readStatus) { + ReadStatus.READ -> R.drawable.ic_check_all + ReadStatus.SENT -> R.drawable.ic_check + else -> null + } + + val readStatusContentDescriptionString = when (readStatus) { + ReadStatus.READ -> context?.resources?.getString(R.string.nc_message_read) + ReadStatus.SENT -> context?.resources?.getString(R.string.nc_message_sent) + else -> null + } + + readStatusDrawableInt?.let { drawableInt -> + AppCompatResources.getDrawable(context!!, drawableInt)?.let { + binding.checkMark.setImageDrawable(it) + viewThemeUtils.talk.themeMessageCheckMark(binding.checkMark) + } + } + + binding.checkMark.contentDescription = readStatusContentDescriptionString + } + private fun longClickOnReaction(chatMessage: ChatMessage) { commonMessageInterface.onLongClickReactions(chatMessage) } diff --git a/app/src/main/java/com/nextcloud/talk/adapters/messages/SystemMessageViewHolder.kt b/app/src/main/java/com/nextcloud/talk/adapters/messages/SystemMessageViewHolder.kt index a9332636a..4431be212 100644 --- a/app/src/main/java/com/nextcloud/talk/adapters/messages/SystemMessageViewHolder.kt +++ b/app/src/main/java/com/nextcloud/talk/adapters/messages/SystemMessageViewHolder.kt @@ -85,34 +85,7 @@ class SystemMessageViewHolder(itemView: View) : MessageHolders.IncomingTextMessa binding.systemMessageLayout.visibility = View.VISIBLE binding.similarMessagesHint.visibility = View.GONE if (message.expandableParent) { - binding.expandCollapseIcon.visibility = View.VISIBLE - - if (!message.isExpanded) { - val similarMessages = String.format( - sharedApplication!!.resources.getString(R.string.see_similar_system_messages), - message.expandableChildrenAmount - ) - - binding.messageText.text = messageString - binding.similarMessagesHint.visibility = View.VISIBLE - binding.similarMessagesHint.text = similarMessages - - binding.expandCollapseIcon.setImageDrawable( - ContextCompat.getDrawable(context!!, R.drawable.baseline_unfold_more_24) - ) - binding.systemMessageLayout.setOnClickListener { systemMessageInterface.expandSystemMessage(message) } - binding.messageText.setOnClickListener { systemMessageInterface.expandSystemMessage(message) } - } else { - binding.messageText.text = messageString - binding.similarMessagesHint.visibility = View.GONE - binding.similarMessagesHint.text = "" - - binding.expandCollapseIcon.setImageDrawable( - ContextCompat.getDrawable(context!!, R.drawable.baseline_unfold_less_24) - ) - binding.systemMessageLayout.setOnClickListener { systemMessageInterface.collapseSystemMessages() } - binding.messageText.setOnClickListener { systemMessageInterface.collapseSystemMessages() } - } + processExpandableParent(message, messageString) } else if (message.hiddenByCollapse) { binding.systemMessageLayout.visibility = View.GONE } else { @@ -131,6 +104,38 @@ class SystemMessageViewHolder(itemView: View) : MessageHolders.IncomingTextMessa itemView.setTag(R.string.replyable_message_view_tag, message.replyable) } + @SuppressLint("SetTextI18n", "StringFormatInvalid") + private fun processExpandableParent(message: ChatMessage, messageString: Spannable) { + binding.expandCollapseIcon.visibility = View.VISIBLE + + if (!message.isExpanded) { + val similarMessages = String.format( + sharedApplication!!.resources.getString(R.string.see_similar_system_messages), + message.expandableChildrenAmount + ) + + binding.messageText.text = messageString + binding.similarMessagesHint.visibility = View.VISIBLE + binding.similarMessagesHint.text = similarMessages + + binding.expandCollapseIcon.setImageDrawable( + ContextCompat.getDrawable(context!!, R.drawable.baseline_unfold_more_24) + ) + binding.systemMessageLayout.setOnClickListener { systemMessageInterface.expandSystemMessage(message) } + binding.messageText.setOnClickListener { systemMessageInterface.expandSystemMessage(message) } + } else { + binding.messageText.text = messageString + binding.similarMessagesHint.visibility = View.GONE + binding.similarMessagesHint.text = "" + + binding.expandCollapseIcon.setImageDrawable( + ContextCompat.getDrawable(context!!, R.drawable.baseline_unfold_less_24) + ) + binding.systemMessageLayout.setOnClickListener { systemMessageInterface.collapseSystemMessages() } + binding.messageText.setOnClickListener { systemMessageInterface.collapseSystemMessages() } + } + } + fun assignSystemMessageInterface(systemMessageInterface: SystemMessageInterface) { this.systemMessageInterface = systemMessageInterface } 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 4689d35e2..00706c42e 100644 --- a/app/src/main/java/com/nextcloud/talk/chat/ChatActivity.kt +++ b/app/src/main/java/com/nextcloud/talk/chat/ChatActivity.kt @@ -3387,8 +3387,6 @@ class ChatActivity : } fun shareToNotes(message: ChatMessage, roomToken: String) { - val apiVersion = ApiUtils.getChatApiVersion(spreedCapabilities, intArrayOf(1)) - val type = message.getCalculateMessageType() var shareUri: Uri? = null val data: HashMap? var metaData: String = "" @@ -3418,6 +3416,17 @@ class ChatActivity : "\"longitude\":\"$lon\",\"name\":\"$name\"}" } + shareToNotes(shareUri, roomToken, message, objectId, metaData) + } + + private fun shareToNotes( + shareUri: Uri?, + roomToken: String, + message: ChatMessage, + objectId: String, + metaData: String + ) { + val type = message.getCalculateMessageType() when (type) { ChatMessage.MessageType.VOICE_MESSAGE -> { uploadFile(shareUri.toString(), true, token = roomToken) @@ -3432,7 +3441,7 @@ class ChatActivity : uploadFile(shareUri.toString(), false, caption!!, roomToken) Snackbar.make(binding.root, R.string.nc_message_sent, Snackbar.LENGTH_SHORT).show() } catch (e: java.lang.Exception) { - Log.w(TAG, "File corresponding to the uri does not exist " + shareUri.toString()) + Log.w(TAG, "File corresponding to the uri does not exist $shareUri") downloadFileToCache(message, false) { uploadFile(shareUri.toString(), false, caption!!, roomToken) Snackbar.make(binding.root, R.string.nc_message_sent, Snackbar.LENGTH_SHORT).show() @@ -3442,6 +3451,7 @@ class ChatActivity : } ChatMessage.MessageType.SINGLE_NC_GEOLOCATION_MESSAGE -> { + val apiVersion = ApiUtils.getChatApiVersion(spreedCapabilities, intArrayOf(1)) chatViewModel.shareLocationToNotes( credentials!!, ApiUtils.getUrlToSendLocation(apiVersion, conversationUser!!.baseUrl!!, roomToken), @@ -3453,6 +3463,7 @@ class ChatActivity : } ChatMessage.MessageType.REGULAR_TEXT_MESSAGE -> { + val apiVersion = ApiUtils.getChatApiVersion(spreedCapabilities, intArrayOf(1)) chatViewModel.shareToNotes( credentials!!, ApiUtils.getUrlForChat(apiVersion, conversationUser!!.baseUrl!!, roomToken), diff --git a/detekt.yml b/detekt.yml index d0a3eb42a..feafeb301 100644 --- a/detekt.yml +++ b/detekt.yml @@ -1,7 +1,7 @@ # SPDX-FileCopyrightText: 2017-2024 Nextcloud GmbH and Nextcloud contributors # SPDX-License-Identifier: GPL-3.0-or-later build: - maxIssues: 86 + maxIssues: 83 weights: # complexity: 2 # LongParameterList: 1