From 2a499eaf4177efac6f10bc81fce1b20ca5a52283 Mon Sep 17 00:00:00 2001 From: klaus Date: Sun, 12 Jul 2026 20:51:36 +0900 Subject: [PATCH] =?UTF-8?q?fix(home):=20=EC=BB=A4=EB=AE=A4=EB=8B=88?= =?UTF-8?q?=ED=8B=B0=20=EC=9D=B4=EB=AF=B8=EC=A7=80=20=EB=A1=9C=EB=93=9C=20?= =?UTF-8?q?=ED=81=AC=EA=B8=B0=EB=A5=BC=20=EC=A0=84=EB=8B=AC=ED=95=9C?= =?UTF-8?q?=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../main/home/ui/HomeFollowingNewsAdapter.kt | 18 +++++++++++++++--- .../home/ui/HomePopularCommunityAdapter.kt | 11 +++++++++-- 2 files changed, 24 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/kr/co/vividnext/sodalive/v2/main/home/ui/HomeFollowingNewsAdapter.kt b/app/src/main/java/kr/co/vividnext/sodalive/v2/main/home/ui/HomeFollowingNewsAdapter.kt index c547c68a..76227446 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/v2/main/home/ui/HomeFollowingNewsAdapter.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/v2/main/home/ui/HomeFollowingNewsAdapter.kt @@ -132,7 +132,9 @@ class HomeFollowingNewsAdapter( view.setFeedSize(feedSize(FeedVariant.Community, parent)) view.bind(feedItem) view.profileImageView().loadHomeCreatorProfileImage(feedItem.creatorImageUrl) - bindImage(view.communityImageView(), feedItem.imageUrl.orEmpty()) + bindImage(view.communityImageView(), feedItem.imageUrl.orEmpty()) { width, height -> + view.applyCommunityImageSize(width, height) + } view.setOnFeedClick { onClickItem(community) } } } @@ -176,11 +178,21 @@ class HomeFollowingNewsAdapter( return FeedSize.from(variant, FeedWidthMode.ParentAvailable, availableWidthDp) } - private fun bindImage(imageView: android.widget.ImageView, url: String) { + private fun bindImage( + imageView: android.widget.ImageView, + url: String, + onImageLoaded: ((Int, Int) -> Unit)? = null + ) { if (url.isBlank()) { imageView.setImageDrawable(null) } else { - imageView.loadUrl(url) + imageView.loadUrl(url) { + listener( + onSuccess = { _, result -> + onImageLoaded?.invoke(result.drawable.intrinsicWidth, result.drawable.intrinsicHeight) + } + ) + } } } diff --git a/app/src/main/java/kr/co/vividnext/sodalive/v2/main/home/ui/HomePopularCommunityAdapter.kt b/app/src/main/java/kr/co/vividnext/sodalive/v2/main/home/ui/HomePopularCommunityAdapter.kt index 58faaa81..acf3b458 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/v2/main/home/ui/HomePopularCommunityAdapter.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/v2/main/home/ui/HomePopularCommunityAdapter.kt @@ -53,20 +53,27 @@ class HomePopularCommunityAdapter( bindImage( imageUrl = item.item.imageUrl, imageView = view.communityImageView(), - shouldBlur = item.item.price > 0 && !item.item.existOrdered + shouldBlur = item.item.price > 0 && !item.item.existOrdered, + onImageLoaded = { width, height -> view.applyCommunityImageSize(width, height) } ) } private fun bindImage( imageUrl: String?, imageView: android.widget.ImageView, - shouldBlur: Boolean = false + shouldBlur: Boolean = false, + onImageLoaded: ((Int, Int) -> Unit)? = null ) { if (imageUrl.isNullOrBlank()) { imageView.dispose() imageView.setImageDrawable(null) } else { imageView.loadUrl(imageUrl) { + listener( + onSuccess = { _, result -> + onImageLoaded?.invoke(result.drawable.intrinsicWidth, result.drawable.intrinsicHeight) + } + ) if (shouldBlur) { transformations(BlurTransformation(imageView.context, 25f, 2.5f)) }