diff --git a/app/build.gradle b/app/build.gradle index ed29a5a..e4adfdc 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -138,7 +138,7 @@ dependencies { implementation "io.github.bootpay:android:4.3.4" // agora - implementation "io.agora.rtc:voice-sdk:4.1.0-1" + implementation "io.agora.rtc:voice-sdk:4.2.6" implementation 'io.agora.rtm:rtm-sdk:1.5.3' // sound visualizer 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 e9cdafa..aaedd4d 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 @@ -454,7 +454,6 @@ class LiveRoomActivity : BaseActivity(ActivityLiveRoomB dialog.show(screenWidth) } binding.tvNotification.setOnClickListener { viewModel.toggleShowNotice() } - binding.rlNotice.setOnClickListener { viewModel.toggleExpandNotice() } binding.tvBgSwitch.setOnClickListener { viewModel.toggleBackgroundImage() } binding.llDonation.setOnClickListener { @@ -821,17 +820,9 @@ class LiveRoomActivity : BaseActivity(ActivityLiveRoomB viewModel.isShowNotice.observe(this) { if (it) { - binding.rlNotice.visibility = View.VISIBLE + binding.llNotice.visibility = View.VISIBLE } else { - binding.rlNotice.visibility = View.GONE - } - } - - viewModel.isExpandNotice.observe(this) { - binding.tvNotice.maxLines = if (it) { - Int.MAX_VALUE - } else { - 1 + binding.llNotice.visibility = View.GONE } } @@ -1146,10 +1137,14 @@ class LiveRoomActivity : BaseActivity(ActivityLiveRoomB isMicrophoneMute = !isMicrophoneMute agora.muteLocalAudioStream(isMicrophoneMute) - if (isMicrophoneMute) { - speakerListAdapter.muteSpeakers.add(SharedPreferenceManager.userId.toInt()) + if (SharedPreferenceManager.userId == viewModel.roomInfoResponse.creatorId) { + setMuteSpeakerCreator(isMicrophoneMute) } else { - speakerListAdapter.muteSpeakers.remove(SharedPreferenceManager.userId.toInt()) + if (isMicrophoneMute) { + speakerListAdapter.muteSpeakers.add(SharedPreferenceManager.userId.toInt()) + } else { + speakerListAdapter.muteSpeakers.remove(SharedPreferenceManager.userId.toInt()) + } } } @@ -1459,6 +1454,14 @@ class LiveRoomActivity : BaseActivity(ActivityLiveRoomB } } + private fun setMuteSpeakerCreator(isMute: Boolean) { + binding.ivMute.visibility = if (isMute) { + View.VISIBLE + } else { + View.GONE + } + } + private val rtcEventHandler = object : IRtcEngineEventHandler() { @SuppressLint("NotifyDataSetChanged") override fun onAudioVolumeIndication( @@ -1512,12 +1515,16 @@ class LiveRoomActivity : BaseActivity(ActivityLiveRoomB override fun onUserMuteAudio(uid: Int, muted: Boolean) { super.onUserMuteAudio(uid, muted) handler.post { - if (muted) { - speakerListAdapter.muteSpeakers.add(uid) + if (uid == viewModel.roomInfoResponse.creatorId.toInt()) { + setMuteSpeakerCreator(muted) } else { - speakerListAdapter.muteSpeakers.remove(uid) + if (muted) { + speakerListAdapter.muteSpeakers.add(uid) + } else { + speakerListAdapter.muteSpeakers.remove(uid) + } + speakerListAdapter.notifyDataSetChanged() } - speakerListAdapter.notifyDataSetChanged() } Logger.e("onUserMuteAudio - uid: $uid, muted: $muted") } 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 9c41233..59e33c3 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 @@ -50,14 +50,10 @@ class LiveRoomViewModel( val toastLiveData: LiveData get() = _toastLiveData - private val _isShowNotice = MutableLiveData(true) + private val _isShowNotice = MutableLiveData(false) val isShowNotice: LiveData get() = _isShowNotice - private val _isExpandNotice = MutableLiveData(false) - val isExpandNotice: LiveData - get() = _isExpandNotice - private val _totalDonationCan = MutableLiveData(0) val totalDonationCan: LiveData get() = _totalDonationCan @@ -361,11 +357,6 @@ class LiveRoomViewModel( fun toggleShowNotice() { _isShowNotice.value = !isShowNotice.value!! - _isExpandNotice.value = false - } - - fun toggleExpandNotice() { - _isExpandNotice.value = !isExpandNotice.value!! } fun toggleBackgroundImage() { diff --git a/app/src/main/res/drawable-xxhdpi/ic_notice.png b/app/src/main/res/drawable-xxhdpi/ic_notice.png deleted file mode 100644 index 8b52c0b..0000000 Binary files a/app/src/main/res/drawable-xxhdpi/ic_notice.png and /dev/null differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_notice_triangle.png b/app/src/main/res/drawable-xxhdpi/ic_notice_triangle.png new file mode 100644 index 0000000..aaba260 Binary files /dev/null and b/app/src/main/res/drawable-xxhdpi/ic_notice_triangle.png differ diff --git a/app/src/main/res/drawable-xxhdpi/ic_speaker_on.png b/app/src/main/res/drawable-xxhdpi/ic_speaker_on.png index be48c2d..c3de9c6 100644 Binary files a/app/src/main/res/drawable-xxhdpi/ic_speaker_on.png and b/app/src/main/res/drawable-xxhdpi/ic_speaker_on.png differ diff --git a/app/src/main/res/layout/activity_live_room.xml b/app/src/main/res/layout/activity_live_room.xml index 4236f8e..03e3111 100644 --- a/app/src/main/res/layout/activity_live_room.xml +++ b/app/src/main/res/layout/activity_live_room.xml @@ -9,13 +9,13 @@ + app:layout_constraintStart_toStartOf="parent" + app:layout_constraintTop_toBottomOf="@id/ll_top" /> + + + + + + + + + + + + + + + + + - - - + android:layout_height="36.7dp"> + + + + + + + + android:textSize="10.7sp" + tools:ignore="SmallSp" /> @@ -290,7 +366,7 @@ android:fontFamily="@font/gmarket_sans_medium" android:text="참여자" android:textColor="@color/color_bbbbbb" - android:textSize="10.7sp" + android:textSize="12sp" tools:ignore="SmallSp" /> - - - - - - - - - - + android:padding="8dp"> + android:padding="8dp">