From ef7831472ff6a591f437e9cd7d5b245f8fecf464 Mon Sep 17 00:00:00 2001 From: sowjanyakch Date: Wed, 29 Jan 2025 22:18:50 +0100 Subject: [PATCH] set limit on description Signed-off-by: sowjanyakch --- .../ConversationCreationActivity.kt | 9 ++++++++- .../ConversationCreationViewModel.kt | 5 +---- .../ConversationInfoEditActivity.kt | 14 ++++++++------ 3 files changed, 17 insertions(+), 11 deletions(-) diff --git a/app/src/main/java/com/nextcloud/talk/conversationcreation/ConversationCreationActivity.kt b/app/src/main/java/com/nextcloud/talk/conversationcreation/ConversationCreationActivity.kt index b45db2f03..f7df3b266 100644 --- a/app/src/main/java/com/nextcloud/talk/conversationcreation/ConversationCreationActivity.kt +++ b/app/src/main/java/com/nextcloud/talk/conversationcreation/ConversationCreationActivity.kt @@ -90,6 +90,7 @@ import com.nextcloud.talk.chat.ChatActivity import com.nextcloud.talk.contacts.ContactsActivityCompose import com.nextcloud.talk.contacts.loadImage import com.nextcloud.talk.models.json.autocomplete.AutocompleteUser +import com.nextcloud.talk.utils.CapabilitiesUtil import com.nextcloud.talk.utils.PickImage import com.nextcloud.talk.utils.bundle.BundleKeys import javax.inject.Inject @@ -342,7 +343,13 @@ fun ConversationNameAndDescription(conversationCreationViewModel: ConversationCr OutlinedTextField( value = conversationDescription.value, onValueChange = { - conversationCreationViewModel.updateConversationDescription(it) + if(it.length > CapabilitiesUtil.conversationDescriptionLength(conversationCreationViewModel.currentUser + .capabilities?.spreedCapability!!)){ + conversationCreationViewModel.updateConversationDescription(it.take(CapabilitiesUtil.conversationDescriptionLength(conversationCreationViewModel.currentUser + .capabilities?.spreedCapability!!))) + }else{ + conversationCreationViewModel.updateConversationDescription(it) + } }, label = { Text(text = stringResource(id = R.string.nc_conversation_description)) }, modifier = Modifier diff --git a/app/src/main/java/com/nextcloud/talk/conversationcreation/ConversationCreationViewModel.kt b/app/src/main/java/com/nextcloud/talk/conversationcreation/ConversationCreationViewModel.kt index 05021b04f..239bedf3f 100644 --- a/app/src/main/java/com/nextcloud/talk/conversationcreation/ConversationCreationViewModel.kt +++ b/app/src/main/java/com/nextcloud/talk/conversationcreation/ConversationCreationViewModel.kt @@ -19,7 +19,6 @@ import com.nextcloud.talk.models.json.conversations.Conversation import com.nextcloud.talk.models.json.generic.GenericMeta import com.nextcloud.talk.repositories.conversations.ConversationsRepositoryImpl.Companion.STATUS_CODE_OK import com.nextcloud.talk.users.UserManager -import com.nextcloud.talk.utils.CapabilitiesUtil import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.launch @@ -73,9 +72,7 @@ class ConversationCreationViewModel @Inject constructor( } fun updateConversationDescription(conversationDescription: String) { - _conversationDescription.value = conversationDescription.take( - CapabilitiesUtil.conversationDescriptionLength(currentUser.capabilities?.spreedCapability!!) - ) + _conversationDescription.value = conversationDescription } @Suppress("Detekt.TooGenericExceptionCaught") diff --git a/app/src/main/java/com/nextcloud/talk/conversationinfoedit/ConversationInfoEditActivity.kt b/app/src/main/java/com/nextcloud/talk/conversationinfoedit/ConversationInfoEditActivity.kt index 9e8679f3b..794acf267 100644 --- a/app/src/main/java/com/nextcloud/talk/conversationinfoedit/ConversationInfoEditActivity.kt +++ b/app/src/main/java/com/nextcloud/talk/conversationinfoedit/ConversationInfoEditActivity.kt @@ -10,6 +10,7 @@ package com.nextcloud.talk.conversationinfoedit import android.app.Activity import android.graphics.drawable.ColorDrawable import android.os.Bundle +import android.text.InputFilter import android.text.TextUtils import android.util.Log import android.view.Menu @@ -118,6 +119,11 @@ class ConversationInfoEditActivity : BaseActivity() { pickImage = PickImage(this, conversationUser) + binding.conversationDescription.filters = arrayOf( + InputFilter.LengthFilter(CapabilitiesUtil.conversationDescriptionLength(conversationUser + .capabilities?.spreedCapability!!)) + ) + initObservers() } @@ -277,13 +283,9 @@ class ConversationInfoEditActivity : BaseActivity() { ) } - fun saveConversationDescription() { + private fun saveConversationDescription() { val conversationDescription = binding.conversationDescription.text.toString() - val trimConversationDescription = conversationDescription.take( - CapabilitiesUtil - .conversationDescriptionLength(spreedCapabilities) - ) - conversationInfoEditViewModel.setConversationDescription(conversation!!.token, trimConversationDescription) + conversationInfoEditViewModel.setConversationDescription(conversation!!.token, conversationDescription) } private fun handleResult(result: ActivityResult, onResult: (result: ActivityResult) -> Unit) {