From 00cea06899b8c4a29b7fd79f7d90bbf4ac547aa6 Mon Sep 17 00:00:00 2001 From: Sylvain Berfini Date: Thu, 16 Nov 2023 10:50:53 +0100 Subject: [PATCH] Improved processing of contacts in contacts list --- .../contacts/viewmodel/ContactsListViewModel.kt | 13 ++----------- .../java/org/linphone/utils/DataBindingUtils.kt | 13 +++++++------ 2 files changed, 9 insertions(+), 17 deletions(-) diff --git a/app/src/main/java/org/linphone/ui/main/contacts/viewmodel/ContactsListViewModel.kt b/app/src/main/java/org/linphone/ui/main/contacts/viewmodel/ContactsListViewModel.kt index 262befe00..079bd3863 100644 --- a/app/src/main/java/org/linphone/ui/main/contacts/viewmodel/ContactsListViewModel.kt +++ b/app/src/main/java/org/linphone/ui/main/contacts/viewmodel/ContactsListViewModel.kt @@ -149,18 +149,9 @@ class ContactsListViewModel @UiThread constructor() : AbstractTopBarViewModel() for (result in results) { val friend = result.friend - var currentLetter = "" - val model = if (friend != null) { - currentLetter = friend.name?.get(0).toString() - ContactAvatarModel(friend) - } else { - Log.w("$TAG SearchResult [$result] has no Friend!") - val fakeFriend = - createFriendFromSearchResult(result) - currentLetter = fakeFriend.name?.get(0).toString() - ContactAvatarModel(fakeFriend) - } + val model = coreContext.contactsManager.getContactAvatarModelForAddress(result.address) + val currentLetter = model.friend.name?.get(0).toString() val displayLetter = previousLetter.isEmpty() || currentLetter != previousLetter if (currentLetter != previousLetter) { previousLetter = currentLetter diff --git a/app/src/main/java/org/linphone/utils/DataBindingUtils.kt b/app/src/main/java/org/linphone/utils/DataBindingUtils.kt index a1768ff4f..19f088d12 100644 --- a/app/src/main/java/org/linphone/utils/DataBindingUtils.kt +++ b/app/src/main/java/org/linphone/utils/DataBindingUtils.kt @@ -72,6 +72,8 @@ import org.linphone.ui.call.model.ConferenceParticipantDeviceModel * This file contains all the data binding necessary for the app */ +private const val TAG = "[Data Binding Utils]" + @BindingAdapter("inflatedLifecycleOwner") fun setInflatedViewStubLifecycleOwner(view: View, enable: Boolean) { val binding = DataBindingUtil.bind(view) @@ -104,7 +106,7 @@ fun setEntries( binding.lifecycleOwner = viewGroup.context as LifecycleOwner } else { Log.e( - "[Data Binding Utils] Failed to cast viewGroup's context as an Activity, lifecycle owner hasn't be set!" + "$TAG Failed to cast viewGroup's context as an Activity, lifecycle owner hasn't be set!" ) } @@ -145,7 +147,7 @@ fun View.setKeyboardInsetListener(lambda: (visible: Boolean) -> Unit) { lambda(isKeyboardVisible) } catch (ise: IllegalStateException) { Log.e( - "[Data Binding Utils] Failed to called lambda after keyboard visibility changed: $ise" + "$TAG Failed to called lambda after keyboard visibility changed: $ise" ) } @@ -162,7 +164,7 @@ fun View.setKeyboardInsetListener(lambda: (visible: Boolean) -> Unit) { lambda(isKeyboardVisible) } catch (ise: IllegalStateException) { Log.e( - "[Data Binding Utils] Failed to called lambda after keyboard visibility changed: $ise" + "$TAG Failed to called lambda after keyboard visibility changed: $ise" ) } } @@ -255,7 +257,7 @@ private fun loadImageForChatBubble(imageView: ImageView, file: String?, grid: Bo listener( onError = { _, result -> Log.e( - "[Data Binding] [Coil] Error getting preview picture from video? [$file]: ${result.throwable}" + "$TAG Error getting preview picture from video? [$file]: ${result.throwable}" ) imageView.visibility = View.GONE }, @@ -272,7 +274,7 @@ private fun loadImageForChatBubble(imageView: ImageView, file: String?, grid: Bo listener( onError = { _, result -> Log.e( - "[Data Binding] [Coil] Error getting picture from file [$file]: ${result.throwable}" + "$TAG Error getting picture from file [$file]: ${result.throwable}" ) imageView.visibility = View.GONE } @@ -285,7 +287,6 @@ private fun loadImageForChatBubble(imageView: ImageView, file: String?, grid: Bo @UiThread @BindingAdapter("coil") fun ShapeableImageView.loadCircleFileWithCoil(file: String?) { - Log.i("[Data Binding Utils] Loading file [$file] with coil") if (file != null) { load(file) }