From 55226721958df0697b52be5197a82950e8bf4b19 Mon Sep 17 00:00:00 2001 From: klaus Date: Thu, 7 Sep 2023 13:06:35 +0900 Subject: [PATCH] =?UTF-8?q?=EC=BD=98=ED=85=90=EC=B8=A0=20=EB=8C=93?= =?UTF-8?q?=EA=B8=80=20=EC=88=98=EC=A0=95=20=EA=B8=B0=EB=8A=A5=20=EC=B6=94?= =?UTF-8?q?=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../comment/AudioContentCommentAdapter.kt | 28 ++++++++++--- .../comment/AudioContentCommentFragment.kt | 6 ++- .../AudioContentCommentListFragment.kt | 15 ++++++- .../detail/AudioContentDetailActivity.kt | 8 +++- .../res/layout/item_audio_content_comment.xml | 39 +++++++++++++++++++ .../res/menu/content_comment_option_menu.xml | 6 +++ .../res/menu/content_comment_option_menu2.xml | 9 +++++ 7 files changed, 101 insertions(+), 10 deletions(-) create mode 100644 app/src/main/res/menu/content_comment_option_menu2.xml 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="내용내용내용내용내용내용내용내용내용내용내용내용내용 내용내용내용내용내용내용내용내용내용내용 내용내용내용내용" /> + + + + + + + + + + + + + +