fix(comment): 캐릭터 댓글 더보기에서 삭제 API 연동 및 UI 반영
- Bottom Sheet 삭제 선택 시 deleteComment API 호출 추가 - 성공 시 목록에서 항목 제거 - 오류 시 사용자에게 에러 토스트 노출
This commit is contained in:
@@ -145,13 +145,38 @@ class CharacterCommentListFragment : BaseFragment<FragmentCharacterCommentListBi
|
|||||||
.setTitle(getString(R.string.confirm_delete_title))
|
.setTitle(getString(R.string.confirm_delete_title))
|
||||||
.setMessage(getString(R.string.confirm_delete_message))
|
.setMessage(getString(R.string.confirm_delete_message))
|
||||||
.setPositiveButton(getString(R.string.confirm)) { _, _ ->
|
.setPositiveButton(getString(R.string.confirm)) { _, _ ->
|
||||||
// 삭제 API 스텁 호출 지점
|
val token = "Bearer ${SharedPreferenceManager.token}"
|
||||||
val index =
|
loadingDialog.show(screenWidth)
|
||||||
adapter.items.indexOfFirst { it.commentId == item.commentId }
|
val d = repository.deleteComment(
|
||||||
if (index >= 0) {
|
characterId = characterId,
|
||||||
adapter.items.removeAt(index)
|
commentId = item.commentId,
|
||||||
adapter.notifyItemRemoved(index)
|
token = token
|
||||||
}
|
)
|
||||||
|
.subscribeOn(Schedulers.io())
|
||||||
|
.observeOn(AndroidSchedulers.mainThread())
|
||||||
|
.doFinally { loadingDialog.dismiss() }
|
||||||
|
.subscribe({ resp ->
|
||||||
|
if (resp.success) {
|
||||||
|
val index = adapter.items.indexOfFirst { it.commentId == item.commentId }
|
||||||
|
if (index >= 0) {
|
||||||
|
adapter.items.removeAt(index)
|
||||||
|
adapter.notifyItemRemoved(index)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
Toast.makeText(
|
||||||
|
requireContext(),
|
||||||
|
resp.message ?: "요청 중 오류가 발생했습니다",
|
||||||
|
Toast.LENGTH_SHORT
|
||||||
|
).show()
|
||||||
|
}
|
||||||
|
}, { e ->
|
||||||
|
Toast.makeText(
|
||||||
|
requireContext(),
|
||||||
|
e.message ?: "요청 중 오류가 발생했습니다",
|
||||||
|
Toast.LENGTH_SHORT
|
||||||
|
).show()
|
||||||
|
})
|
||||||
|
compositeDisposable.add(d)
|
||||||
}
|
}
|
||||||
.setNegativeButton(getString(R.string.cancel), null)
|
.setNegativeButton(getString(R.string.cancel), null)
|
||||||
.show()
|
.show()
|
||||||
@@ -231,6 +256,7 @@ class CharacterCommentListFragment : BaseFragment<FragmentCharacterCommentListBi
|
|||||||
private var cursor: Long? = null
|
private var cursor: Long? = null
|
||||||
private var isLoading = false
|
private var isLoading = false
|
||||||
|
|
||||||
|
@SuppressLint("NotifyDataSetChanged")
|
||||||
private fun resetAndLoad() {
|
private fun resetAndLoad() {
|
||||||
cursor = null
|
cursor = null
|
||||||
adapter.items.clear()
|
adapter.items.clear()
|
||||||
|
|||||||
Reference in New Issue
Block a user