From 290b15d00751a3790261370de4796ed1fd491c0f Mon Sep 17 00:00:00 2001 From: klaus Date: Fri, 24 Apr 2026 19:44:27 +0900 Subject: [PATCH] =?UTF-8?q?feat(series-genre):=20=EC=8B=9C=EB=A6=AC?= =?UTF-8?q?=EC=A6=88=20=EC=9E=A5=EB=A5=B4=EB=B3=84=20=ED=99=94=EB=A9=B4?= =?UTF-8?q?=EC=97=90=20=EC=9D=B8=EB=9D=BC=EC=9D=B8=20=EB=B0=B0=EB=84=88?= =?UTF-8?q?=EB=A5=BC=20=EC=B6=94=EA=B0=80=ED=95=9C=EB=8B=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../by_genre/SeriesMainByGenreFragment.kt | 31 ++++++++++++++++++- .../layout/fragment_series_main_by_genre.xml | 11 ++++++- 2 files changed, 40 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/kr/co/vividnext/sodalive/audio_content/series/main/by_genre/SeriesMainByGenreFragment.kt b/app/src/main/java/kr/co/vividnext/sodalive/audio_content/series/main/by_genre/SeriesMainByGenreFragment.kt index 8f511ddd..bf75533d 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/audio_content/series/main/by_genre/SeriesMainByGenreFragment.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/audio_content/series/main/by_genre/SeriesMainByGenreFragment.kt @@ -8,7 +8,9 @@ import android.widget.Toast import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView -import kr.co.vividnext.sodalive.audio_content.series.SeriesListAdapter +import com.yandex.mobile.ads.banner.BannerAdSize +import com.yandex.mobile.ads.common.AdRequest +import kr.co.vividnext.sodalive.BuildConfig import kr.co.vividnext.sodalive.audio_content.series.detail.SeriesDetailActivity import kr.co.vividnext.sodalive.base.BaseFragment import kr.co.vividnext.sodalive.common.Constants @@ -39,9 +41,36 @@ class SeriesMainByGenreFragment : BaseFragment private fun setupView() { loadingDialog = LoadingDialog(requireActivity(), layoutInflater) setupGenreView() + setupInlineBanner() setupSeriesView() } + override fun onDestroyView() { + binding.yandexInlineBannerView.destroy() + super.onDestroyView() + } + + private fun setupInlineBanner() { + binding.yandexInlineBannerView.post { + val density = resources.displayMetrics.density + val adWidthPixels = binding.yandexInlineBannerView.width.takeIf { it > 0 } ?: screenWidth + val adWidthDp = (adWidthPixels / density).roundToInt() + val maxAdHeightDp = 90 + + binding.yandexInlineBannerView.apply { + setAdUnitId(BuildConfig.YANDEX_INLINE_BANNER_SERIES_MAIN_BY_GENRE_AD_UNIT_ID) + setAdSize( + BannerAdSize.inlineSize( + requireContext(), + adWidthDp, + maxAdHeightDp + ) + ) + loadAd(AdRequest.Builder().build()) + } + } + } + private fun setupGenreView() { genreAdapter = GenreAdapter { genre -> seriesAdapter.clear() diff --git a/app/src/main/res/layout/fragment_series_main_by_genre.xml b/app/src/main/res/layout/fragment_series_main_by_genre.xml index 63e11cdd..81578501 100644 --- a/app/src/main/res/layout/fragment_series_main_by_genre.xml +++ b/app/src/main/res/layout/fragment_series_main_by_genre.xml @@ -13,11 +13,20 @@ android:nestedScrollingEnabled="false" android:paddingHorizontal="24dp" /> + +