set limit on description

Signed-off-by: sowjanyakch <sowjanya.kch@gmail.com>
This commit is contained in:
sowjanyakch 2025-01-29 22:18:50 +01:00 committed by Marcel Hibbe
parent fdcff12bd9
commit ef7831472f
No known key found for this signature in database
GPG Key ID: C793F8B59F43CE7B
3 changed files with 17 additions and 11 deletions

View File

@ -90,6 +90,7 @@ import com.nextcloud.talk.chat.ChatActivity
import com.nextcloud.talk.contacts.ContactsActivityCompose import com.nextcloud.talk.contacts.ContactsActivityCompose
import com.nextcloud.talk.contacts.loadImage import com.nextcloud.talk.contacts.loadImage
import com.nextcloud.talk.models.json.autocomplete.AutocompleteUser 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.PickImage
import com.nextcloud.talk.utils.bundle.BundleKeys import com.nextcloud.talk.utils.bundle.BundleKeys
import javax.inject.Inject import javax.inject.Inject
@ -342,7 +343,13 @@ fun ConversationNameAndDescription(conversationCreationViewModel: ConversationCr
OutlinedTextField( OutlinedTextField(
value = conversationDescription.value, value = conversationDescription.value,
onValueChange = { 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)) }, label = { Text(text = stringResource(id = R.string.nc_conversation_description)) },
modifier = Modifier modifier = Modifier

View File

@ -19,7 +19,6 @@ import com.nextcloud.talk.models.json.conversations.Conversation
import com.nextcloud.talk.models.json.generic.GenericMeta import com.nextcloud.talk.models.json.generic.GenericMeta
import com.nextcloud.talk.repositories.conversations.ConversationsRepositoryImpl.Companion.STATUS_CODE_OK import com.nextcloud.talk.repositories.conversations.ConversationsRepositoryImpl.Companion.STATUS_CODE_OK
import com.nextcloud.talk.users.UserManager import com.nextcloud.talk.users.UserManager
import com.nextcloud.talk.utils.CapabilitiesUtil
import kotlinx.coroutines.flow.MutableStateFlow import kotlinx.coroutines.flow.MutableStateFlow
import kotlinx.coroutines.flow.StateFlow import kotlinx.coroutines.flow.StateFlow
import kotlinx.coroutines.launch import kotlinx.coroutines.launch
@ -73,9 +72,7 @@ class ConversationCreationViewModel @Inject constructor(
} }
fun updateConversationDescription(conversationDescription: String) { fun updateConversationDescription(conversationDescription: String) {
_conversationDescription.value = conversationDescription.take( _conversationDescription.value = conversationDescription
CapabilitiesUtil.conversationDescriptionLength(currentUser.capabilities?.spreedCapability!!)
)
} }
@Suppress("Detekt.TooGenericExceptionCaught") @Suppress("Detekt.TooGenericExceptionCaught")

View File

@ -10,6 +10,7 @@ package com.nextcloud.talk.conversationinfoedit
import android.app.Activity import android.app.Activity
import android.graphics.drawable.ColorDrawable import android.graphics.drawable.ColorDrawable
import android.os.Bundle import android.os.Bundle
import android.text.InputFilter
import android.text.TextUtils import android.text.TextUtils
import android.util.Log import android.util.Log
import android.view.Menu import android.view.Menu
@ -118,6 +119,11 @@ class ConversationInfoEditActivity : BaseActivity() {
pickImage = PickImage(this, conversationUser) pickImage = PickImage(this, conversationUser)
binding.conversationDescription.filters = arrayOf(
InputFilter.LengthFilter(CapabilitiesUtil.conversationDescriptionLength(conversationUser
.capabilities?.spreedCapability!!))
)
initObservers() initObservers()
} }
@ -277,13 +283,9 @@ class ConversationInfoEditActivity : BaseActivity() {
) )
} }
fun saveConversationDescription() { private fun saveConversationDescription() {
val conversationDescription = binding.conversationDescription.text.toString() val conversationDescription = binding.conversationDescription.text.toString()
val trimConversationDescription = conversationDescription.take( conversationInfoEditViewModel.setConversationDescription(conversation!!.token, conversationDescription)
CapabilitiesUtil
.conversationDescriptionLength(spreedCapabilities)
)
conversationInfoEditViewModel.setConversationDescription(conversation!!.token, trimConversationDescription)
} }
private fun handleResult(result: ActivityResult, onResult: (result: ActivityResult) -> Unit) { private fun handleResult(result: ActivityResult, onResult: (result: ActivityResult) -> Unit) {