diff --git a/app/src/main/java/kr/co/vividnext/sodalive/audio_content/AudioContentApi.kt b/app/src/main/java/kr/co/vividnext/sodalive/audio_content/AudioContentApi.kt index 5cfc956..6c9a6ef 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/audio_content/AudioContentApi.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/audio_content/AudioContentApi.kt @@ -325,7 +325,7 @@ interface AudioContentApi { @Query("page") page: Int, @Query("size") size: Int, @Header("Authorization") authHeader: String - ): Single>> + ): Single> @GET("/v2/audio-content/main/asmr") fun getContentMainAsmr( diff --git a/app/src/main/java/kr/co/vividnext/sodalive/audio_content/main/v2/alarm/AudioContentMainTabAlarmViewModel.kt b/app/src/main/java/kr/co/vividnext/sodalive/audio_content/main/v2/alarm/AudioContentMainTabAlarmViewModel.kt index d0eeec3..9f16223 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/audio_content/main/v2/alarm/AudioContentMainTabAlarmViewModel.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/audio_content/main/v2/alarm/AudioContentMainTabAlarmViewModel.kt @@ -84,43 +84,43 @@ class AudioContentMainTabAlarmViewModel( } fun getContentMainAlarm(selectedTheme: String) { - _isLoading.value = true + _isLoading.value = true - compositeDisposable.add( - repository.getContentMainAlarmAll( - theme = if (selectedTheme == "전체") { - "" - } else { - selectedTheme - }, - page = 1, - size = 10, - token = "Bearer ${SharedPreferenceManager.token}" - ) - .subscribeOn(Schedulers.io()) - .observeOn(AndroidSchedulers.mainThread()) - .subscribe( - { - if (it.success && it.data != null) { - _newContentListLiveData.value = it.data!! - } else { - if (it.message != null) { - _toastLiveData.postValue(it.message) - } else { - _toastLiveData.postValue( - "알 수 없는 오류가 발생했습니다. 다시 시도해 주세요." - ) - } - } - - _isLoading.value = false - }, - { - _isLoading.value = false - it.message?.let { message -> Logger.e(message) } - _toastLiveData.postValue("알 수 없는 오류가 발생했습니다. 다시 시도해 주세요.") - } - ) + compositeDisposable.add( + repository.getContentMainAlarmAll( + theme = if (selectedTheme == "전체") { + "" + } else { + selectedTheme + }, + page = 1, + size = 10, + token = "Bearer ${SharedPreferenceManager.token}" ) - } + .subscribeOn(Schedulers.io()) + .observeOn(AndroidSchedulers.mainThread()) + .subscribe( + { + if (it.success && it.data != null) { + _newContentListLiveData.value = it.data.items + } else { + if (it.message != null) { + _toastLiveData.postValue(it.message) + } else { + _toastLiveData.postValue( + "알 수 없는 오류가 발생했습니다. 다시 시도해 주세요." + ) + } + } + + _isLoading.value = false + }, + { + _isLoading.value = false + it.message?.let { message -> Logger.e(message) } + _toastLiveData.postValue("알 수 없는 오류가 발생했습니다. 다시 시도해 주세요.") + } + ) + ) + } } diff --git a/app/src/main/java/kr/co/vividnext/sodalive/audio_content/main/v2/alarm/all/AlarmContentAllActivity.kt b/app/src/main/java/kr/co/vividnext/sodalive/audio_content/main/v2/alarm/all/AlarmContentAllActivity.kt index cba5a00..b640a2b 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/audio_content/main/v2/alarm/all/AlarmContentAllActivity.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/audio_content/main/v2/alarm/all/AlarmContentAllActivity.kt @@ -154,5 +154,9 @@ class AlarmContentAllActivity : BaseActivity( viewModel.newContentListLiveData.observe(this) { newContentAdapter.addItems(it) } + + viewModel.totalCountLiveData.observe(this) { + binding.tvTotalCount.text = "$it" + } } } diff --git a/app/src/main/java/kr/co/vividnext/sodalive/audio_content/main/v2/alarm/all/AlarmContentAllViewModel.kt b/app/src/main/java/kr/co/vividnext/sodalive/audio_content/main/v2/alarm/all/AlarmContentAllViewModel.kt index c743dcc..75e8b35 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/audio_content/main/v2/alarm/all/AlarmContentAllViewModel.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/audio_content/main/v2/alarm/all/AlarmContentAllViewModel.kt @@ -25,6 +25,10 @@ class AlarmContentAllViewModel( val newContentListLiveData: LiveData> get() = _newContentListLiveData + private var _totalCountLiveData = MutableLiveData() + val totalCountLiveData: LiveData + get() = _totalCountLiveData + private var isLast = false private var page = 1 private val size = 10 @@ -50,9 +54,11 @@ class AlarmContentAllViewModel( .subscribe( { if (it.success && it.data != null) { - if (it.data.isNotEmpty()) { + val data = it.data + _totalCountLiveData.value = data.totalCount + if (data.items.isNotEmpty()) { page += 1 - _newContentListLiveData.value = it.data!! + _newContentListLiveData.value = data.items } else { isLast = true } diff --git a/app/src/main/java/kr/co/vividnext/sodalive/audio_content/main/v2/asmr/AsmrNewContentAllActivity.kt b/app/src/main/java/kr/co/vividnext/sodalive/audio_content/main/v2/asmr/AsmrNewContentAllActivity.kt index 4829154..9df1940 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/audio_content/main/v2/asmr/AsmrNewContentAllActivity.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/audio_content/main/v2/asmr/AsmrNewContentAllActivity.kt @@ -43,6 +43,8 @@ class AsmrNewContentAllActivity : BaseActivity binding.toolbar.tvBack.text = "새로운 ASMR" binding.toolbar.tvBack.setOnClickListener { finish() } + binding.tvNotice.text = "※ 최근 2주간 등록된 새로운 ASMR 입니다." + setupNewContent() } @@ -106,5 +108,9 @@ class AsmrNewContentAllActivity : BaseActivity viewModel.newContentListLiveData.observe(this) { newContentAdapter.addItems(it) } + + viewModel.newContentTotalCountLiveData.observe(this) { + binding.tvTotalCount.text = "$it" + } } } diff --git a/app/src/main/java/kr/co/vividnext/sodalive/audio_content/main/v2/replay/ReplayNewContentAllActivity.kt b/app/src/main/java/kr/co/vividnext/sodalive/audio_content/main/v2/replay/ReplayNewContentAllActivity.kt index cf15d8d..fe83b2a 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/audio_content/main/v2/replay/ReplayNewContentAllActivity.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/audio_content/main/v2/replay/ReplayNewContentAllActivity.kt @@ -41,6 +41,8 @@ class ReplayNewContentAllActivity : BaseActivity + + + + + + + + + + + + + + + + + + + android:paddingVertical="6.7dp">