From 73267442bbdf2cee53d7d7f07b507782c7ac96f2 Mon Sep 17 00:00:00 2001 From: Valere Date: Fri, 1 Nov 2019 11:28:27 +0100 Subject: [PATCH] Fix / remove listener --- .../reactions/EmojiSearchResultController.kt | 20 +++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) diff --git a/vector/src/main/java/im/vector/riotx/features/reactions/EmojiSearchResultController.kt b/vector/src/main/java/im/vector/riotx/features/reactions/EmojiSearchResultController.kt index 82f8cdf3be..3e8f1c9769 100644 --- a/vector/src/main/java/im/vector/riotx/features/reactions/EmojiSearchResultController.kt +++ b/vector/src/main/java/im/vector/riotx/features/reactions/EmojiSearchResultController.kt @@ -16,6 +16,7 @@ package im.vector.riotx.features.reactions import android.graphics.Typeface +import androidx.recyclerview.widget.RecyclerView import com.airbnb.epoxy.TypedEpoxyController import im.vector.riotx.EmojiCompatFontProvider import im.vector.riotx.R @@ -24,17 +25,19 @@ import im.vector.riotx.core.ui.list.genericFooterItem import javax.inject.Inject class EmojiSearchResultController @Inject constructor(val stringProvider: StringProvider, - fontProvider: EmojiCompatFontProvider) + private val fontProvider: EmojiCompatFontProvider) : TypedEpoxyController() { var emojiTypeface: Typeface? = fontProvider.typeface + private val fontProviderListener = object : EmojiCompatFontProvider.FontProviderListener { + override fun compatibilityFontUpdate(typeface: Typeface?) { + emojiTypeface = typeface + } + } + init { - fontProvider.addListener(object : EmojiCompatFontProvider.FontProviderListener { - override fun compatibilityFontUpdate(typeface: Typeface?) { - emojiTypeface = typeface - } - }) + fontProvider.addListener(fontProviderListener) } var listener: ReactionClickListener? = null @@ -69,4 +72,9 @@ class EmojiSearchResultController @Inject constructor(val stringProvider: String } } } + + override fun onDetachedFromRecyclerView(recyclerView: RecyclerView) { + super.onDetachedFromRecyclerView(recyclerView) + fontProvider.removeListener(fontProviderListener) + } }