From 1b6b71ed986a793314ecf9ccb063a69042ffaede Mon Sep 17 00:00:00 2001 From: Valere Date: Fri, 10 Jul 2020 14:38:31 +0200 Subject: [PATCH] Debounce clicks --- .../features/roomprofile/uploads/media/UploadsImageItem.kt | 7 ++++++- .../features/roomprofile/uploads/media/UploadsVideoItem.kt | 7 ++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/vector/src/main/java/im/vector/riotx/features/roomprofile/uploads/media/UploadsImageItem.kt b/vector/src/main/java/im/vector/riotx/features/roomprofile/uploads/media/UploadsImageItem.kt index f994ad0110..3b83e99656 100644 --- a/vector/src/main/java/im/vector/riotx/features/roomprofile/uploads/media/UploadsImageItem.kt +++ b/vector/src/main/java/im/vector/riotx/features/roomprofile/uploads/media/UploadsImageItem.kt @@ -24,6 +24,7 @@ import com.airbnb.epoxy.EpoxyModelClass import im.vector.riotx.R import im.vector.riotx.core.epoxy.VectorEpoxyHolder import im.vector.riotx.core.epoxy.VectorEpoxyModel +import im.vector.riotx.core.utils.DebouncedClickListener import im.vector.riotx.features.media.ImageContentRenderer @EpoxyModelClass(layout = R.layout.item_uploads_image) @@ -36,7 +37,11 @@ abstract class UploadsImageItem : VectorEpoxyModel() { override fun bind(holder: Holder) { super.bind(holder) - holder.view.setOnClickListener { listener?.onItemClicked(holder.imageView, data) } + holder.view.setOnClickListener( + DebouncedClickListener(View.OnClickListener { _ -> + listener?.onItemClicked(holder.imageView, data) + }) + ) imageContentRenderer.render(data, holder.imageView, IMAGE_SIZE_DP) ViewCompat.setTransitionName(holder.imageView, "imagePreview_${id()}") } diff --git a/vector/src/main/java/im/vector/riotx/features/roomprofile/uploads/media/UploadsVideoItem.kt b/vector/src/main/java/im/vector/riotx/features/roomprofile/uploads/media/UploadsVideoItem.kt index 1c9ab4ae74..f20f6ed5b1 100644 --- a/vector/src/main/java/im/vector/riotx/features/roomprofile/uploads/media/UploadsVideoItem.kt +++ b/vector/src/main/java/im/vector/riotx/features/roomprofile/uploads/media/UploadsVideoItem.kt @@ -24,6 +24,7 @@ import com.airbnb.epoxy.EpoxyModelClass import im.vector.riotx.R import im.vector.riotx.core.epoxy.VectorEpoxyHolder import im.vector.riotx.core.epoxy.VectorEpoxyModel +import im.vector.riotx.core.utils.DebouncedClickListener import im.vector.riotx.features.media.ImageContentRenderer import im.vector.riotx.features.media.VideoContentRenderer @@ -37,7 +38,11 @@ abstract class UploadsVideoItem : VectorEpoxyModel() { override fun bind(holder: Holder) { super.bind(holder) - holder.view.setOnClickListener { listener?.onItemClicked(holder.imageView, data) } + holder.view.setOnClickListener( + DebouncedClickListener(View.OnClickListener { _ -> + listener?.onItemClicked(holder.imageView, data) + }) + ) imageContentRenderer.render(data.thumbnailMediaData, holder.imageView, IMAGE_SIZE_DP) ViewCompat.setTransitionName(holder.imageView, "videoPreview_${id()}") }