From 2e7b1ac09e0098adeeb1462d43cfe60e8b95f14e Mon Sep 17 00:00:00 2001 From: klaus Date: Fri, 12 Dec 2025 01:43:34 +0900 Subject: [PATCH] =?UTF-8?q?=ED=99=88=20=ED=83=AD=20-=20=ED=8F=B0=20?= =?UTF-8?q?=EC=96=B8=EC=96=B4=20=EC=84=A4=EC=A0=95=EC=97=90=20=EB=94=B0?= =?UTF-8?q?=EB=9D=BC=20=EB=B2=88=EC=97=AD=20=EB=8D=B0=EC=9D=B4=ED=84=B0?= =?UTF-8?q?=EB=A5=BC=20=EC=A1=B0=ED=9A=8C=ED=95=98=EB=8F=84=EB=A1=9D=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/kr/co/vividnext/sodalive/home/HomeApi.kt | 2 +- .../kr/co/vividnext/sodalive/home/HomeFragment.kt | 4 +++- .../co/vividnext/sodalive/home/HomeRepository.kt | 3 ++- .../kr/co/vividnext/sodalive/home/HomeViewModel.kt | 14 ++++++++++---- 4 files changed, 16 insertions(+), 7 deletions(-) diff --git a/app/src/main/java/kr/co/vividnext/sodalive/home/HomeApi.kt b/app/src/main/java/kr/co/vividnext/sodalive/home/HomeApi.kt index 3faae189..77f4ae38 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/home/HomeApi.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/home/HomeApi.kt @@ -7,13 +7,13 @@ import kr.co.vividnext.sodalive.common.ApiResponse import kr.co.vividnext.sodalive.settings.ContentType import retrofit2.http.GET import retrofit2.http.Header -import retrofit2.http.Path import retrofit2.http.Query interface HomeApi { @GET("/api/home") fun getHomeData( @Query("timezone") timezone: String, + @Query("languageCode") languageCode: String, @Query("isAdultContentVisible") isAdultContentVisible: Boolean, @Query("contentType") contentType: ContentType, @Header("Authorization") authHeader: String diff --git a/app/src/main/java/kr/co/vividnext/sodalive/home/HomeFragment.kt b/app/src/main/java/kr/co/vividnext/sodalive/home/HomeFragment.kt index a410f5b1..db020f3a 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/home/HomeFragment.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/home/HomeFragment.kt @@ -43,6 +43,8 @@ import kr.co.vividnext.sodalive.chat.character.detail.CharacterDetailActivity.Co import kr.co.vividnext.sodalive.common.Constants import kr.co.vividnext.sodalive.common.LoadingDialog import kr.co.vividnext.sodalive.common.SharedPreferenceManager +import kr.co.vividnext.sodalive.common.Utils +import kr.co.vividnext.sodalive.common.Utils.getCurrentLanguageCode import kr.co.vividnext.sodalive.databinding.FragmentHomeBinding import kr.co.vividnext.sodalive.explorer.profile.UserProfileActivity import kr.co.vividnext.sodalive.extensions.dpToPx @@ -123,7 +125,7 @@ class HomeFragment : BaseFragment(FragmentHomeBinding::infl setupView() bindData() - viewModel.fetchData() + viewModel.fetchData(languageCode = getCurrentLanguageCode(requireContext())) } override fun onDestroyView() { diff --git a/app/src/main/java/kr/co/vividnext/sodalive/home/HomeRepository.kt b/app/src/main/java/kr/co/vividnext/sodalive/home/HomeRepository.kt index 286ff727..daa60960 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/home/HomeRepository.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/home/HomeRepository.kt @@ -5,8 +5,9 @@ import kr.co.vividnext.sodalive.settings.ContentType import java.util.TimeZone class HomeRepository(private val api: HomeApi) { - fun fetchData(token: String) = api.getHomeData( + fun fetchData(languageCode: String, token: String) = api.getHomeData( timezone = TimeZone.getDefault().id, + languageCode = languageCode, isAdultContentVisible = SharedPreferenceManager.isAdultContentVisible, contentType = ContentType.entries[SharedPreferenceManager.contentPreference], authHeader = token diff --git a/app/src/main/java/kr/co/vividnext/sodalive/home/HomeViewModel.kt b/app/src/main/java/kr/co/vividnext/sodalive/home/HomeViewModel.kt index 2177f6ab..31a5bfdb 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/home/HomeViewModel.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/home/HomeViewModel.kt @@ -5,6 +5,7 @@ import androidx.lifecycle.MutableLiveData import com.orhanobut.logger.Logger import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers import io.reactivex.rxjava3.schedulers.Schedulers +import kr.co.vividnext.sodalive.R import kr.co.vividnext.sodalive.audio_content.main.GetAudioContentBannerResponse import kr.co.vividnext.sodalive.audio_content.main.GetAudioContentRankingItem import kr.co.vividnext.sodalive.audio_content.series.GetSeriesListResponse @@ -15,7 +16,6 @@ import kr.co.vividnext.sodalive.common.ToastMessage import kr.co.vividnext.sodalive.explorer.GetExplorerSectionCreatorResponse import kr.co.vividnext.sodalive.live.GetRoomListResponse import kr.co.vividnext.sodalive.user.UserRepository -import kr.co.vividnext.sodalive.R class HomeViewModel( private val repository: HomeRepository, @@ -85,11 +85,14 @@ class HomeViewModel( val recommendContentListLiveData: LiveData> get() = _recommendContentListLiveData - fun fetchData() { + fun fetchData(languageCode: String) { _isLoading.value = true compositeDisposable.add( - repository.fetchData(token = "Bearer ${SharedPreferenceManager.token}") + repository.fetchData( + languageCode = languageCode, + token = "Bearer ${SharedPreferenceManager.token}" + ) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe( @@ -137,7 +140,10 @@ class HomeViewModel( fun getContentRanking(sortType: ContentRankingSortType) { compositeDisposable.add( - repository.getContentRanking(sortType, token = "Bearer ${SharedPreferenceManager.token}") + repository.getContentRanking( + sortType, + token = "Bearer ${SharedPreferenceManager.token}" + ) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(