diff --git a/app/src/main/java/kr/co/vividnext/sodalive/chat/talk/room/ChatRoomActivity.kt b/app/src/main/java/kr/co/vividnext/sodalive/chat/talk/room/ChatRoomActivity.kt index dd088a2a..9e33a5e5 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/chat/talk/room/ChatRoomActivity.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/chat/talk/room/ChatRoomActivity.kt @@ -379,7 +379,7 @@ class ChatRoomActivity : BaseActivity( } // 응답에 포함된 쿼터 상태로 UI 갱신 - updateQuotaUi(response.totalRemaining, response.nextRechargeAtEpoch) + updateQuotaUi(response.nextRechargeAtEpoch) }, { error -> // 실패: 타이핑 인디케이터 제거 및 FAILED로 업데이트 chatAdapter.hideTypingIndicator() @@ -466,7 +466,7 @@ class ChatRoomActivity : BaseActivity( .observeOn(AndroidSchedulers.mainThread()) .subscribe({ resp -> // 쿼터 UI 갱신 - updateQuotaUi(resp.totalRemaining, resp.nextRechargeAtEpoch) + updateQuotaUi(resp.nextRechargeAtEpoch) // 결제 성공 시 로컬 캔 차감(30캔) 및 헤더 배지 즉시 반영 val newCan = (SharedPreferenceManager.can - 30).coerceAtLeast(0) @@ -478,18 +478,18 @@ class ChatRoomActivity : BaseActivity( ) } - private fun updateQuotaUi(totalRemaining: Int, nextRechargeAtEpoch: Long?) { - if (totalRemaining > 0) { - // 입력창 표시 및 안내 제거 - binding.inputContainer.isVisible = true - stopQuotaCountdown() - ensureQuotaNoticeRemoved() - } else { + private fun updateQuotaUi(nextRechargeAtEpoch: Long?) { + if (nextRechargeAtEpoch != null) { // 입력창 숨김 및 안내 표시 + 카운트다운 시작 binding.inputContainer.isVisible = false val timeText = formatEpochToHms(nextRechargeAtEpoch) ensureQuotaNoticeShown(timeText) startQuotaCountdown(nextRechargeAtEpoch) + } else { + // 입력창 표시 및 안내 제거 + binding.inputContainer.isVisible = true + stopQuotaCountdown() + ensureQuotaNoticeRemoved() } } @@ -551,7 +551,7 @@ class ChatRoomActivity : BaseActivity( chatRepository.getChatQuotaStatus(roomId, token) .observeOn(AndroidSchedulers.mainThread()) .subscribe({ resp -> - updateQuotaUi(resp.totalRemaining, resp.nextRechargeAtEpoch) + updateQuotaUi(resp.nextRechargeAtEpoch) }, { /* 무시: 다음 틱에 재시도 가능 */ }) ) } @@ -655,7 +655,7 @@ class ChatRoomActivity : BaseActivity( isLoading = false // 쿼터 UI 갱신 - updateQuotaUi(response.totalRemaining, response.nextRechargeAtEpoch) + updateQuotaUi(response.nextRechargeAtEpoch) // 7.3: 오래된 메시지 정리(백그라운드) compositeDisposable.add(