From e1950eba2bf492e1a1c4aae954998acf895e041f Mon Sep 17 00:00:00 2001 From: klaus Date: Tue, 18 Mar 2025 16:43:04 +0900 Subject: [PATCH] =?UTF-8?q?=EC=BD=98=ED=85=90=EC=B8=A0=20-=20=EB=82=A8?= =?UTF-8?q?=EC=84=B1=ED=96=A5,=20=EC=97=AC=EC=84=B1=ED=96=A5=20=EC=BD=98?= =?UTF-8?q?=ED=85=90=EC=B8=A0=20=EC=84=A4=EC=A0=95=20=EC=A0=81=EC=9A=A9=20?= =?UTF-8?q?-=2019=EA=B8=88=20=EC=BD=98=ED=85=90=EC=B8=A0=20=EB=B3=B4?= =?UTF-8?q?=EA=B8=B0=20=EC=97=AC=EB=B6=80=20=EC=84=A4=EC=A0=95=20=EC=A0=81?= =?UTF-8?q?=EC=9A=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sodalive/audio_content/AudioContentApi.kt | 43 +++++++++++++++++++ .../audio_content/AudioContentRepository.kt | 6 ++- .../AudioContentMainTabAlarmRepository.kt | 11 ++++- .../asmr/AudioContentMainTabAsmrRepository.kt | 16 ++++++- .../AudioContentMainTabContentFragment.kt | 7 ++- .../AudioContentMainTabContentRepository.kt | 22 ++++++++-- .../free/AudioContentMainTabFreeRepository.kt | 20 ++++++++- .../home/AudioContentMainTabHomeRepository.kt | 16 ++++++- .../AudioContentMainTabReplayRepository.kt | 16 ++++++- .../AudioContentMainTabSeriesRepository.kt | 25 +++++++++-- .../OriginalAudioDramaContentAllRepository.kt | 4 ++ 11 files changed, 169 insertions(+), 17 deletions(-) diff --git a/app/src/main/java/kr/co/vividnext/sodalive/audio_content/AudioContentApi.kt b/app/src/main/java/kr/co/vividnext/sodalive/audio_content/AudioContentApi.kt index c41af42..e60073e 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/audio_content/AudioContentApi.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/audio_content/AudioContentApi.kt @@ -194,6 +194,8 @@ interface AudioContentApi { @GET("/audio-content/main/theme") fun getNewContentThemeList( + @Query("isAdultContentVisible") isAdultContentVisible: Boolean, + @Query("contentType") contentType: ContentType, @Header("Authorization") authHeader: String ): Single>> @@ -249,22 +251,30 @@ interface AudioContentApi { @GET("/v2/audio-content/main/home") fun getContentMainHome( + @Query("isAdultContentVisible") isAdultContentVisible: Boolean, + @Query("contentType") contentType: ContentType, @Header("Authorization") authHeader: String ): Single> @GET("/v2/audio-content/main/home/popular-content-by-creator") fun getPopularContentByCreator( @Query("creatorId") creatorId: Long, + @Query("isAdultContentVisible") isAdultContentVisible: Boolean, + @Query("contentType") contentType: ContentType, @Header("Authorization") authHeader: String ): Single>> @GET("/v2/audio-content/main/series") fun getContentMainSeries( + @Query("isAdultContentVisible") isAdultContentVisible: Boolean, + @Query("contentType") contentType: ContentType, @Header("Authorization") authHeader: String ): Single> @GET("/v2/audio-content/main/series/original") fun getOriginalAudioDramaList( + @Query("isAdultContentVisible") isAdultContentVisible: Boolean, + @Query("contentType") contentType: ContentType, @Query("page") page: Int, @Query("size") size: Int, @Header("Authorization") authHeader: String @@ -273,17 +283,23 @@ interface AudioContentApi { @GET("/v2/audio-content/main/series/recommend-by-genre") fun getRecommendSeriesListByGenre( @Query("genreId") genreId: Long, + @Query("isAdultContentVisible") isAdultContentVisible: Boolean, + @Query("contentType") contentType: ContentType, @Header("Authorization") authHeader: String ): Single>> @GET("/v2/audio-content/main/series/recommend-series-by-creator") fun getRecommendSeriesByCreator( @Query("creatorId") creatorId: Long, + @Query("isAdultContentVisible") isAdultContentVisible: Boolean, + @Query("contentType") contentType: ContentType, @Header("Authorization") authHeader: String ): Single>> @GET("/v2/audio-content/main/series/completed-rank") fun getCompletedSeries( + @Query("isAdultContentVisible") isAdultContentVisible: Boolean, + @Query("contentType") contentType: ContentType, @Query("page") page: Int, @Query("size") size: Int, @Header("Authorization") authHeader: String @@ -291,6 +307,8 @@ interface AudioContentApi { @GET("/v2/audio-content/main/content") fun getContentMainContent( + @Query("isAdultContentVisible") isAdultContentVisible: Boolean, + @Query("contentType") contentType: ContentType, @Header("Authorization") authHeader: String ): Single> @@ -305,23 +323,31 @@ interface AudioContentApi { @GET("/v2/audio-content/main/content/ranking") fun getDailyContentRanking( @Query("sort-type") sortType: String, + @Query("isAdultContentVisible") isAdultContentVisible: Boolean, + @Query("contentType") contentType: ContentType, @Header("Authorization") authHeader: String ): Single>> @GET("/v2/audio-content/main/content/popular-content-by-creator") fun getContentMainContentPopularContentByCreator( @Query("creatorId") creatorId: Long, + @Query("isAdultContentVisible") isAdultContentVisible: Boolean, + @Query("contentType") contentType: ContentType, @Header("Authorization") authHeader: String ): Single>> @GET("/v2/audio-content/main/alarm") fun getContentMainAlarm( + @Query("isAdultContentVisible") isAdultContentVisible: Boolean, + @Query("contentType") contentType: ContentType, @Header("Authorization") authHeader: String ): Single> @GET("/v2/audio-content/main/alarm/all") fun getContentMainAlarmAll( @Query("theme") theme: String, + @Query("isAdultContentVisible") isAdultContentVisible: Boolean, + @Query("contentType") contentType: ContentType, @Query("page") page: Int, @Query("size") size: Int, @Header("Authorization") authHeader: String @@ -329,33 +355,45 @@ interface AudioContentApi { @GET("/v2/audio-content/main/asmr") fun getContentMainAsmr( + @Query("isAdultContentVisible") isAdultContentVisible: Boolean, + @Query("contentType") contentType: ContentType, @Header("Authorization") authHeader: String ): Single> @GET("/v2/audio-content/main/asmr/popular-content-by-creator") fun getPopularAsmrContentByCreator( @Query("creatorId") creatorId: Long, + @Query("isAdultContentVisible") isAdultContentVisible: Boolean, + @Query("contentType") contentType: ContentType, @Header("Authorization") authHeader: String ): Single>> @GET("/v2/audio-content/main/replay") fun getContentMainReplay( + @Query("isAdultContentVisible") isAdultContentVisible: Boolean, + @Query("contentType") contentType: ContentType, @Header("Authorization") authHeader: String ): Single> @GET("/v2/audio-content/main/replay/popular-content-by-creator") fun getPopularReplayContentByCreator( @Query("creatorId") creatorId: Long, + @Query("isAdultContentVisible") isAdultContentVisible: Boolean, + @Query("contentType") contentType: ContentType, @Header("Authorization") authHeader: String ): Single>> @GET("/v2/audio-content/main/free") fun getContentMainFree( + @Query("isAdultContentVisible") isAdultContentVisible: Boolean, + @Query("contentType") contentType: ContentType, @Header("Authorization") authHeader: String ): Single> @GET("/v2/audio-content/main/free/introduce-creator") fun getIntroduceCreatorList( + @Query("isAdultContentVisible") isAdultContentVisible: Boolean, + @Query("contentType") contentType: ContentType, @Query("page") page: Int, @Query("size") size: Int, @Header("Authorization") authHeader: String @@ -364,6 +402,8 @@ interface AudioContentApi { @GET("/v2/audio-content/main/free/new-content-by-theme") fun getNewFreeContentOfTheme( @Query("theme") theme: String, + @Query("isAdultContentVisible") isAdultContentVisible: Boolean, + @Query("contentType") contentType: ContentType, @Query("page") page: Int, @Query("size") size: Int, @Header("Authorization") authHeader: String @@ -372,12 +412,15 @@ interface AudioContentApi { @GET("/v2/audio-content/main/free/popular-content-by-creator") fun getPopularFreeContentByCreator( @Query("creatorId") creatorId: Long, + @Query("isAdultContentVisible") isAdultContentVisible: Boolean, + @Query("contentType") contentType: ContentType, @Header("Authorization") authHeader: String ): Single>> @GET("/v2/audio-content/main/content/recommend-content-by-tag") fun getRecommendedContentByTag( @Query("tag") tag: String, + @Query("contentType") contentType: ContentType, @Header("Authorization") authHeader: String ): Single>> } diff --git a/app/src/main/java/kr/co/vividnext/sodalive/audio_content/AudioContentRepository.kt b/app/src/main/java/kr/co/vividnext/sodalive/audio_content/AudioContentRepository.kt index fe645a7..bd5667d 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/audio_content/AudioContentRepository.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/audio_content/AudioContentRepository.kt @@ -162,7 +162,11 @@ class AudioContentRepository( authHeader = token ) - fun getNewContentThemeList(token: String) = api.getNewContentThemeList(authHeader = token) + fun getNewContentThemeList(token: String) = api.getNewContentThemeList( + isAdultContentVisible = SharedPreferenceManager.isAdultContentVisible, + contentType = ContentType.values()[SharedPreferenceManager.contentPreference], + authHeader = token + ) fun donation( contentId: Long, diff --git a/app/src/main/java/kr/co/vividnext/sodalive/audio_content/main/v2/alarm/AudioContentMainTabAlarmRepository.kt b/app/src/main/java/kr/co/vividnext/sodalive/audio_content/main/v2/alarm/AudioContentMainTabAlarmRepository.kt index cd13b76..9700916 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/audio_content/main/v2/alarm/AudioContentMainTabAlarmRepository.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/audio_content/main/v2/alarm/AudioContentMainTabAlarmRepository.kt @@ -1,9 +1,16 @@ package kr.co.vividnext.sodalive.audio_content.main.v2.alarm import kr.co.vividnext.sodalive.audio_content.AudioContentApi +import kr.co.vividnext.sodalive.common.SharedPreferenceManager +import kr.co.vividnext.sodalive.settings.ContentType class AudioContentMainTabAlarmRepository(private val api: AudioContentApi) { - fun getContentMainAlarm(token: String) = api.getContentMainAlarm(authHeader = token) + fun getContentMainAlarm(token: String) = api.getContentMainAlarm( + isAdultContentVisible = SharedPreferenceManager.isAdultContentVisible, + contentType = ContentType.values()[SharedPreferenceManager.contentPreference], + authHeader = token + ) + fun getContentMainAlarmAll( theme: String, page: Int, @@ -11,6 +18,8 @@ class AudioContentMainTabAlarmRepository(private val api: AudioContentApi) { token: String ) = api.getContentMainAlarmAll( theme = theme, + isAdultContentVisible = SharedPreferenceManager.isAdultContentVisible, + contentType = ContentType.values()[SharedPreferenceManager.contentPreference], page = page - 1, size = size, authHeader = token diff --git a/app/src/main/java/kr/co/vividnext/sodalive/audio_content/main/v2/asmr/AudioContentMainTabAsmrRepository.kt b/app/src/main/java/kr/co/vividnext/sodalive/audio_content/main/v2/asmr/AudioContentMainTabAsmrRepository.kt index d2d1c07..75343ef 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/audio_content/main/v2/asmr/AudioContentMainTabAsmrRepository.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/audio_content/main/v2/asmr/AudioContentMainTabAsmrRepository.kt @@ -1,11 +1,23 @@ package kr.co.vividnext.sodalive.audio_content.main.v2.asmr import kr.co.vividnext.sodalive.audio_content.AudioContentApi +import kr.co.vividnext.sodalive.common.SharedPreferenceManager +import kr.co.vividnext.sodalive.settings.ContentType class AudioContentMainTabAsmrRepository(private val api: AudioContentApi) { - fun getContentMainAsmr(token: String) = api.getContentMainAsmr(authHeader = token) + fun getContentMainAsmr(token: String) = api.getContentMainAsmr( + isAdultContentVisible = SharedPreferenceManager.isAdultContentVisible, + contentType = ContentType.values()[SharedPreferenceManager.contentPreference], + authHeader = token + ) + fun getPopularContentByCreator( creatorId: Long, token: String - ) = api.getPopularAsmrContentByCreator(creatorId, authHeader = token) + ) = api.getPopularAsmrContentByCreator( + creatorId, + isAdultContentVisible = SharedPreferenceManager.isAdultContentVisible, + contentType = ContentType.values()[SharedPreferenceManager.contentPreference], + authHeader = token + ) } diff --git a/app/src/main/java/kr/co/vividnext/sodalive/audio_content/main/v2/content/AudioContentMainTabContentFragment.kt b/app/src/main/java/kr/co/vividnext/sodalive/audio_content/main/v2/content/AudioContentMainTabContentFragment.kt index c6659c2..efa0af5 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/audio_content/main/v2/content/AudioContentMainTabContentFragment.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/audio_content/main/v2/content/AudioContentMainTabContentFragment.kt @@ -34,6 +34,7 @@ import kr.co.vividnext.sodalive.base.BaseFragment import kr.co.vividnext.sodalive.common.Constants import kr.co.vividnext.sodalive.common.GridSpacingItemDecoration import kr.co.vividnext.sodalive.common.LoadingDialog +import kr.co.vividnext.sodalive.common.SharedPreferenceManager import kr.co.vividnext.sodalive.databinding.FragmentAudioContentMainTabContentBinding import kr.co.vividnext.sodalive.explorer.profile.UserProfileActivity import kr.co.vividnext.sodalive.extensions.dpToPx @@ -526,7 +527,11 @@ class AudioContentMainTabContentFragment : BaseFragment