diff --git a/app/src/main/java/org/linphone/activities/main/chat/GroupChatRoomMember.kt b/app/src/main/java/org/linphone/activities/main/chat/GroupChatRoomMember.kt index 9f8129cab..d3ff25f5d 100644 --- a/app/src/main/java/org/linphone/activities/main/chat/GroupChatRoomMember.kt +++ b/app/src/main/java/org/linphone/activities/main/chat/GroupChatRoomMember.kt @@ -26,5 +26,7 @@ data class GroupChatRoomMember( val address: Address, var isAdmin: Boolean = false, val securityLevel: ChatRoomSecurityLevel = ChatRoomSecurityLevel.ClearText, - val hasLimeX3DHCapability: Boolean = false + val hasLimeX3DHCapability: Boolean = false, + // A participant not yet added to a group can't be set admin at the same time it's added + val canBeSetAdmin: Boolean = false ) diff --git a/app/src/main/java/org/linphone/activities/main/chat/data/GroupInfoParticipantData.kt b/app/src/main/java/org/linphone/activities/main/chat/data/GroupInfoParticipantData.kt index 19bf3fbe0..c46f9b499 100644 --- a/app/src/main/java/org/linphone/activities/main/chat/data/GroupInfoParticipantData.kt +++ b/app/src/main/java/org/linphone/activities/main/chat/data/GroupInfoParticipantData.kt @@ -35,9 +35,13 @@ class GroupInfoParticipantData(private val participant: GroupChatRoomMember) : G val showAdminControls = MutableLiveData() + // A participant not yet added to a group can't be set admin at the same time it's added + val canBeSetAdmin = MutableLiveData() + init { isAdmin.value = participant.isAdmin showAdminControls.value = false + canBeSetAdmin.value = participant.canBeSetAdmin } fun setAdmin() { diff --git a/app/src/main/java/org/linphone/activities/main/chat/viewmodels/GroupInfoViewModel.kt b/app/src/main/java/org/linphone/activities/main/chat/viewmodels/GroupInfoViewModel.kt index b10e8a3d5..444ce0444 100644 --- a/app/src/main/java/org/linphone/activities/main/chat/viewmodels/GroupInfoViewModel.kt +++ b/app/src/main/java/org/linphone/activities/main/chat/viewmodels/GroupInfoViewModel.kt @@ -206,7 +206,7 @@ class GroupInfoViewModel(val chatRoom: ChatRoom?) : ErrorReportingViewModel() { if (chatRoom != null) { for (participant in chatRoom.participants) { - list.add(GroupChatRoomMember(participant.address, participant.isAdmin, participant.securityLevel)) + list.add(GroupChatRoomMember(participant.address, participant.isAdmin, participant.securityLevel, canBeSetAdmin = true)) } } diff --git a/app/src/main/res/layout/chat_room_group_info_participant_cell.xml b/app/src/main/res/layout/chat_room_group_info_participant_cell.xml index 8e6142983..287abd3b5 100644 --- a/app/src/main/res/layout/chat_room_group_info_participant_cell.xml +++ b/app/src/main/res/layout/chat_room_group_info_participant_cell.xml @@ -47,7 +47,7 @@ android:src="@drawable/chat_group_delete" />