From e46c34558e83b98ba5a0c3f68f6b23c1aae73933 Mon Sep 17 00:00:00 2001 From: klaus Date: Mon, 17 Feb 2025 21:39:04 +0900 Subject: [PATCH] =?UTF-8?q?=EC=BD=98=ED=85=90=EC=B8=A0=20=EB=A9=94?= =?UTF-8?q?=EC=9D=B8=20=ED=83=AD=20-=20=EC=83=88=EB=A1=9C=EC=9A=B4=20?= =?UTF-8?q?=EC=BD=98=ED=85=90=EC=B8=A0=20=EC=A0=84=EC=B2=B4=EB=B3=B4?= =?UTF-8?q?=EA=B8=B0=20-=20=EC=A0=84=EC=B2=B4=20=EA=B0=9C=EC=88=98=20?= =?UTF-8?q?=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sodalive/audio_content/AudioContentApi.kt | 2 +- .../AudioContentMainTabAlarmViewModel.kt | 74 +++++++++---------- .../v2/alarm/all/AlarmContentAllActivity.kt | 4 + .../v2/alarm/all/AlarmContentAllViewModel.kt | 10 ++- .../main/v2/asmr/AsmrNewContentAllActivity.kt | 6 ++ .../v2/replay/ReplayNewContentAllActivity.kt | 6 ++ .../res/layout/activity_alarm_content_all.xml | 40 ++++++++++ .../layout/activity_asmr_new_content_all.xml | 41 ++++++++++ .../layout/activity_audio_content_new_all.xml | 2 +- ...fragment_audio_content_main_tab_replay.xml | 1 - 10 files changed, 144 insertions(+), 42 deletions(-) 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">