From ce1cb3a15a8ccedb4813b4d7cf2a51dc9bdc0256 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Sun, 19 Nov 2023 20:36:51 +0100 Subject: [PATCH] Fixed issue with suggestion initials display + fixed animated in_progress --- app/src/main/assets/linphonerc_factory | 1 + .../chat/adapter/ConversationEventAdapter.kt | 5 +++ .../chat/adapter/ConversationsListAdapter.kt | 3 ++ .../history/model/ContactOrSuggestionModel.kt | 6 ++- .../viewmodel/AddressSelectionViewModel.kt | 1 + .../org/linphone/utils/DataBindingUtils.kt | 25 +++++++----- .../java/org/linphone/utils/LinphoneUtils.kt | 3 +- app/src/main/res/animator/rotation.xml | 7 ---- .../res/drawable/animated_in_progress.xml | 38 ++++++++++++++++--- app/src/main/res/layout/chat_list_cell.xml | 2 +- 10 files changed, 67 insertions(+), 24 deletions(-) delete mode 100644 app/src/main/res/animator/rotation.xml diff --git a/app/src/main/assets/linphonerc_factory b/app/src/main/assets/linphonerc_factory index c9a117f40..0caf76dd7 100644 --- a/app/src/main/assets/linphonerc_factory +++ b/app/src/main/assets/linphonerc_factory @@ -42,6 +42,7 @@ enable_simple_group_chat_message_state=0 aggregate_imdn=1 notify_each_friend_individually_when_presence_received=0 store_friends=0 +hide_empty_chat_rooms=0 [app] activation_code_length=4 diff --git a/app/src/main/java/org/linphone/ui/main/chat/adapter/ConversationEventAdapter.kt b/app/src/main/java/org/linphone/ui/main/chat/adapter/ConversationEventAdapter.kt index 82fd30b79..0a39cefe9 100644 --- a/app/src/main/java/org/linphone/ui/main/chat/adapter/ConversationEventAdapter.kt +++ b/app/src/main/java/org/linphone/ui/main/chat/adapter/ConversationEventAdapter.kt @@ -35,6 +35,7 @@ import org.linphone.ui.main.chat.model.ChatMessageModel import org.linphone.ui.main.chat.model.EventLogModel import org.linphone.ui.main.chat.model.EventModel import org.linphone.utils.Event +import org.linphone.utils.startAnimatedDrawable class ConversationEventAdapter : ListAdapter( EventLogDiffCallback() @@ -160,6 +161,8 @@ class ConversationEventAdapter : ListAdapter( ChatRoomDiffCallback() @@ -72,6 +73,8 @@ class ConversationsListAdapter : ListAdapter start() + is AnimatedVectorDrawable -> start() + else -> { /* not an animated icon */ } + } + } +} + @UiThread @BindingAdapter("coil") fun ShapeableImageView.loadCircleFileWithCoil(file: String?) { @@ -328,13 +339,9 @@ fun ShapeableImageView.loadCallAvatarWithCoil(model: AbstractAvatarModel?) { @UiThread @BindingAdapter("coilInitials") fun ShapeableImageView.loadInitialsAvatarWithCoil(initials: String?) { - (context as AppCompatActivity).lifecycleScope.launch { - withContext(Dispatchers.IO) { - val builder = AvatarGenerator(context) - builder.setInitials(initials.orEmpty()) - load(builder.build()) - } - } + val builder = AvatarGenerator(context) + builder.setInitials(initials.orEmpty()) + load(builder.build()) } @SuppressLint("ResourceType") diff --git a/app/src/main/java/org/linphone/utils/LinphoneUtils.kt b/app/src/main/java/org/linphone/utils/LinphoneUtils.kt index 427c24579..4285a6aac 100644 --- a/app/src/main/java/org/linphone/utils/LinphoneUtils.kt +++ b/app/src/main/java/org/linphone/utils/LinphoneUtils.kt @@ -20,6 +20,7 @@ package org.linphone.utils import androidx.annotation.AnyThread +import androidx.annotation.DrawableRes import androidx.annotation.IntegerRes import androidx.annotation.WorkerThread import java.text.DateFormat @@ -199,7 +200,7 @@ class LinphoneUtils { } @AnyThread - @IntegerRes + @DrawableRes fun getChatIconResId(chatState: ChatMessage.State): Int { return when (chatState) { ChatMessage.State.Displayed, ChatMessage.State.FileTransferDone -> { diff --git a/app/src/main/res/animator/rotation.xml b/app/src/main/res/animator/rotation.xml deleted file mode 100644 index f9e15377a..000000000 --- a/app/src/main/res/animator/rotation.xml +++ /dev/null @@ -1,7 +0,0 @@ - - \ No newline at end of file diff --git a/app/src/main/res/drawable/animated_in_progress.xml b/app/src/main/res/drawable/animated_in_progress.xml index fcdb160cd..af6884547 100644 --- a/app/src/main/res/drawable/animated_in_progress.xml +++ b/app/src/main/res/drawable/animated_in_progress.xml @@ -1,6 +1,34 @@ - - + + + + + + + + + + + + + diff --git a/app/src/main/res/layout/chat_list_cell.xml b/app/src/main/res/layout/chat_list_cell.xml index ccc35c3a4..ef9e8825b 100644 --- a/app/src/main/res/layout/chat_list_cell.xml +++ b/app/src/main/res/layout/chat_list_cell.xml @@ -151,7 +151,7 @@ android:layout_width="@dimen/small_icon_size" android:layout_height="@dimen/small_icon_size" android:layout_marginEnd="10dp" - android:src="@{model.lastMessageIcon, default=@drawable/check}" + android:src="@{model.lastMessageIcon, default=@drawable/animated_in_progress}" android:visibility="@{model.isLastMessageOutgoing ? View.VISIBLE : View.GONE}" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toBottomOf="@id/date_time"