홈 탭 - 폰 언어 설정에 따라 번역 데이터를 조회하도록 수정
This commit is contained in:
@@ -7,13 +7,13 @@ import kr.co.vividnext.sodalive.common.ApiResponse
|
|||||||
import kr.co.vividnext.sodalive.settings.ContentType
|
import kr.co.vividnext.sodalive.settings.ContentType
|
||||||
import retrofit2.http.GET
|
import retrofit2.http.GET
|
||||||
import retrofit2.http.Header
|
import retrofit2.http.Header
|
||||||
import retrofit2.http.Path
|
|
||||||
import retrofit2.http.Query
|
import retrofit2.http.Query
|
||||||
|
|
||||||
interface HomeApi {
|
interface HomeApi {
|
||||||
@GET("/api/home")
|
@GET("/api/home")
|
||||||
fun getHomeData(
|
fun getHomeData(
|
||||||
@Query("timezone") timezone: String,
|
@Query("timezone") timezone: String,
|
||||||
|
@Query("languageCode") languageCode: String,
|
||||||
@Query("isAdultContentVisible") isAdultContentVisible: Boolean,
|
@Query("isAdultContentVisible") isAdultContentVisible: Boolean,
|
||||||
@Query("contentType") contentType: ContentType,
|
@Query("contentType") contentType: ContentType,
|
||||||
@Header("Authorization") authHeader: String
|
@Header("Authorization") authHeader: String
|
||||||
|
|||||||
@@ -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.Constants
|
||||||
import kr.co.vividnext.sodalive.common.LoadingDialog
|
import kr.co.vividnext.sodalive.common.LoadingDialog
|
||||||
import kr.co.vividnext.sodalive.common.SharedPreferenceManager
|
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.databinding.FragmentHomeBinding
|
||||||
import kr.co.vividnext.sodalive.explorer.profile.UserProfileActivity
|
import kr.co.vividnext.sodalive.explorer.profile.UserProfileActivity
|
||||||
import kr.co.vividnext.sodalive.extensions.dpToPx
|
import kr.co.vividnext.sodalive.extensions.dpToPx
|
||||||
@@ -123,7 +125,7 @@ class HomeFragment : BaseFragment<FragmentHomeBinding>(FragmentHomeBinding::infl
|
|||||||
setupView()
|
setupView()
|
||||||
bindData()
|
bindData()
|
||||||
|
|
||||||
viewModel.fetchData()
|
viewModel.fetchData(languageCode = getCurrentLanguageCode(requireContext()))
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun onDestroyView() {
|
override fun onDestroyView() {
|
||||||
|
|||||||
@@ -5,8 +5,9 @@ import kr.co.vividnext.sodalive.settings.ContentType
|
|||||||
import java.util.TimeZone
|
import java.util.TimeZone
|
||||||
|
|
||||||
class HomeRepository(private val api: HomeApi) {
|
class HomeRepository(private val api: HomeApi) {
|
||||||
fun fetchData(token: String) = api.getHomeData(
|
fun fetchData(languageCode: String, token: String) = api.getHomeData(
|
||||||
timezone = TimeZone.getDefault().id,
|
timezone = TimeZone.getDefault().id,
|
||||||
|
languageCode = languageCode,
|
||||||
isAdultContentVisible = SharedPreferenceManager.isAdultContentVisible,
|
isAdultContentVisible = SharedPreferenceManager.isAdultContentVisible,
|
||||||
contentType = ContentType.entries[SharedPreferenceManager.contentPreference],
|
contentType = ContentType.entries[SharedPreferenceManager.contentPreference],
|
||||||
authHeader = token
|
authHeader = token
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import androidx.lifecycle.MutableLiveData
|
|||||||
import com.orhanobut.logger.Logger
|
import com.orhanobut.logger.Logger
|
||||||
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
|
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
|
||||||
import io.reactivex.rxjava3.schedulers.Schedulers
|
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.GetAudioContentBannerResponse
|
||||||
import kr.co.vividnext.sodalive.audio_content.main.GetAudioContentRankingItem
|
import kr.co.vividnext.sodalive.audio_content.main.GetAudioContentRankingItem
|
||||||
import kr.co.vividnext.sodalive.audio_content.series.GetSeriesListResponse
|
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.explorer.GetExplorerSectionCreatorResponse
|
||||||
import kr.co.vividnext.sodalive.live.GetRoomListResponse
|
import kr.co.vividnext.sodalive.live.GetRoomListResponse
|
||||||
import kr.co.vividnext.sodalive.user.UserRepository
|
import kr.co.vividnext.sodalive.user.UserRepository
|
||||||
import kr.co.vividnext.sodalive.R
|
|
||||||
|
|
||||||
class HomeViewModel(
|
class HomeViewModel(
|
||||||
private val repository: HomeRepository,
|
private val repository: HomeRepository,
|
||||||
@@ -85,11 +85,14 @@ class HomeViewModel(
|
|||||||
val recommendContentListLiveData: LiveData<List<AudioContentMainItem>>
|
val recommendContentListLiveData: LiveData<List<AudioContentMainItem>>
|
||||||
get() = _recommendContentListLiveData
|
get() = _recommendContentListLiveData
|
||||||
|
|
||||||
fun fetchData() {
|
fun fetchData(languageCode: String) {
|
||||||
_isLoading.value = true
|
_isLoading.value = true
|
||||||
|
|
||||||
compositeDisposable.add(
|
compositeDisposable.add(
|
||||||
repository.fetchData(token = "Bearer ${SharedPreferenceManager.token}")
|
repository.fetchData(
|
||||||
|
languageCode = languageCode,
|
||||||
|
token = "Bearer ${SharedPreferenceManager.token}"
|
||||||
|
)
|
||||||
.subscribeOn(Schedulers.io())
|
.subscribeOn(Schedulers.io())
|
||||||
.observeOn(AndroidSchedulers.mainThread())
|
.observeOn(AndroidSchedulers.mainThread())
|
||||||
.subscribe(
|
.subscribe(
|
||||||
@@ -137,7 +140,10 @@ class HomeViewModel(
|
|||||||
|
|
||||||
fun getContentRanking(sortType: ContentRankingSortType) {
|
fun getContentRanking(sortType: ContentRankingSortType) {
|
||||||
compositeDisposable.add(
|
compositeDisposable.add(
|
||||||
repository.getContentRanking(sortType, token = "Bearer ${SharedPreferenceManager.token}")
|
repository.getContentRanking(
|
||||||
|
sortType,
|
||||||
|
token = "Bearer ${SharedPreferenceManager.token}"
|
||||||
|
)
|
||||||
.subscribeOn(Schedulers.io())
|
.subscribeOn(Schedulers.io())
|
||||||
.observeOn(AndroidSchedulers.mainThread())
|
.observeOn(AndroidSchedulers.mainThread())
|
||||||
.subscribe(
|
.subscribe(
|
||||||
|
|||||||
Reference in New Issue
Block a user