From 96a3ef44f68faba5af3235b6400d5b1601124b47 Mon Sep 17 00:00:00 2001 From: klaus <klaus@vividnext.co.kr> Date: Thu, 17 Oct 2024 15:01:05 +0900 Subject: [PATCH] =?UTF-8?q?=EB=9D=BC=EC=9D=B4=EB=B8=8C=20=EB=B0=A9=20-=20?= =?UTF-8?q?=ED=95=98=ED=8A=B8=20=ED=9B=84=EC=9B=90=EC=8B=9C=20=EC=B1=84?= =?UTF-8?q?=ED=8C=85=EC=9C=BC=EB=A1=9C=20=EC=95=8C=EB=A6=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sodalive/live/room/LiveRoomActivity.kt | 8 +++++ .../sodalive/live/room/chat/LiveRoomChat.kt | 34 +++++++++++++++++++ .../drawable/bg_round_corner_4_7_ccff7488.xml | 8 +++++ app/src/main/res/values/colors.xml | 1 + 4 files changed, 51 insertions(+) create mode 100644 app/src/main/res/drawable/bg_round_corner_4_7_ccff7488.xml 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 1d56880..64c06da 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 @@ -74,6 +74,7 @@ import kr.co.vividnext.sodalive.live.room.chat.LiveRoomChatRawMessage import kr.co.vividnext.sodalive.live.room.chat.LiveRoomChatRawMessageType import kr.co.vividnext.sodalive.live.room.chat.LiveRoomDonationChat import kr.co.vividnext.sodalive.live.room.chat.LiveRoomDonationStatusChat +import kr.co.vividnext.sodalive.live.room.chat.LiveRoomHeartDonationChat import kr.co.vividnext.sodalive.live.room.chat.LiveRoomJoinChat import kr.co.vividnext.sodalive.live.room.chat.LiveRoomNormalChat import kr.co.vividnext.sodalive.live.room.chat.LiveRoomRouletteDonationChat @@ -1124,7 +1125,12 @@ class LiveRoomActivity : BaseActivity<ActivityLiveRoomBinding>(ActivityLiveRoomB agora.sendRawMessageToGroup( rawMessage = donationRawMessage.toByteArray(), onSuccess = { + val nickname = viewModel.getUserNickname( + SharedPreferenceManager.userId.toInt() + ) handler.post { + chatAdapter.items.add(LiveRoomHeartDonationChat(nickname)) + invalidateChat() addHeartAnimation() lifecycleScope.launch { viewModel.addHeartDonation() } } @@ -1745,6 +1751,8 @@ class LiveRoomActivity : BaseActivity<ActivityLiveRoomBinding>(ActivityLiveRoomB LiveRoomChatRawMessageType.HEART_DONATION -> { handler.post { + chatAdapter.items.add(LiveRoomHeartDonationChat(nickname)) + invalidateChat() addHeartAnimation() lifecycleScope.launch { viewModel.addHeartDonation() } } diff --git a/app/src/main/java/kr/co/vividnext/sodalive/live/room/chat/LiveRoomChat.kt b/app/src/main/java/kr/co/vividnext/sodalive/live/room/chat/LiveRoomChat.kt index 9f51087..27947e6 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/live/room/chat/LiveRoomChat.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/live/room/chat/LiveRoomChat.kt @@ -76,6 +76,7 @@ data class LiveRoomJoinChat( ) (binding as ItemLiveRoomJoinChatBinding).tvJoin.text = spStr + binding.root.setBackgroundResource(R.drawable.bg_round_corner_4_7_cc004462) } } @@ -399,3 +400,36 @@ data class LiveRoomRouletteDonationChat( itemBinding.root.setPadding(33) } } + +@Keep +data class LiveRoomHeartDonationChat( + val nickname: String +) : LiveRoomChat() { + override var type = LiveRoomChatType.JOIN + override fun bind(context: Context, binding: ViewBinding, onClickProfile: ((Long) -> Unit)?) { + val str = "'$nickname'님이 마음을 전했습니다\uD83D\uDC95" + val spStr = SpannableString(str) + + spStr.setSpan( + ForegroundColorSpan( + ContextCompat.getColor( + context, + R.color.color_ffdc00 + ) + ), + str.indexOf("'") + 1, + str.indexOf("'님"), + Spanned.SPAN_EXCLUSIVE_EXCLUSIVE + ) + + spStr.setSpan( + StyleSpan(Typeface.BOLD), + str.indexOf("'"), + str.indexOf("'님"), + Spanned.SPAN_EXCLUSIVE_EXCLUSIVE + ) + + (binding as ItemLiveRoomJoinChatBinding).tvJoin.text = spStr + binding.root.setBackgroundResource(R.drawable.bg_round_corner_4_7_ccff7488) + } +} diff --git a/app/src/main/res/drawable/bg_round_corner_4_7_ccff7488.xml b/app/src/main/res/drawable/bg_round_corner_4_7_ccff7488.xml new file mode 100644 index 0000000..8ad99a6 --- /dev/null +++ b/app/src/main/res/drawable/bg_round_corner_4_7_ccff7488.xml @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="utf-8"?> +<shape xmlns:android="http://schemas.android.com/apk/res/android"> + <solid android:color="@color/color_ccff7488" /> + <corners android:radius="4.7dp" /> + <stroke + android:width="1dp" + android:color="@color/color_ccff7488" /> +</shape> diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml index 7caa10c..166a016 100644 --- a/app/src/main/res/values/colors.xml +++ b/app/src/main/res/values/colors.xml @@ -125,4 +125,5 @@ <color name="color_ff14d9">#FF14D9</color> <color name="color_333bb9f1">#333BB9F1</color> <color name="color_672bff">#672BFF</color> + <color name="color_ccff7488">#CCFF7488</color> </resources>