From 62abd3c90096b52c8ad7d043d8ce9ff96c95cf07 Mon Sep 17 00:00:00 2001 From: klaus Date: Wed, 14 Aug 2024 18:33:51 +0900 Subject: [PATCH] =?UTF-8?q?=EB=9D=BC=EC=9D=B4=EB=B8=8C=20-=20=ED=9B=84?= =?UTF-8?q?=EC=9B=90=20=EB=A9=94=EC=8B=9C=EC=A7=80,=20=EB=A3=B0=EB=A0=9B?= =?UTF-8?q?=20=EA=B2=B0=EA=B3=BC=20=EB=AA=A8=EB=93=A0=20=EC=9C=A0=EC=A0=80?= =?UTF-8?q?=EC=97=90=EA=B2=8C=20=EB=B3=B4=EC=9D=B4=EB=8F=84=EB=A1=9D=20?= =?UTF-8?q?=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/build.gradle | 4 +- .../sodalive/live/room/LiveRoomActivity.kt | 51 +++++++++---------- .../LiveRoomDonationMessageAdapter.kt | 14 ++++- .../donation/LiveRoomDonationMessageDialog.kt | 2 + .../main/res/layout/activity_live_room.xml | 4 +- .../item_live_room_donation_message.xml | 1 + 6 files changed, 44 insertions(+), 32 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 339994b..f66268c 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -40,8 +40,8 @@ android { applicationId "kr.co.vividnext.sodalive" minSdk 23 targetSdk 33 - versionCode 96 - versionName "1.15.1" + versionCode 97 + versionName "1.15.2" } buildTypes { diff --git a/app/src/main/java/kr/co/vividnext/sodalive/live/room/LiveRoomActivity.kt b/app/src/main/java/kr/co/vividnext/sodalive/live/room/LiveRoomActivity.kt index 13ed160..306a894 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/live/room/LiveRoomActivity.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/live/room/LiveRoomActivity.kt @@ -703,37 +703,35 @@ class LiveRoomActivity : BaseActivity(ActivityLiveRoomB View.GONE } - if ( - response.creatorId == SharedPreferenceManager.userId && - SharedPreferenceManager.role == MemberRole.CREATOR.name - ) { - binding.flDonationMessageList.visibility = View.VISIBLE - binding.flDonationMessageList.setOnClickListener { - LiveRoomDonationMessageDialog( - layoutInflater = LayoutInflater.from(this), - activity = this, - donationMessageListLiveData = donationMessageViewModel - .donationMessageListLiveData, - donationMessageCountLiveData = donationMessageViewModel - .donationMessageCountLiveData, - getDonationMessageList = { - donationMessageViewModel.getDonationMessageList(roomId = roomId) - }, - deleteDonationMessage = { + binding.flDonationMessageList.setOnClickListener { + LiveRoomDonationMessageDialog( + layoutInflater = LayoutInflater.from(this), + creatorId = response.creatorId, + activity = this, + donationMessageListLiveData = donationMessageViewModel + .donationMessageListLiveData, + donationMessageCountLiveData = donationMessageViewModel + .donationMessageCountLiveData, + getDonationMessageList = { + donationMessageViewModel.getDonationMessageList(roomId = roomId) + }, + deleteDonationMessage = { + if ( + response.creatorId == SharedPreferenceManager.userId && + SharedPreferenceManager.role == MemberRole.CREATOR.name + ) { donationMessageViewModel.deleteDonationMessage( roomId = roomId, uuid = it ) - }, - copyMessage = { - val clipboard = getSystemService(CLIPBOARD_SERVICE) as ClipboardManager - clipboard.setPrimaryClip(ClipData.newPlainText(it, it)) - showToast("후원 히스토리가 복사되었습니다.") } - ).show() - } - } else { - binding.flDonationMessageList.visibility = View.GONE + }, + copyMessage = { + val clipboard = getSystemService(CLIPBOARD_SERVICE) as ClipboardManager + clipboard.setPrimaryClip(ClipData.newPlainText(it, it)) + showToast("후원 히스토리가 복사되었습니다.") + } + ).show() } speakerListAdapter.managerId = response.creatorId @@ -1258,6 +1256,7 @@ class LiveRoomActivity : BaseActivity(ActivityLiveRoomB agora.muteAllRemoteAudioStreams(isSpeakerMute) } + @SuppressLint("SetTextI18n") private fun inputChat() { val nickname = viewModel.getUserNickname(SharedPreferenceManager.userId.toInt()) val profileUrl = viewModel.getUserProfileUrl(SharedPreferenceManager.userId.toInt()) diff --git a/app/src/main/java/kr/co/vividnext/sodalive/live/room/donation/LiveRoomDonationMessageAdapter.kt b/app/src/main/java/kr/co/vividnext/sodalive/live/room/donation/LiveRoomDonationMessageAdapter.kt index fe66fc6..def478a 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/live/room/donation/LiveRoomDonationMessageAdapter.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/live/room/donation/LiveRoomDonationMessageAdapter.kt @@ -7,9 +7,12 @@ import android.view.ViewGroup import androidx.recyclerview.widget.DiffUtil import androidx.recyclerview.widget.RecyclerView import kr.co.vividnext.sodalive.R +import kr.co.vividnext.sodalive.common.SharedPreferenceManager import kr.co.vividnext.sodalive.databinding.ItemLiveRoomDonationMessageBinding +import kr.co.vividnext.sodalive.settings.notification.MemberRole class LiveRoomDonationMessageAdapter( + private val creatorId: Long, private val onClickDeleteMessage: (String) -> Unit, private val copyMessage: (String) -> Unit ) : RecyclerView.Adapter() { @@ -33,7 +36,16 @@ class LiveRoomDonationMessageAdapter( binding.root.setBackgroundResource(R.drawable.bg_round_corner_5_3_ccc25264) } binding.tvDonationMessage.text = "\"${item.donationMessage}\"" - binding.ivDelete.setOnClickListener { onClickDeleteMessage(item.uuid) } + + if ( + creatorId == SharedPreferenceManager.userId && + SharedPreferenceManager.role == MemberRole.CREATOR.name + ) { + binding.ivDelete.visibility = View.VISIBLE + binding.ivDelete.setOnClickListener { onClickDeleteMessage(item.uuid) } + } else { + binding.ivDelete.visibility = View.GONE + } binding.root.setOnClickListener { copyMessage(item.donationMessage) } } diff --git a/app/src/main/java/kr/co/vividnext/sodalive/live/room/donation/LiveRoomDonationMessageDialog.kt b/app/src/main/java/kr/co/vividnext/sodalive/live/room/donation/LiveRoomDonationMessageDialog.kt index 3041a7f..0959d36 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/live/room/donation/LiveRoomDonationMessageDialog.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/live/room/donation/LiveRoomDonationMessageDialog.kt @@ -19,6 +19,7 @@ import kr.co.vividnext.sodalive.extensions.moneyFormat class LiveRoomDonationMessageDialog( layoutInflater: LayoutInflater, + creatorId: Long, private val activity: FragmentActivity, private val donationMessageListLiveData: LiveData>, private val donationMessageCountLiveData: LiveData, @@ -29,6 +30,7 @@ class LiveRoomDonationMessageDialog( private val alertDialog: AlertDialog private val dialogView = DialogLiveRoomDonationMessageBinding.inflate(layoutInflater) private val adapter = LiveRoomDonationMessageAdapter( + creatorId = creatorId, onClickDeleteMessage = { deleteDonationMessage(it) }, copyMessage = copyMessage ) diff --git a/app/src/main/res/layout/activity_live_room.xml b/app/src/main/res/layout/activity_live_room.xml index 209ebf2..7493040 100644 --- a/app/src/main/res/layout/activity_live_room.xml +++ b/app/src/main/res/layout/activity_live_room.xml @@ -526,7 +526,6 @@ android:id="@+id/fl_speaker_mute" android:layout_width="wrap_content" android:layout_height="wrap_content" - android:layout_alignParentTop="true" android:layout_marginBottom="40dp" android:background="@drawable/bg_round_corner_10_99525252" android:padding="10dp"> @@ -614,8 +613,7 @@ android:layout_height="wrap_content" android:layout_marginBottom="13.3dp" android:background="@drawable/bg_round_corner_10_99525252" - android:padding="10dp" - android:visibility="gone"> + android:padding="10dp">