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 2bcd67874..9e59da0c1 100644 --- a/app/src/main/java/com/nextcloud/talk/chat/ChatActivity.kt +++ b/app/src/main/java/com/nextcloud/talk/chat/ChatActivity.kt @@ -182,6 +182,7 @@ import com.nextcloud.talk.ui.recyclerview.MessageSwipeCallback import com.nextcloud.talk.utils.ApiUtils import com.nextcloud.talk.utils.AudioUtils import com.nextcloud.talk.utils.CapabilitiesUtil +import com.nextcloud.talk.utils.CharPolicy import com.nextcloud.talk.utils.ContactUtils import com.nextcloud.talk.utils.ConversationUtils import com.nextcloud.talk.utils.DateConstants @@ -190,7 +191,6 @@ import com.nextcloud.talk.utils.DisplayUtils import com.nextcloud.talk.utils.FileUtils import com.nextcloud.talk.utils.FileViewerUtils import com.nextcloud.talk.utils.ImageEmojiEditText -import com.nextcloud.talk.utils.CharPolicy import com.nextcloud.talk.utils.Mimetype import com.nextcloud.talk.utils.NotificationUtils import com.nextcloud.talk.utils.ParticipantPermissions @@ -3474,24 +3474,32 @@ class ChatActivity : "" } - val statusMessageView = binding.chatToolbar.findViewById(R.id.chat_toolbar_status_message) if (currentConversation?.type == ConversationType.ROOM_TYPE_ONE_TO_ONE_CALL) { var statusMessage = "" if (currentConversation?.statusIcon != null) { statusMessage += currentConversation?.statusIcon } - if (currentConversation?.statusMessage != null) { statusMessage += currentConversation?.statusMessage } - - if (statusMessage.isNotEmpty()) { - viewThemeUtils.platform.colorTextView(statusMessageView, ColorRole.ON_SURFACE) - statusMessageView.text = statusMessage - statusMessageView.visibility = View.VISIBLE - } else { - statusMessageView.visibility = View.GONE + statusMessageViewContents(statusMessage) + } else { + if (currentConversation?.type == ConversationType.ROOM_GROUP_CALL || + currentConversation?.type == ConversationType.ROOM_PUBLIC_CALL + ) { + var descriptionMessage = "" + descriptionMessage += currentConversation?.description + statusMessageViewContents(descriptionMessage) } + } + } + + private fun statusMessageViewContents(statusMessageContent: String) { + val statusMessageView = binding.chatToolbar.findViewById(R.id.chat_toolbar_status_message) + if (statusMessageContent.isNotEmpty()) { + viewThemeUtils.platform.colorTextView(statusMessageView, ColorRole.ON_SURFACE) + statusMessageView.text = statusMessageContent + statusMessageView.visibility = View.VISIBLE } else { statusMessageView.visibility = View.GONE } diff --git a/app/src/main/java/com/nextcloud/talk/openconversations/adapters/OpenConversationsAdapter.kt b/app/src/main/java/com/nextcloud/talk/openconversations/adapters/OpenConversationsAdapter.kt index 79300cfef..645b49c5f 100644 --- a/app/src/main/java/com/nextcloud/talk/openconversations/adapters/OpenConversationsAdapter.kt +++ b/app/src/main/java/com/nextcloud/talk/openconversations/adapters/OpenConversationsAdapter.kt @@ -7,7 +7,9 @@ package com.nextcloud.talk.openconversations.adapters import android.view.LayoutInflater +import android.view.View import android.view.ViewGroup +import android.widget.RelativeLayout import androidx.recyclerview.widget.DiffUtil import androidx.recyclerview.widget.ListAdapter import androidx.recyclerview.widget.RecyclerView @@ -34,8 +36,17 @@ class OpenConversationsAdapter(val user: User, private val onClick: (OpenConvers } fun bindItem(conversation: OpenConversation) { + val nameTextLayoutParams: RelativeLayout.LayoutParams = itemBinding.nameText.layoutParams as + RelativeLayout.LayoutParams + currentConversation = conversation itemBinding.nameText.text = conversation.displayName + if (conversation.description == "") { + itemBinding.descriptionText.visibility = View.GONE + nameTextLayoutParams.addRule(RelativeLayout.CENTER_VERTICAL) + } else { + itemBinding.descriptionText.text = conversation.description + } // load avatar from server when https://github.com/nextcloud/spreed/issues/9600 is solved // itemBinding.avatarView.loadUserAvatar(user, conversation.displayName, true, false) diff --git a/app/src/main/java/com/nextcloud/talk/openconversations/data/OpenConversation.kt b/app/src/main/java/com/nextcloud/talk/openconversations/data/OpenConversation.kt index e682fa016..33918185d 100644 --- a/app/src/main/java/com/nextcloud/talk/openconversations/data/OpenConversation.kt +++ b/app/src/main/java/com/nextcloud/talk/openconversations/data/OpenConversation.kt @@ -9,5 +9,6 @@ package com.nextcloud.talk.openconversations.data data class OpenConversation( var roomId: String, var roomToken: String, - var displayName: String + var displayName: String, + var description: String? ) diff --git a/app/src/main/java/com/nextcloud/talk/openconversations/data/OpenConversationsRepositoryImpl.kt b/app/src/main/java/com/nextcloud/talk/openconversations/data/OpenConversationsRepositoryImpl.kt index b86b86700..156d0f4e5 100644 --- a/app/src/main/java/com/nextcloud/talk/openconversations/data/OpenConversationsRepositoryImpl.kt +++ b/app/src/main/java/com/nextcloud/talk/openconversations/data/OpenConversationsRepositoryImpl.kt @@ -34,7 +34,8 @@ class OpenConversationsRepositoryImpl(private val ncApi: NcApi, currentUserProvi OpenConversation( conversation.roomId!!, conversation.token!!, - conversation.name!! + conversation.name!!, + conversation.description ?: "" ) } ) diff --git a/app/src/main/res/layout/activity_open_conversations.xml b/app/src/main/res/layout/activity_open_conversations.xml index f3d18364c..a13e48734 100644 --- a/app/src/main/res/layout/activity_open_conversations.xml +++ b/app/src/main/res/layout/activity_open_conversations.xml @@ -30,10 +30,10 @@ + android:id="@+id/open_conversations_recycler_view" + android:layout_width="match_parent" + android:layout_height="match_parent" + app:layoutManager="LinearLayoutManager" /> + + diff --git a/app/src/main/res/values/dimens.xml b/app/src/main/res/values/dimens.xml index bfc6aa91e..3e7f74171 100644 --- a/app/src/main/res/values/dimens.xml +++ b/app/src/main/res/values/dimens.xml @@ -23,6 +23,7 @@ 40dp 30dp 96dp + 52dp 14sp 20dp