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 b0b5acb..6f77d36 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 @@ -114,6 +114,18 @@ class LiveRoomActivity : BaseActivity(ActivityLiveRoomB private var isNoChatting = false private var remainingNoChattingTime = noChattingTime + private val signatureImageUrlList = mutableListOf() + private var signatureImageUrl = "" + set(value) { + field = value + + if (field.isNotBlank()) { + showSignatureImage() + } + } + + private var isShowSignatureImage = false + private val countDownTimer = object : CountDownTimer(remainingNoChattingTime * 1000, 1000) { override fun onTick(millisUntilFinished: Long) { remainingNoChattingTime -= 1 @@ -1286,7 +1298,7 @@ class LiveRoomActivity : BaseActivity(ActivityLiveRoomB ) invalidateChat() viewModel.addDonationCan(can) - showSignatureImage(signatureImage) + addSignatureImage(signatureImage) } }, onFailure = { @@ -1393,8 +1405,8 @@ class LiveRoomActivity : BaseActivity(ActivityLiveRoomB ) invalidateChat() viewModel.addDonationCan(rawMessage.can) - showSignatureImage( - signatureImageUrl = rawMessage.signatureImageUrl ?: "" + addSignatureImage( + imageUrl = rawMessage.signatureImageUrl ?: "" ) } } @@ -1725,7 +1737,18 @@ class LiveRoomActivity : BaseActivity(ActivityLiveRoomB } } - private fun showSignatureImage(signatureImageUrl: String) { + private fun addSignatureImage(imageUrl: String) { + if (imageUrl.isNotBlank()) { + if (!isShowSignatureImage) { + isShowSignatureImage = true + signatureImageUrl = imageUrl + } else { + signatureImageUrlList.add(imageUrl) + } + } + } + + private fun showSignatureImage() { if (signatureImageUrl.isNotBlank()) { Glide .with(this) @@ -1735,8 +1758,14 @@ class LiveRoomActivity : BaseActivity(ActivityLiveRoomB binding.ivSignature.visibility = View.VISIBLE handler.postDelayed({ - binding.ivSignature.setImageDrawable(null) - binding.ivSignature.visibility = View.GONE + if (signatureImageUrlList.isNotEmpty()) { + signatureImageUrl = signatureImageUrlList.removeAt(0) + } else { + signatureImageUrl = "" + isShowSignatureImage = false + binding.ivSignature.setImageDrawable(null) + binding.ivSignature.visibility = View.GONE + } }, 3500) } }