Pārlūkot izejas kodu

display email address of guest users for moderators

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
Marcel Hibbe 8 mēneši atpakaļ
vecāks
revīzija
6e3188f1df

+ 11 - 3
app/src/main/java/com/nextcloud/talk/adapters/items/ParticipantItem.kt

@@ -26,11 +26,13 @@ import com.nextcloud.talk.extensions.loadFederatedUserAvatar
 import com.nextcloud.talk.extensions.loadGuestAvatar
 import com.nextcloud.talk.extensions.loadMailAvatar
 import com.nextcloud.talk.extensions.loadUserAvatar
+import com.nextcloud.talk.models.domain.ConversationModel
 import com.nextcloud.talk.models.json.participants.Participant
 import com.nextcloud.talk.models.json.participants.Participant.InCallFlags
 import com.nextcloud.talk.models.json.status.StatusType
 import com.nextcloud.talk.ui.StatusDrawable
 import com.nextcloud.talk.ui.theme.ViewThemeUtils
+import com.nextcloud.talk.utils.ConversationUtils
 import com.nextcloud.talk.utils.DisplayUtils
 import com.nextcloud.talk.utils.DisplayUtils.convertDpToPixel
 import eu.davidea.flexibleadapter.FlexibleAdapter
@@ -45,7 +47,7 @@ class ParticipantItem(
     val model: Participant,
     private val user: User,
     private val viewThemeUtils: ViewThemeUtils,
-    private val roomToken: String
+    private val conversation: ConversationModel
 ) : AbstractFlexibleItem<ParticipantItemViewHolder>(), IFilterable<String?> {
     var isOnline = true
     override fun equals(o: Any?): Boolean {
@@ -128,7 +130,13 @@ class ParticipantItem(
             Participant.ParticipantType.GUEST -> {
                 userType = sharedApplication!!.getString(R.string.nc_guest)
                 if (model.calculatedActorType == Participant.ActorType.EMAILS) {
-                    userType = sharedApplication!!.getString(R.string.nc_email)
+                    userType = sharedApplication!!.getString(R.string.nc_guest)
+                }
+
+                if (model.invitedActorId?.isNotEmpty() == true &&
+                    ConversationUtils.isParticipantOwnerOrModerator(conversation)) {
+                    holder.binding.conversationInfoStatusMessage.text = model.invitedActorId
+                    alignUsernameVertical(holder, 0f)
                 }
             }
 
@@ -218,7 +226,7 @@ class ParticipantItem(
                 holder.binding.avatarView.loadFederatedUserAvatar(
                     user,
                     user.baseUrl!!,
-                    roomToken,
+                    conversation.token,
                     model.actorId!!,
                     darkTheme,
                     true,

+ 1 - 1
app/src/main/java/com/nextcloud/talk/conversationinfo/ConversationInfoActivity.kt

@@ -568,7 +568,7 @@ class ConversationInfoActivity :
 
         for (i in participants.indices) {
             participant = participants[i]
-            userItem = ParticipantItem(this, participant, conversationUser, viewThemeUtils, conversationToken)
+            userItem = ParticipantItem(this, participant, conversationUser, viewThemeUtils, conversation!!)
             if (participant.sessionId != null) {
                 userItem.isOnline = !participant.sessionId.equals("0")
             } else {

+ 3 - 0
app/src/main/java/com/nextcloud/talk/models/json/participants/Participant.kt

@@ -72,6 +72,9 @@ data class Participant(
     @JsonField(name = ["statusMessage"])
     var statusMessage: String? = null,
 
+    @JsonField(name = ["invitedActorId"])
+    var invitedActorId: String? = null,
+
     var selected: Boolean = false
 ) : Parcelable {
     // This constructor is added to work with the 'com.bluelinelabs.logansquare.annotation.JsonObject'

+ 0 - 1
app/src/main/res/layout/rv_item_conversation_info_participant.xml

@@ -66,7 +66,6 @@
         android:ellipsize="end"
         android:maxLines="3"
         android:textAlignment="viewStart"
-        android:textAppearance="?android:attr/textAppearanceListItem"
         android:textColor="?android:attr/textColorSecondary"
         android:layout_marginEnd="@dimen/side_margin"
         app:layout_constraintBottom_toBottomOf="parent"