구매 목록 - 페이징을 추가해 이전 구매목록이 추가로 로딩되도록 수정

This commit is contained in:
klaus 2023-10-31 12:23:12 +09:00
parent 5cdb7426c6
commit 5c293e79cf
1 changed files with 40 additions and 38 deletions

View File

@ -27,51 +27,53 @@ class AudioContentOrderListViewModel(
private var isLast = false private var isLast = false
var page = 1 var page = 1
private val size = 10 private val size = 3
fun getAudioContentOrderList(onFailure: (() -> Unit)? = null) { fun getAudioContentOrderList(onFailure: (() -> Unit)? = null) {
_isLoading.value = true if (_isLoading.value == false) {
compositeDisposable.add( _isLoading.value = true
repository.getAudioContentOrderList( compositeDisposable.add(
page = page, repository.getAudioContentOrderList(
size = size, page = page,
token = "Bearer ${SharedPreferenceManager.token}" size = size,
) token = "Bearer ${SharedPreferenceManager.token}"
.subscribeOn(Schedulers.io()) )
.observeOn(AndroidSchedulers.mainThread()) .subscribeOn(Schedulers.io())
.subscribe( .observeOn(AndroidSchedulers.mainThread())
{ .subscribe(
if (it.success && it.data != null) { {
if (it.data.items.isNotEmpty()) { if (it.success && it.data != null) {
page += 1 if (it.data.items.isNotEmpty()) {
_orderList.postValue(it.data.items) page += 1
_orderList.postValue(it.data.items)
} else {
isLast = true
}
} else { } else {
isLast = true if (it.message != null) {
} _toastLiveData.postValue(it.message)
} else { } else {
if (it.message != null) { _toastLiveData.postValue(
_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) { if (onFailure != null) {
onFailure() onFailure()
} }
} }
_isLoading.value = false )
}, )
{ }
_isLoading.value = false
it.message?.let { message -> Logger.e(message) }
_toastLiveData.postValue("알 수 없는 오류가 발생했습니다. 다시 시도해 주세요.")
if (onFailure != null) {
onFailure()
}
}
)
)
} }
} }