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