홈 탭 - 폰 언어 설정에 따라 번역 데이터를 조회하도록 수정

This commit is contained in:
2025-12-12 01:43:34 +09:00
parent 4e15557949
commit 2e7b1ac09e
4 changed files with 16 additions and 7 deletions

View File

@@ -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

View File

@@ -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>(FragmentHomeBinding::infl
setupView()
bindData()
viewModel.fetchData()
viewModel.fetchData(languageCode = getCurrentLanguageCode(requireContext()))
}
override fun onDestroyView() {

View File

@@ -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

View File

@@ -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<List<AudioContentMainItem>>
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(