Fixed menu button showing in '@' participants menu

This commit is contained in:
Sylvain Berfini 2023-12-15 10:04:18 +01:00
parent 6338fb65d1
commit 1b827bcf76
3 changed files with 22 additions and 8 deletions

View file

@ -29,6 +29,7 @@ class ParticipantModel @WorkerThread constructor(
val address: Address,
val isMyselfAdmin: Boolean = false,
val isParticipantAdmin: Boolean = false,
val showMenu: Boolean = false,
private val onClicked: ((model: ParticipantModel) -> Unit)? = null,
private val onMenuClicked: ((view: View, model: ParticipantModel) -> Unit)? = null
) {

View file

@ -506,19 +506,31 @@ class ConversationInfoViewModel @UiThread constructor() : ViewModel() {
val friends = arrayListOf<Friend>()
val participantsList = arrayListOf<ParticipantModel>()
if (chatRoom.hasCapability(ChatRoom.Capabilities.Basic.toInt())) {
val model = ParticipantModel(chatRoom.peerAddress, selfAdmin, false) { view, model ->
// openMenu
showParticipantAdminPopupMenuEvent.postValue(Event(Pair(view, model)))
}
val model = ParticipantModel(
chatRoom.peerAddress,
selfAdmin,
isParticipantAdmin = false,
showMenu = true,
onMenuClicked = { view, model ->
// openMenu
showParticipantAdminPopupMenuEvent.postValue(Event(Pair(view, model)))
}
)
friends.add(model.avatarModel.friend)
participantsList.add(model)
} else {
for (participant in chatRoom.participants) {
val isParticipantAdmin = if (groupChatRoom) participant.isAdmin else false
val model = ParticipantModel(participant.address, selfAdmin, isParticipantAdmin, onMenuClicked = { view, model ->
// openMenu
showParticipantAdminPopupMenuEvent.postValue(Event(Pair(view, model)))
})
val model = ParticipantModel(
participant.address,
selfAdmin,
isParticipantAdmin = isParticipantAdmin,
showMenu = true,
onMenuClicked = { view, model ->
// openMenu
showParticipantAdminPopupMenuEvent.postValue(Event(Pair(view, model)))
}
)
friends.add(model.avatarModel.friend)
participantsList.add(model)
}

View file

@ -87,6 +87,7 @@
android:layout_width="@dimen/icon_size"
android:layout_height="@dimen/icon_size"
android:src="@drawable/dots_three_vertical"
android:visibility="@{model.showMenu ? View.VISIBLE : View.GONE}"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/name"
app:layout_constraintTop_toTopOf="parent"