diff --git a/app/src/main/java/com/nextcloud/talk/adapters/items/ConversationItem.kt b/app/src/main/java/com/nextcloud/talk/adapters/items/ConversationItem.kt index 1082b2914..6d3d5cbcc 100644 --- a/app/src/main/java/com/nextcloud/talk/adapters/items/ConversationItem.kt +++ b/app/src/main/java/com/nextcloud/talk/adapters/items/ConversationItem.kt @@ -184,7 +184,7 @@ class ConversationItem( ConversationType.ROOM_GROUP_CALL, ConversationType.FORMER_ONE_TO_ONE, ConversationType.ROOM_PUBLIC_CALL -> - holder.binding.dialogAvatar.loadConversationAvatar(user, model) + holder.binding.dialogAvatar.loadConversationAvatar(user, model, false) else -> holder.binding.dialogAvatar.visibility = View.GONE } diff --git a/app/src/main/java/com/nextcloud/talk/conversationinfo/ConversationInfoActivity.kt b/app/src/main/java/com/nextcloud/talk/conversationinfo/ConversationInfoActivity.kt index a7308fea0..721a8d084 100644 --- a/app/src/main/java/com/nextcloud/talk/conversationinfo/ConversationInfoActivity.kt +++ b/app/src/main/java/com/nextcloud/talk/conversationinfo/ConversationInfoActivity.kt @@ -807,7 +807,7 @@ class ConversationInfoActivity : } Conversation.ConversationType.ROOM_GROUP_CALL, Conversation.ConversationType.ROOM_PUBLIC_CALL -> { - binding.avatarImage.loadConversationAvatar(conversationUser, conversation!!) + binding.avatarImage.loadConversationAvatar(conversationUser, conversation!!, true) } Conversation.ConversationType.ROOM_SYSTEM -> { diff --git a/app/src/main/java/com/nextcloud/talk/conversationinfoedit/ConversationInfoEditActivity.kt b/app/src/main/java/com/nextcloud/talk/conversationinfoedit/ConversationInfoEditActivity.kt index e2b0dbc76..b2bb236a6 100644 --- a/app/src/main/java/com/nextcloud/talk/conversationinfoedit/ConversationInfoEditActivity.kt +++ b/app/src/main/java/com/nextcloud/talk/conversationinfoedit/ConversationInfoEditActivity.kt @@ -359,7 +359,7 @@ class ConversationInfoEditActivity : } Conversation.ConversationType.ROOM_GROUP_CALL, Conversation.ConversationType.ROOM_PUBLIC_CALL -> { - binding.avatarImage.loadConversationAvatar(conversationUser, conversation!!) + binding.avatarImage.loadConversationAvatar(conversationUser, conversation!!, true) } Conversation.ConversationType.ROOM_SYSTEM -> { diff --git a/app/src/main/java/com/nextcloud/talk/extensions/ImageViewExtensions.kt b/app/src/main/java/com/nextcloud/talk/extensions/ImageViewExtensions.kt index 38b0a746f..9b9f1be2a 100644 --- a/app/src/main/java/com/nextcloud/talk/extensions/ImageViewExtensions.kt +++ b/app/src/main/java/com/nextcloud/talk/extensions/ImageViewExtensions.kt @@ -54,9 +54,12 @@ private const val TAG = "ImageViewExtensions" fun ImageView.loadConversationAvatar( user: User, - conversation: Conversation + conversation: Conversation, + ignoreCache: Boolean ): io.reactivex.disposables .Disposable { + var finalIgnoreCache = ignoreCache + val imageRequestUri = ApiUtils.getUrlForConversationAvatarWithVersion( 1, user.baseUrl, @@ -64,6 +67,10 @@ fun ImageView.loadConversationAvatar( conversation.avatarVersion ) + if (conversation.avatarVersion.isNullOrEmpty()) { + finalIgnoreCache = true + } + // these placeholders are only used when the request fails completely. The server also return default avatars // when no own images are set. (although these default avatars can not be themed for the android app..) val placeholder = @@ -77,7 +84,7 @@ fun ImageView.loadConversationAvatar( else -> ContextCompat.getDrawable(context, R.drawable.account_circle_96dp) } - return loadAvatarInternal(user, imageRequestUri, false, placeholder) + return loadAvatarInternal(user, imageRequestUri, finalIgnoreCache, placeholder) } fun ImageView.loadUserAvatar(