parent
3a33153361
commit
96a3ef44f6
|
@ -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() }
|
||||
}
|
||||
|
|
|
@ -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)
|
||||
}
|
||||
}
|
||||
|
|
|
@ -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>
|
|
@ -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>
|
||||
|
|
Loading…
Reference in New Issue