홈 탭 - 폰 언어 설정에 따라 번역 데이터를 조회하도록 수정
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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() {
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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(
|
||||
|
||||
Reference in New Issue
Block a user