diff --git a/app/src/main/java/kr/co/vividnext/sodalive/audio_content/order/AudioContentOrderListViewModel.kt b/app/src/main/java/kr/co/vividnext/sodalive/audio_content/order/AudioContentOrderListViewModel.kt index 6f15287..5e6c083 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/audio_content/order/AudioContentOrderListViewModel.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/audio_content/order/AudioContentOrderListViewModel.kt @@ -27,51 +27,53 @@ class AudioContentOrderListViewModel( private var isLast = false var page = 1 - private val size = 10 + private val size = 3 fun getAudioContentOrderList(onFailure: (() -> Unit)? = null) { - _isLoading.value = true - compositeDisposable.add( - repository.getAudioContentOrderList( - page = page, - size = size, - token = "Bearer ${SharedPreferenceManager.token}" - ) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()) - .subscribe( - { - if (it.success && it.data != null) { - if (it.data.items.isNotEmpty()) { - page += 1 - _orderList.postValue(it.data.items) + if (_isLoading.value == false) { + _isLoading.value = true + compositeDisposable.add( + repository.getAudioContentOrderList( + page = page, + size = size, + token = "Bearer ${SharedPreferenceManager.token}" + ) + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe( + { + if (it.success && it.data != null) { + if (it.data.items.isNotEmpty()) { + page += 1 + _orderList.postValue(it.data.items) + } else { + isLast = true + } } else { - isLast = true - } - } else { - if (it.message != null) { - _toastLiveData.postValue(it.message) - } else { - _toastLiveData.postValue( - "알 수 없는 오류가 발생했습니다. 다시 시도해 주세요." - ) - } + if (it.message != null) { + _toastLiveData.postValue(it.message) + } else { + _toastLiveData.postValue( + "알 수 없는 오류가 발생했습니다. 다시 시도해 주세요." + ) + } + if (onFailure != null) { + onFailure() + } + } + _isLoading.value = false + }, + { + _isLoading.value = false + it.message?.let { message -> Logger.e(message) } + _toastLiveData.postValue("알 수 없는 오류가 발생했습니다. 다시 시도해 주세요.") if (onFailure != null) { onFailure() } } - _isLoading.value = false - }, - { - _isLoading.value = false - it.message?.let { message -> Logger.e(message) } - _toastLiveData.postValue("알 수 없는 오류가 발생했습니다. 다시 시도해 주세요.") - if (onFailure != null) { - onFailure() - } - } - ) - ) + ) + ) + } } }