라이브 방

- 하트 후원 안내 팝업 추가
This commit is contained in:
klaus 2024-10-16 18:39:41 +09:00
parent ad0c18dceb
commit 3a33153361
1 changed files with 43 additions and 30 deletions

View File

@ -151,6 +151,7 @@ class LiveRoomActivity : BaseActivity<ActivityLiveRoomBinding>(ActivityLiveRoomB
} }
private var isShowSignatureImage = false private var isShowSignatureImage = false
private var isAvailableLikeHeart = false
private val countDownTimer = object : CountDownTimer(remainingNoChattingTime * 1000, 1000) { private val countDownTimer = object : CountDownTimer(remainingNoChattingTime * 1000, 1000) {
override fun onTick(millisUntilFinished: Long) { override fun onTick(millisUntilFinished: Long) {
@ -1104,40 +1105,52 @@ class LiveRoomActivity : BaseActivity<ActivityLiveRoomBinding>(ActivityLiveRoomB
if (!isHost) { if (!isHost) {
binding.flLikeHeart.visibility = View.VISIBLE binding.flLikeHeart.visibility = View.VISIBLE
binding.flLikeHeart.setOnClickListener { binding.flLikeHeart.setOnClickListener {
binding.flLikeHeart.isEnabled = false if (isAvailableLikeHeart) {
viewModel.likeHeart( binding.flLikeHeart.isEnabled = false
roomId = roomId, viewModel.likeHeart(
onSuccess = { roomId = roomId,
val donationRawMessage = Gson().toJson( onSuccess = {
LiveRoomChatRawMessage( val donationRawMessage = Gson().toJson(
type = LiveRoomChatRawMessageType.HEART_DONATION, LiveRoomChatRawMessage(
message = "", type = LiveRoomChatRawMessageType.HEART_DONATION,
can = 1, message = "",
signature = null, can = 1,
signatureImageUrl = null, signature = null,
donationMessage = null signatureImageUrl = null,
donationMessage = null
)
) )
)
agora.sendRawMessageToGroup( agora.sendRawMessageToGroup(
rawMessage = donationRawMessage.toByteArray(), rawMessage = donationRawMessage.toByteArray(),
onSuccess = { onSuccess = {
handler.post { handler.post {
addHeartAnimation() addHeartAnimation()
lifecycleScope.launch { viewModel.addHeartDonation() } lifecycleScope.launch { viewModel.addHeartDonation() }
}
},
onFailure = {
viewModel.refundDonation(roomId)
} }
}, )
onFailure = {
viewModel.refundDonation(roomId)
}
)
binding.flLikeHeart.isEnabled = true binding.flLikeHeart.isEnabled = true
}, },
onFailure = { onFailure = {
binding.flLikeHeart.isEnabled = true binding.flLikeHeart.isEnabled = true
} }
) )
} else {
SodaDialog(
activity = this@LiveRoomActivity,
layoutInflater = layoutInflater,
title = "안내",
desc = "'좋아해요'는 유료 후원입니다.\n" +
"클릭시 1캔이 소진됩니다.",
confirmButtonTitle = "확인",
confirmButtonClick = { isAvailableLikeHeart = true }
).show(screenWidth)
}
} }
} else { } else {
binding.flLikeHeart.visibility = View.GONE binding.flLikeHeart.visibility = View.GONE