浏览代码

ignore cache when replacing image

Signed-off-by: Marcel Hibbe <dev@mhibbe.de>
Marcel Hibbe 2 年之前
父节点
当前提交
2ecea9e569

+ 1 - 0
app/src/main/java/com/nextcloud/talk/chat/ChatActivity.kt

@@ -1040,6 +1040,7 @@ class ChatActivity :
                     .crossfade(true)
                     .crossfade(true)
                     .target(target)
                     .target(target)
                     .memoryCachePolicy(CachePolicy.DISABLED)
                     .memoryCachePolicy(CachePolicy.DISABLED)
+                    .diskCachePolicy(CachePolicy.DISABLED)
                     .build()
                     .build()
             )
             )
         }
         }

+ 1 - 1
app/src/main/java/com/nextcloud/talk/conversation/info/ConversationInfoActivity.kt

@@ -804,7 +804,7 @@ class ConversationInfoActivity :
             }
             }
 
 
             Conversation.ConversationType.ROOM_GROUP_CALL, Conversation.ConversationType.ROOM_PUBLIC_CALL -> {
             Conversation.ConversationType.ROOM_GROUP_CALL, Conversation.ConversationType.ROOM_PUBLIC_CALL -> {
-                binding.avatarImage.loadConversationAvatar(conversationUser, conversation!!, false)
+                binding.avatarImage.loadConversationAvatar(conversationUser, conversation!!, true)
             }
             }
 
 
             Conversation.ConversationType.ROOM_SYSTEM -> {
             Conversation.ConversationType.ROOM_SYSTEM -> {

+ 9 - 0
app/src/main/java/com/nextcloud/talk/extensions/ImageViewExtensions.kt

@@ -33,6 +33,7 @@ import androidx.core.content.res.ResourcesCompat
 import coil.annotation.ExperimentalCoilApi
 import coil.annotation.ExperimentalCoilApi
 import coil.imageLoader
 import coil.imageLoader
 import coil.load
 import coil.load
+import coil.request.CachePolicy
 import coil.request.ImageRequest
 import coil.request.ImageRequest
 import coil.request.SuccessResult
 import coil.request.SuccessResult
 import coil.result
 import coil.result
@@ -101,6 +102,12 @@ private fun ImageView.loadAvatarInternal(
     placeholder: Drawable?
     placeholder: Drawable?
 ): io.reactivex.disposables
 ): io.reactivex.disposables
 .Disposable {
 .Disposable {
+    val cachePolicy = if (replace) {
+        CachePolicy.DISABLED
+    } else {
+        CachePolicy.ENABLED
+    }
+
     if (replace && this.result is SuccessResult) {
     if (replace && this.result is SuccessResult) {
         val result = this.result as SuccessResult
         val result = this.result as SuccessResult
         val memoryCacheKey = result.memoryCacheKey
         val memoryCacheKey = result.memoryCacheKey
@@ -133,6 +140,8 @@ private fun ImageView.loadAvatarInternal(
             listener(onError = { _, result ->
             listener(onError = { _, result ->
                 Log.w(TAG, "Can't load avatar with URL: $url", result.throwable)
                 Log.w(TAG, "Can't load avatar with URL: $url", result.throwable)
             })
             })
+            memoryCachePolicy(cachePolicy)
+            diskCachePolicy(cachePolicy)
         }
         }
     )
     )
 }
 }