diff --git a/app/src/main/java/kr/co/vividnext/sodalive/audio_content/comment/AudioContentCommentAdapter.kt b/app/src/main/java/kr/co/vividnext/sodalive/audio_content/comment/AudioContentCommentAdapter.kt index a0e1bd6..473ec4b 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/audio_content/comment/AudioContentCommentAdapter.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/audio_content/comment/AudioContentCommentAdapter.kt @@ -17,6 +17,7 @@ import kr.co.vividnext.sodalive.extensions.moneyFormat class AudioContentCommentAdapter( private val creatorId: Long, + private val modifyComment: (Long, String) -> Unit, private val onClickDelete: (Long) -> Unit, private val onItemClick: (GetAudioContentCommentListItem) -> Unit ) : RecyclerView.Adapter() { @@ -92,6 +93,7 @@ class AudioContentCommentAdapter( item.writerId == SharedPreferenceManager.userId || creatorId == SharedPreferenceManager.userId ) { + binding.etCommentModify.setText(item.comment) binding.ivMenu.visibility = View.VISIBLE binding.ivMenu.setOnClickListener { showOptionMenu( @@ -99,9 +101,19 @@ class AudioContentCommentAdapter( binding.ivMenu, commentId = item.id, writerId = item.writerId, - creatorId = creatorId + creatorId = creatorId, + onClickModify = { + binding.rlCommentModify.visibility = View.VISIBLE + binding.tvComment.visibility = View.GONE + } ) } + + binding.tvModify.setOnClickListener { + binding.rlCommentModify.visibility = View.GONE + binding.tvComment.visibility = View.VISIBLE + modifyComment(item.id, binding.etCommentModify.text.toString()) + } } else { binding.ivMenu.visibility = View.GONE } @@ -131,20 +143,24 @@ class AudioContentCommentAdapter( v: View, commentId: Long, writerId: Long, - creatorId: Long + creatorId: Long, + onClickModify: () -> Unit ) { val popup = PopupMenu(context, v) val inflater = popup.menuInflater - if ( - writerId == SharedPreferenceManager.userId || - creatorId == SharedPreferenceManager.userId - ) { + if (writerId == SharedPreferenceManager.userId) { inflater.inflate(R.menu.content_comment_option_menu, popup.menu) + } else if (creatorId == SharedPreferenceManager.userId) { + inflater.inflate(R.menu.content_comment_option_menu2, popup.menu) } popup.setOnMenuItemClickListener { when (it.itemId) { + R.id.menu_review_modify -> { + onClickModify() + } + R.id.menu_review_delete -> { onClickDelete(commentId) } diff --git a/app/src/main/java/kr/co/vividnext/sodalive/audio_content/comment/AudioContentCommentFragment.kt b/app/src/main/java/kr/co/vividnext/sodalive/audio_content/comment/AudioContentCommentFragment.kt index 6cae097..0b25906 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/audio_content/comment/AudioContentCommentFragment.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/audio_content/comment/AudioContentCommentFragment.kt @@ -12,7 +12,10 @@ import com.google.android.material.bottomsheet.BottomSheetDialogFragment import kr.co.vividnext.sodalive.R import kr.co.vividnext.sodalive.databinding.DialogAudioContentCommentBinding -class AudioContentCommentFragment(private val audioContentId: Long) : BottomSheetDialogFragment() { +class AudioContentCommentFragment( + private val creatorId: Long, + private val audioContentId: Long +) : BottomSheetDialogFragment() { private lateinit var binding: DialogAudioContentCommentBinding @@ -46,6 +49,7 @@ class AudioContentCommentFragment(private val audioContentId: Long) : BottomShee val commentListFragmentTag = "COMMENT_LIST_FRAGMENT" val commentListFragment = AudioContentCommentListFragment.newInstance( + creatorId = creatorId, audioContentId = audioContentId ) val fragmentTransaction = childFragmentManager.beginTransaction() diff --git a/app/src/main/java/kr/co/vividnext/sodalive/audio_content/comment/AudioContentCommentListFragment.kt b/app/src/main/java/kr/co/vividnext/sodalive/audio_content/comment/AudioContentCommentListFragment.kt index 05ce876..4667ae4 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/audio_content/comment/AudioContentCommentListFragment.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/audio_content/comment/AudioContentCommentListFragment.kt @@ -33,6 +33,7 @@ class AudioContentCommentListFragment : BaseFragment + hideKeyboard() + viewModel.modifyComment( + commentId = commentId, + audioContentId = audioContentId, + comment = comment + ) + }, onClickDelete = { SodaDialog( activity = requireActivity(), @@ -192,8 +202,9 @@ class AudioContentCommentListFragment : BaseFragment @@ -96,6 +97,44 @@ android:textColor="@color/color_777777" android:textSize="12sp" tools:text="내용내용내용내용내용내용내용내용내용내용내용내용내용 내용내용내용내용내용내용내용내용내용내용 내용내용내용내용" /> + + + + + + + + + + + + + +