From d7d43bc7be2931d78fd7c72243a30d5b9271812b Mon Sep 17 00:00:00 2001 From: klaus Date: Wed, 6 Mar 2024 17:02:37 +0900 Subject: [PATCH] =?UTF-8?q?=EB=9D=BC=EC=9D=B4=EB=B8=8C=20-=20=EB=A9=94?= =?UTF-8?q?=EB=89=B4=ED=8C=90=20UI=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sodalive/live/room/LiveRoomActivity.kt | 38 ++++++++- .../sodalive/live/room/LiveRoomViewModel.kt | 10 +++ .../live/room/info/GetRoomInfoResponse.kt | 1 + .../main/res/layout/activity_live_room.xml | 77 ++++++++++++++++++- 4 files changed, 121 insertions(+), 5 deletions(-) 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 e4af732..18b5561 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 @@ -26,7 +26,6 @@ import android.widget.Toast import androidx.activity.OnBackPressedCallback import androidx.activity.result.contract.ActivityResultContracts import androidx.appcompat.widget.PopupMenu -import androidx.constraintlayout.widget.ConstraintLayout import androidx.core.content.ContextCompat import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView @@ -454,6 +453,7 @@ class LiveRoomActivity : BaseActivity(ActivityLiveRoomB dialog.show(screenWidth) } binding.tvNotification.setOnClickListener { viewModel.toggleShowNotice() } + binding.tvMenuPan.setOnClickListener { viewModel.toggleShowMenuPan() } binding.tvBgSwitch.setOnClickListener { viewModel.toggleBackgroundImage() } binding.llDonation.setOnClickListener { @@ -807,6 +807,14 @@ class LiveRoomActivity : BaseActivity(ActivityLiveRoomB isActiveRoulette = response.isActiveRoulette ) + if (response.menuPan.isNotBlank()) { + binding.tvMenuPan.visibility = View.VISIBLE + binding.tvMenuPanDetail.text = response.menuPan + } else { + binding.tvMenuPan.visibility = View.GONE + binding.tvMenuPanDetail.text = "" + } + if (agora.rtmChannelIsNull()) { joinChannel(response) } @@ -840,6 +848,34 @@ class LiveRoomActivity : BaseActivity(ActivityLiveRoomB } } + viewModel.isShowMenuPan.observe(this) { + if (it) { + binding.tvMenuPan.setTextColor( + ContextCompat.getColor( + applicationContext, + R.color.color_3bb9f1 + ) + ) + binding.tvMenuPan.setBackgroundResource( + R.drawable.bg_round_corner_5_3_transparent_3bb9f1 + ) + + binding.llMenuPan.visibility = View.VISIBLE + } else { + binding.tvMenuPan.setTextColor( + ContextCompat.getColor( + applicationContext, + R.color.color_bbbbbb + ) + ) + binding.tvMenuPan.setBackgroundResource( + R.drawable.bg_round_corner_5_3_transparent_bbbbbb + ) + + binding.llMenuPan.visibility = View.GONE + } + } + viewModel.totalDonationCan.observe(this) { binding.tvTotalCan.text = it.moneyFormat() } diff --git a/app/src/main/java/kr/co/vividnext/sodalive/live/room/LiveRoomViewModel.kt b/app/src/main/java/kr/co/vividnext/sodalive/live/room/LiveRoomViewModel.kt index 09f0aa9..755fc26 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/live/room/LiveRoomViewModel.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/live/room/LiveRoomViewModel.kt @@ -54,6 +54,10 @@ class LiveRoomViewModel( val isShowNotice: LiveData get() = _isShowNotice + private val _isShowMenuPan = MutableLiveData(false) + val isShowMenuPan: LiveData + get() = _isShowMenuPan + private val _totalDonationCan = MutableLiveData(0) val totalDonationCan: LiveData get() = _totalDonationCan @@ -355,9 +359,15 @@ class LiveRoomViewModel( } fun toggleShowNotice() { + _isShowMenuPan.value = false _isShowNotice.value = !isShowNotice.value!! } + fun toggleShowMenuPan() { + _isShowNotice.value = false + _isShowMenuPan.value = !isShowMenuPan.value!! + } + fun toggleBackgroundImage() { _isBgOn.value = !isBgOn.value!! } diff --git a/app/src/main/java/kr/co/vividnext/sodalive/live/room/info/GetRoomInfoResponse.kt b/app/src/main/java/kr/co/vividnext/sodalive/live/room/info/GetRoomInfoResponse.kt index 8715d08..861ebd4 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/live/room/info/GetRoomInfoResponse.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/live/room/info/GetRoomInfoResponse.kt @@ -21,6 +21,7 @@ data class GetRoomInfoResponse( @SerializedName("listenerList") val listenerList: List, @SerializedName("managerList") val managerList: List, @SerializedName("donationRankingTop3UserIds") val donationRankingTop3UserIds: List, + @SerializedName("menuPan") val menuPan: String, @SerializedName("isActiveRoulette") val isActiveRoulette: Boolean, @SerializedName("isPrivateRoom") val isPrivateRoom: Boolean, @SerializedName("password") val password: String? = null diff --git a/app/src/main/res/layout/activity_live_room.xml b/app/src/main/res/layout/activity_live_room.xml index ef51403..dad3c8c 100644 --- a/app/src/main/res/layout/activity_live_room.xml +++ b/app/src/main/res/layout/activity_live_room.xml @@ -11,12 +11,12 @@ android:id="@+id/iv_cover" android:layout_width="0dp" android:layout_height="0dp" + android:layout_marginTop="16dp" android:contentDescription="@null" android:scaleType="fitCenter" - android:layout_marginTop="16dp" + app:layout_constraintBottom_toTopOf="@+id/rl_input_chat" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" - app:layout_constraintBottom_toTopOf="@+id/rl_input_chat" app:layout_constraintTop_toBottomOf="@id/ll_top" /> + + + + + + + + + + + + + + + + +