feat(character-comment): 캐릭터 댓글 리스트 등록/목록/신고 API 연동 및 DI 등록
fix(character-comment): 캐릭터 댓글 리스트 무한 스크롤에서 cursor null 시 추가 호출 방지 - CharacterCommentApi/Repository 추가 - AppDI에 API/Repository 등록 - CharacterCommentListFragment: 등록 버튼 클릭 시 API 호출로 전환, 커서 페이징 목록 로드 적용, 신고 API 연동 - 로딩/에러 처리 및 중복 로드 방지 플래그 추가 - 스크롤 리스너에 canLoadMore 조건 추가(초기 또는 cursor 존재 시에만 호출) - loadMore()에 종료 가드 추가(adapter 비어있지 않고 cursor null이면 반환) - 댓글 1개인 경우 동일 내용 반복 로딩 문제 해결
This commit is contained in:
@@ -67,11 +67,14 @@ import kr.co.vividnext.sodalive.audition.role.AuditionRoleDetailViewModel
|
||||
import kr.co.vividnext.sodalive.chat.character.CharacterApi
|
||||
import kr.co.vividnext.sodalive.chat.character.CharacterTabRepository
|
||||
import kr.co.vividnext.sodalive.chat.character.CharacterTabViewModel
|
||||
import kr.co.vividnext.sodalive.chat.character.comment.CharacterCommentApi
|
||||
import kr.co.vividnext.sodalive.chat.character.comment.CharacterCommentRepository
|
||||
import kr.co.vividnext.sodalive.chat.character.detail.CharacterDetailRepository
|
||||
import kr.co.vividnext.sodalive.chat.character.detail.CharacterDetailViewModel
|
||||
import kr.co.vividnext.sodalive.chat.talk.TalkApi
|
||||
import kr.co.vividnext.sodalive.chat.talk.TalkTabRepository
|
||||
import kr.co.vividnext.sodalive.chat.talk.TalkTabViewModel
|
||||
import kr.co.vividnext.sodalive.chat.talk.room.chatTalkRoomModule
|
||||
import kr.co.vividnext.sodalive.common.ApiBuilder
|
||||
import kr.co.vividnext.sodalive.common.ObjectBox
|
||||
import kr.co.vividnext.sodalive.explorer.ExplorerApi
|
||||
@@ -146,7 +149,6 @@ import kr.co.vividnext.sodalive.mypage.profile.tag.MemberTagApi
|
||||
import kr.co.vividnext.sodalive.mypage.profile.tag.MemberTagRepository
|
||||
import kr.co.vividnext.sodalive.mypage.profile.tag.MemberTagViewModel
|
||||
import kr.co.vividnext.sodalive.mypage.recent.recentContentModule
|
||||
import kr.co.vividnext.sodalive.chat.talk.room.chatTalkRoomModule
|
||||
import kr.co.vividnext.sodalive.mypage.service_center.FaqApi
|
||||
import kr.co.vividnext.sodalive.mypage.service_center.FaqRepository
|
||||
import kr.co.vividnext.sodalive.mypage.service_center.ServiceCenterViewModel
|
||||
@@ -256,6 +258,7 @@ class AppDI(private val context: Context, isDebugMode: Boolean) {
|
||||
single { ApiBuilder().build(get(), HomeApi::class.java) }
|
||||
single { ApiBuilder().build(get(), CharacterApi::class.java) }
|
||||
single { ApiBuilder().build(get(), TalkApi::class.java) }
|
||||
single { ApiBuilder().build(get(), CharacterCommentApi::class.java) }
|
||||
}
|
||||
|
||||
private val viewModelModule = module {
|
||||
@@ -403,6 +406,7 @@ class AppDI(private val context: Context, isDebugMode: Boolean) {
|
||||
factory { CharacterTabRepository(get()) }
|
||||
factory { CharacterDetailRepository(get(), get()) }
|
||||
factory { TalkTabRepository(get()) }
|
||||
factory { CharacterCommentRepository(get()) }
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user