diff --git a/app/src/main/java/org/thoughtcrime/securesms/keyboard/sticker/KeyboardStickerListAdapter.kt b/app/src/main/java/org/thoughtcrime/securesms/keyboard/sticker/KeyboardStickerListAdapter.kt index 293460edde..b1d1ff0647 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/keyboard/sticker/KeyboardStickerListAdapter.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/keyboard/sticker/KeyboardStickerListAdapter.kt @@ -41,11 +41,12 @@ class KeyboardStickerListAdapter( private inner class StickerViewHolder(itemView: View) : MappingViewHolder(itemView) { - private val image: ImageView = findViewById(R.id.sticker_keyboard_page_image) + val image: ImageView = findViewById(R.id.sticker_keyboard_page_image) override fun bind(model: Sticker) { requestManager.load(model.uri) .set(ApngOptions.ANIMATE, allowApngAnimation) + .skipMemoryCache(true) .transition(DrawableTransitionOptions.withCrossFade()) .into(image) @@ -62,6 +63,12 @@ class KeyboardStickerListAdapter( } } + override fun onViewRecycled(holder: MappingViewHolder<*>) { + if (holder is StickerViewHolder) { + requestManager.clear(holder.image) + } + } + data class StickerHeader(override val packId: String, private val title: String?, private val titleResource: Int?) : MappingModel, HasPackId, Header { fun getTitle(context: Context): String { return title ?: context.resources.getString(titleResource ?: R.string.StickerManagementAdapter_untitled)