라이브 방

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