From 31ef42c82999a7ca652ba6c41dd631151b5ad33c Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Mon, 5 Sep 2022 14:14:32 +0200 Subject: [PATCH] Disable join conference button if cancel ICS is received --- .../activities/main/chat/viewmodels/ChatRoomsListViewModel.kt | 2 +- .../activities/main/conference/data/ScheduledConferenceData.kt | 3 +++ app/src/main/res/drawable/button_green_background.xml | 2 ++ .../layout/chat_message_conference_invitation_content_cell.xml | 1 + app/src/main/res/layout/conference_schedule_cell.xml | 1 + 5 files changed, 8 insertions(+), 1 deletion(-) diff --git a/app/src/main/java/org/linphone/activities/main/chat/viewmodels/ChatRoomsListViewModel.kt b/app/src/main/java/org/linphone/activities/main/chat/viewmodels/ChatRoomsListViewModel.kt index be15d21ef..d8e95f27f 100644 --- a/app/src/main/java/org/linphone/activities/main/chat/viewmodels/ChatRoomsListViewModel.kt +++ b/app/src/main/java/org/linphone/activities/main/chat/viewmodels/ChatRoomsListViewModel.kt @@ -89,7 +89,7 @@ class ChatRoomsListViewModel : MessageNotifierViewModel() { } private val contactsListener = object : ContactsUpdatedListenerStub() { - override fun onContactUpdated(friend: Friend) { + override fun onContactsUpdated() { updateChatRooms() } } diff --git a/app/src/main/java/org/linphone/activities/main/conference/data/ScheduledConferenceData.kt b/app/src/main/java/org/linphone/activities/main/conference/data/ScheduledConferenceData.kt index 63f69af1d..78294e863 100644 --- a/app/src/main/java/org/linphone/activities/main/conference/data/ScheduledConferenceData.kt +++ b/app/src/main/java/org/linphone/activities/main/conference/data/ScheduledConferenceData.kt @@ -24,6 +24,7 @@ import java.util.concurrent.TimeUnit import org.linphone.LinphoneApplication.Companion.coreContext import org.linphone.R import org.linphone.core.ConferenceInfo +import org.linphone.core.ConferenceInfoState import org.linphone.core.tools.Log import org.linphone.utils.LinphoneUtils import org.linphone.utils.TimestampUtils @@ -43,6 +44,7 @@ class ScheduledConferenceData(val conferenceInfo: ConferenceInfo, private val is val participantsShort = MutableLiveData() val participantsExpanded = MutableLiveData() val showDuration = MutableLiveData() + val isConferenceCancelled = MutableLiveData() init { expanded.value = false @@ -53,6 +55,7 @@ class ScheduledConferenceData(val conferenceInfo: ConferenceInfo, private val is time.value = TimestampUtils.timeToString(conferenceInfo.dateTime) date.value = TimestampUtils.toString(conferenceInfo.dateTime, onlyDate = true, shortDate = false, hideYear = false) + isConferenceCancelled.value = conferenceInfo.state == ConferenceInfoState.Cancelled val minutes = conferenceInfo.duration val hours = TimeUnit.MINUTES.toHours(minutes.toLong()) diff --git a/app/src/main/res/drawable/button_green_background.xml b/app/src/main/res/drawable/button_green_background.xml index 1ebc96355..8d4cfbb68 100644 --- a/app/src/main/res/drawable/button_green_background.xml +++ b/app/src/main/res/drawable/button_green_background.xml @@ -2,6 +2,8 @@ + diff --git a/app/src/main/res/layout/chat_message_conference_invitation_content_cell.xml b/app/src/main/res/layout/chat_message_conference_invitation_content_cell.xml index 2b8df0a22..26ce5b86f 100644 --- a/app/src/main/res/layout/chat_message_conference_invitation_content_cell.xml +++ b/app/src/main/res/layout/chat_message_conference_invitation_content_cell.xml @@ -124,6 +124,7 @@ android:layout_gravity="center_vertical|end" android:layout_marginTop="10dp" android:background="@drawable/button_green_background" + android:enabled="@{data.isOutgoing || !data.isConferenceCancelled}" android:onClick="@{() -> data.callConferenceAddress()}" android:paddingLeft="20dp" android:paddingTop="8dp" diff --git a/app/src/main/res/layout/conference_schedule_cell.xml b/app/src/main/res/layout/conference_schedule_cell.xml index d72b0d3ef..eec84fece 100644 --- a/app/src/main/res/layout/conference_schedule_cell.xml +++ b/app/src/main/res/layout/conference_schedule_cell.xml @@ -248,6 +248,7 @@ android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/button_green_background" + android:enabled="@{!data.isConferenceCancelled}" android:paddingLeft="20dp" android:paddingTop="8dp" android:paddingRight="20dp"