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(