diff --git a/vector/src/main/java/im/vector/app/features/home/room/detail/timeline/item/MessageTextItem.kt b/vector/src/main/java/im/vector/app/features/home/room/detail/timeline/item/MessageTextItem.kt index af8a3915c9..fec498a961 100644 --- a/vector/src/main/java/im/vector/app/features/home/room/detail/timeline/item/MessageTextItem.kt +++ b/vector/src/main/java/im/vector/app/features/home/room/detail/timeline/item/MessageTextItem.kt @@ -21,6 +21,7 @@ import android.text.TextUtils import android.text.method.MovementMethod import android.widget.LinearLayout import androidx.core.text.PrecomputedTextCompat +import androidx.core.view.isVisible import androidx.core.widget.TextViewCompat import com.airbnb.epoxy.EpoxyAttribute import com.airbnb.epoxy.EpoxyModelClass @@ -67,7 +68,12 @@ abstract class MessageTextItem : AbsMessageItem() { previewUrlViewUpdater.holder = holder previewUrlViewUpdater.previewUrlView = holder.previewUrlView previewUrlViewUpdater.imageContentRenderer = imageContentRenderer - previewUrlRetriever?.addListener(attributes.informationData.eventId, previewUrlViewUpdater) + val safePreviewUrlRetriever = previewUrlRetriever + if (safePreviewUrlRetriever == null) { + holder.previewUrlView.isVisible = false + } else { + safePreviewUrlRetriever.addListener(attributes.informationData.eventId, previewUrlViewUpdater) + } holder.previewUrlView.delegate = previewUrlCallback if (useBigFont) { @@ -125,7 +131,11 @@ abstract class MessageTextItem : AbsMessageItem() { var imageContentRenderer: ImageContentRenderer? = null override fun onStateUpdated(state: PreviewUrlUiState) { - val safeImageContentRenderer = imageContentRenderer ?: return + val safeImageContentRenderer = imageContentRenderer + if (safeImageContentRenderer == null) { + previewUrlView?.isVisible = false + return + } previewUrlView?.render(state, safeImageContentRenderer) // Don't reserve footer space in message view, but preview view | TODO