ellipsize conversation name for add participants to 1-to-1

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
This commit is contained in:
Marcel Hibbe 2025-04-11 15:22:22 +02:00
parent b4a9910fd3
commit b0da7243e5
No known key found for this signature in database
GPG Key ID: C793F8B59F43CE7B

View File

@ -30,6 +30,7 @@ import com.nextcloud.talk.models.json.participants.TalkBan
import com.nextcloud.talk.repositories.conversations.ConversationsRepository import com.nextcloud.talk.repositories.conversations.ConversationsRepository
import com.nextcloud.talk.utils.ApiUtils import com.nextcloud.talk.utils.ApiUtils
import com.nextcloud.talk.utils.ApiUtils.getUrlForRooms import com.nextcloud.talk.utils.ApiUtils.getUrlForRooms
import com.nextcloud.talk.utils.DisplayUtils
import io.reactivex.Observer import io.reactivex.Observer
import io.reactivex.android.schedulers.AndroidSchedulers import io.reactivex.android.schedulers.AndroidSchedulers
import io.reactivex.disposables.Disposable import io.reactivex.disposables.Disposable
@ -172,20 +173,12 @@ class ConversationInfoViewModel @Inject constructor(
} }
private fun createConversationNameByParticipants(autocompleteUsers: List<AutocompleteUser>): String { private fun createConversationNameByParticipants(autocompleteUsers: List<AutocompleteUser>): String {
fun cutOffString(input: String, maxLength: Int): String {
return if (input.length > maxLength) {
input.take(maxLength)
} else {
input
}
}
val conversationName = autocompleteUsers val conversationName = autocompleteUsers
.sortedBy { it.label?.lowercase() } .sortedBy { it.label?.lowercase() }
.mapNotNull { it.label } .mapNotNull { it.label }
.joinToString(NEW_CONVERSATION_PARTICIPANTS_SEPARATOR) .joinToString(NEW_CONVERSATION_PARTICIPANTS_SEPARATOR)
return cutOffString(conversationName, MAX_ROOM_NAME_LENGTH) return DisplayUtils.ellipsize(conversationName, MAX_ROOM_NAME_LENGTH)
} }
private fun convertAutocompleteUserToParticipant(autocompleteUsers: List<AutocompleteUser>): Participants { private fun convertAutocompleteUserToParticipant(autocompleteUsers: List<AutocompleteUser>): Participants {