Hiding some menus & buttons when conversation is read only

This commit is contained in:
Sylvain Berfini 2024-01-23 11:38:20 +01:00
parent 6f8469eb0b
commit 3a240f107c
4 changed files with 15 additions and 4 deletions

View file

@ -744,6 +744,7 @@ class ConversationFragment : SlidingPaneChildFragment() {
popupView.conversationMuted = viewModel.isMuted.value == true
popupView.ephemeralMessagesAvailable = viewModel.isEndToEndEncrypted.value == true || viewModel.isGroup.value == true
popupView.readOnlyConversation = viewModel.isReadOnly.value == true
popupView.setGoToInfoClickListener {
goToInfoFragment()

View file

@ -45,7 +45,7 @@
<androidx.constraintlayout.widget.Group
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:constraint_referenced_ids="avatar, title, start_call, show_menu"
app:constraint_referenced_ids="avatar, title, show_menu"
android:visibility="@{viewModel.searchBarVisible ? View.GONE : View.VISIBLE}" />
<androidx.constraintlayout.widget.Group
@ -159,6 +159,7 @@
android:layout_height="0dp"
android:padding="15dp"
android:src="@drawable/phone"
android:visibility="@{viewModel.isReadOnly || viewModel.searchBarVisible ? View.GONE : View.VISIBLE}"
app:layout_constraintTop_toTopOf="@id/back"
app:layout_constraintBottom_toBottomOf="@id/back"
app:layout_constraintEnd_toStartOf="@id/show_menu"

View file

@ -27,6 +27,9 @@
<variable
name="ephemeralMessagesAvailable"
type="Boolean" />
<variable
name="readOnlyConversation"
type="Boolean" />
</data>
<androidx.constraintlayout.widget.ConstraintLayout
@ -89,7 +92,7 @@
android:ellipsize="end"
android:drawableStart="@drawable/bell_simple_slash"
android:drawablePadding="5dp"
android:visibility="@{conversationMuted ? View.GONE : View.VISIBLE}"
android:visibility="@{conversationMuted || readOnlyConversation ? View.GONE : View.VISIBLE}"
app:drawableTint="?attr/color_main2_700"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/search"
@ -109,7 +112,7 @@
android:ellipsize="end"
android:drawableStart="@drawable/bell_simple"
android:drawablePadding="5dp"
android:visibility="@{conversationMuted ? View.VISIBLE : View.GONE, default=gone}"
android:visibility="@{conversationMuted &amp;&amp; !readOnlyConversation ? View.VISIBLE : View.GONE, default=gone}"
app:drawableTint="?attr/color_main2_700"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/mute"
@ -129,7 +132,7 @@
android:ellipsize="end"
android:drawableStart="@drawable/clock_countdown"
android:drawablePadding="5dp"
android:visibility="@{ephemeralMessagesAvailable ? View.VISIBLE : View.GONE}"
android:visibility="@{ephemeralMessagesAvailable &amp;&amp; !readOnlyConversation ? View.VISIBLE : View.GONE}"
app:drawableTint="?attr/color_main2_700"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/unmute"

View file

@ -169,6 +169,7 @@
android:onClick="@{() -> viewModel.toggleMute()}"
android:padding="16dp"
android:src="@{viewModel.isMuted ? @drawable/bell_simple : @drawable/bell_simple_slash, default=@drawable/bell_simple_slash}"
android:visibility="@{viewModel.isReadOnly ? View.GONE : View.VISIBLE}"
app:layout_constraintEnd_toStartOf="@id/call"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/status"
@ -183,6 +184,7 @@
android:onClick="@{() -> viewModel.toggleMute()}"
android:text="@{viewModel.isMuted ? @string/conversation_action_unmute : @string/conversation_action_mute, default=@string/conversation_action_mute}"
android:textSize="14sp"
android:visibility="@{viewModel.isReadOnly ? View.GONE : View.VISIBLE}"
app:layout_constraintEnd_toEndOf="@id/mute"
app:layout_constraintStart_toStartOf="@id/mute"
app:layout_constraintTop_toBottomOf="@id/mute" />
@ -196,6 +198,7 @@
android:onClick="@{() -> viewModel.call()}"
android:padding="16dp"
android:src="@drawable/phone"
android:visibility="@{viewModel.isReadOnly ? View.GONE : View.VISIBLE}"
app:layout_constraintEnd_toStartOf="@id/meeting"
app:layout_constraintStart_toEndOf="@id/mute"
app:layout_constraintTop_toBottomOf="@id/status"
@ -210,6 +213,7 @@
android:onClick="@{() -> viewModel.call()}"
android:text="@string/conversation_action_call"
android:textSize="14sp"
android:visibility="@{viewModel.isReadOnly ? View.GONE : View.VISIBLE}"
app:layout_constraintEnd_toEndOf="@id/call"
app:layout_constraintStart_toStartOf="@id/call"
app:layout_constraintTop_toBottomOf="@id/call" />
@ -223,6 +227,7 @@
android:onClick="@{() -> viewModel.scheduleMeeting()}"
android:padding="16dp"
android:src="@drawable/meeting"
android:visibility="@{viewModel.isReadOnly ? View.GONE : View.VISIBLE}"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@id/call"
app:layout_constraintTop_toBottomOf="@id/status"
@ -237,6 +242,7 @@
android:onClick="@{() -> viewModel.scheduleMeeting()}"
android:text="@string/meeting_schedule_meeting_label"
android:textSize="14sp"
android:visibility="@{viewModel.isReadOnly ? View.GONE : View.VISIBLE}"
app:layout_constraintEnd_toEndOf="@id/meeting"
app:layout_constraintStart_toStartOf="@id/meeting"
app:layout_constraintTop_toBottomOf="@id/meeting" />