diff --git a/app/src/main/java/kr/co/vividnext/sodalive/explorer/profile/UserProfileActivity.kt b/app/src/main/java/kr/co/vividnext/sodalive/explorer/profile/UserProfileActivity.kt index d5bab1b..208b801 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/explorer/profile/UserProfileActivity.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/explorer/profile/UserProfileActivity.kt @@ -390,13 +390,21 @@ class UserProfileActivity : BaseActivity( ) } }, - modifyReply = { cheersId, content, isActive -> + modifyReply = { cheersId, content -> + hideKeyboard { + viewModel.modifyCheers( + cheersId = cheersId, + creatorId = userId, + cheersContent = content + ) + } + }, + modifyCheers = { cheersId, content -> hideKeyboard { viewModel.modifyCheers( cheersId = cheersId, creatorId = userId, cheersContent = content, - isActive = isActive ) } }, diff --git a/app/src/main/java/kr/co/vividnext/sodalive/explorer/profile/cheers/UserProfileCheersAdapter.kt b/app/src/main/java/kr/co/vividnext/sodalive/explorer/profile/cheers/UserProfileCheersAdapter.kt index ab9c652..0c3eae3 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/explorer/profile/cheers/UserProfileCheersAdapter.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/explorer/profile/cheers/UserProfileCheersAdapter.kt @@ -17,7 +17,8 @@ import kr.co.vividnext.sodalive.extensions.dpToPx class UserProfileCheersAdapter( private val userId: Long, private val enterReply: (Long, String) -> Unit, - private val modifyReply: (Long, String?, Boolean?) -> Unit, + private val modifyReply: (Long, String?) -> Unit, + private val modifyCheers: (Long, String) -> Unit, private val onClickReport: (Long) -> Unit, private val onClickDelete: (Long) -> Unit ) : RecyclerView.Adapter() { @@ -43,14 +44,33 @@ class UserProfileCheersAdapter( binding.tvNickname.text = cheers.nickname binding.tvDate.text = cheers.date - binding.ivMenu.setOnClickListener { - showOptionMenu( - context, - binding.ivMenu, - cheersId = cheers.cheersId, - memberId = cheers.memberId, - creatorId = userId - ) + if ( + cheers.memberId == SharedPreferenceManager.userId || + userId == SharedPreferenceManager.userId + ) { + binding.etContentModify.setText(cheers.content) + binding.ivMenu.visibility = View.VISIBLE + binding.ivMenu.setOnClickListener { + showOptionMenu( + context, + binding.ivMenu, + cheersId = cheers.cheersId, + memberId = cheers.memberId, + creatorId = userId, + onClickModify = { + binding.rlContentModify.visibility = View.VISIBLE + binding.tvContent.visibility = View.GONE + } + ) + } + + binding.tvModify.setOnClickListener { + binding.rlContentModify.visibility = View.GONE + binding.tvContent.visibility = View.VISIBLE + modifyCheers(cheers.cheersId, binding.etContentModify.text.toString()) + } + } else { + binding.ivMenu.visibility = View.GONE } if (cheers.replyList.isNotEmpty()) { @@ -66,7 +86,7 @@ class UserProfileCheersAdapter( binding.rlCheerReply.visibility = View.VISIBLE binding.tvSend.setOnClickListener { val content = binding.etCheerReply.text.toString() - modifyReply(reply.cheersId, content, null) + modifyReply(reply.cheersId, content) } } } else { @@ -114,15 +134,15 @@ class UserProfileCheersAdapter( v: View, cheersId: Long, memberId: Long, - creatorId: Long + creatorId: Long, + onClickModify: () -> Unit ) { val popup = PopupMenu(context, v) val inflater = popup.menuInflater - if ( - memberId == SharedPreferenceManager.userId || - creatorId == SharedPreferenceManager.userId - ) { + if (memberId == SharedPreferenceManager.userId) { + inflater.inflate(R.menu.review_option_menu3, popup.menu) + } else if (creatorId == SharedPreferenceManager.userId) { inflater.inflate(R.menu.review_option_menu2, popup.menu) } else { inflater.inflate(R.menu.review_option_menu, popup.menu) @@ -134,6 +154,10 @@ class UserProfileCheersAdapter( onClickReport(cheersId) } + R.id.menu_review_modify -> { + onClickModify() + } + R.id.menu_review_delete -> { onClickDelete(cheersId) } diff --git a/app/src/main/java/kr/co/vividnext/sodalive/explorer/profile/fantalk/UserProfileFantalkAllViewActivity.kt b/app/src/main/java/kr/co/vividnext/sodalive/explorer/profile/fantalk/UserProfileFantalkAllViewActivity.kt index c95ea8a..0ba5214 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/explorer/profile/fantalk/UserProfileFantalkAllViewActivity.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/explorer/profile/fantalk/UserProfileFantalkAllViewActivity.kt @@ -80,13 +80,21 @@ class UserProfileFantalkAllViewActivity : BaseActivity + modifyReply = { cheersId, content -> + hideKeyboard { + viewModel.modifyCheers( + cheersId = cheersId, + creatorId = userId, + cheersContent = content + ) + } + }, + modifyCheers = { cheersId, content -> hideKeyboard { viewModel.modifyCheers( cheersId = cheersId, creatorId = userId, cheersContent = content, - isActive = isActive ) } }, diff --git a/app/src/main/res/layout/item_user_profile_cheers.xml b/app/src/main/res/layout/item_user_profile_cheers.xml index 9bcd8ca..3773140 100644 --- a/app/src/main/res/layout/item_user_profile_cheers.xml +++ b/app/src/main/res/layout/item_user_profile_cheers.xml @@ -52,18 +52,63 @@ app:layout_constraintEnd_toEndOf="parent" app:layout_constraintTop_toTopOf="@+id/iv_profile" /> - + app:layout_constraintTop_toBottomOf="@+id/tv_date"> + + + + + + + + + + + app:layout_constraintTop_toBottomOf="@+id/fl_content"> diff --git a/app/src/main/res/menu/review_option_menu3.xml b/app/src/main/res/menu/review_option_menu3.xml new file mode 100644 index 0000000..f4fa605 --- /dev/null +++ b/app/src/main/res/menu/review_option_menu3.xml @@ -0,0 +1,14 @@ + + + + + + +