diff --git a/app/src/main/java/org/linphone/ui/main/chat/model/ConversationModel.kt b/app/src/main/java/org/linphone/ui/main/chat/model/ConversationModel.kt index 832c5590c..cedbf4f13 100644 --- a/app/src/main/java/org/linphone/ui/main/chat/model/ConversationModel.kt +++ b/app/src/main/java/org/linphone/ui/main/chat/model/ConversationModel.kt @@ -78,6 +78,8 @@ class ConversationModel @WorkerThread constructor(val chatRoom: ChatRoom) { val avatarModel = MutableLiveData() + val isBeingDeleted = MutableLiveData() + private var lastMessage: ChatMessage? = null private val chatRoomListener = object : ChatRoomListenerStub() { @@ -232,9 +234,12 @@ class ConversationModel @WorkerThread constructor(val chatRoom: ChatRoom) { @UiThread fun delete() { coreContext.postOnCoreThread { core -> + Log.i("$TAG Deleting conversation [$id]") + isBeingDeleted.postValue(true) ShortcutUtils.removeShortcutToChatRoom(chatRoom) core.deleteChatRoom(chatRoom) Log.i("$TAG Conversation [$id] has been deleted") + isBeingDeleted.postValue(false) } } diff --git a/app/src/main/java/org/linphone/ui/main/chat/viewmodel/ConversationsListViewModel.kt b/app/src/main/java/org/linphone/ui/main/chat/viewmodel/ConversationsListViewModel.kt index 45e55f4c8..cc6e59b67 100644 --- a/app/src/main/java/org/linphone/ui/main/chat/viewmodel/ConversationsListViewModel.kt +++ b/app/src/main/java/org/linphone/ui/main/chat/viewmodel/ConversationsListViewModel.kt @@ -58,6 +58,7 @@ class ConversationsListViewModel @UiThread constructor() : AbstractTopBarViewMod when (state) { ChatRoom.State.Created, ChatRoom.State.Instantiated, ChatRoom.State.Deleted -> { computeChatRoomsList(currentFilter) + // TODO: display toast } else -> {} } diff --git a/app/src/main/java/org/linphone/utils/DataBindingUtils.kt b/app/src/main/java/org/linphone/utils/DataBindingUtils.kt index 60bfb3c8d..749f130d0 100644 --- a/app/src/main/java/org/linphone/utils/DataBindingUtils.kt +++ b/app/src/main/java/org/linphone/utils/DataBindingUtils.kt @@ -282,7 +282,8 @@ private fun loadImageForChatBubble(imageView: ImageView, file: String?, grid: Bo } @UiThread -fun ImageView.startAnimatedDrawable() { +@BindingAdapter("animatedDrawable") +fun ImageView.startAnimatedDrawable(start: Boolean = true) { drawable.apply { when (this) { is AnimatedVectorDrawableCompat -> start() diff --git a/app/src/main/res/layout/chat_list_cell.xml b/app/src/main/res/layout/chat_list_cell.xml index ef9e8825b..78c0db2a7 100644 --- a/app/src/main/res/layout/chat_list_cell.xml +++ b/app/src/main/res/layout/chat_list_cell.xml @@ -62,6 +62,18 @@ app:layout_constraintStart_toStartOf="@id/avatar" app:layout_constraintBottom_toBottomOf="@id/avatar"/> + + Incoming call for %s No conversation for the moment… + Removal in progress %s: Mark as read Mute