라이브 입장 메시지 on/off 스위치 추가
- 라이브 정보 수정 가장 아래에 입장 메시지 on/off 스위치 추가
This commit is contained in:
		| @@ -175,6 +175,7 @@ class LiveRoomActivity : BaseActivity<ActivityLiveRoomBinding>(ActivityLiveRoomB | |||||||
|     private var isShowSignatureImage = false |     private var isShowSignatureImage = false | ||||||
|     private var isAvailableLikeHeart = false |     private var isAvailableLikeHeart = false | ||||||
|     private var buttonPosition = IntArray(2) |     private var buttonPosition = IntArray(2) | ||||||
|  |     private var isEntryMessageEnabled = true | ||||||
|  |  | ||||||
|     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) { | ||||||
| @@ -865,7 +866,8 @@ class LiveRoomActivity : BaseActivity<ActivityLiveRoomBinding>(ActivityLiveRoomB | |||||||
|             if (it && !SharedPreferenceManager.isAuth) { |             if (it && !SharedPreferenceManager.isAuth) { | ||||||
|                 agora.muteAllRemoteAudioStreams(true) |                 agora.muteAllRemoteAudioStreams(true) | ||||||
|                 binding.rvChat.visibility = View.INVISIBLE |                 binding.rvChat.visibility = View.INVISIBLE | ||||||
|                 SodaDialog(this@LiveRoomActivity, |                 SodaDialog( | ||||||
|  |                     this@LiveRoomActivity, | ||||||
|                     layoutInflater, |                     layoutInflater, | ||||||
|                     "알림", |                     "알림", | ||||||
|                     "지금 참여하던 라이브는 '19세 이상' 연령제한이 설정되어 정보통신망 이용촉진 및 정보 보호 등에 관한 법률 및 청소년 보호법의 규정에 의해 만 19세 미만의 청소년은 이용할 수 없습니다.\n마이페이지에서 본인인증 후 다시 이용하시기 바랍니다.", |                     "지금 참여하던 라이브는 '19세 이상' 연령제한이 설정되어 정보통신망 이용촉진 및 정보 보호 등에 관한 법률 및 청소년 보호법의 규정에 의해 만 19세 미만의 청소년은 이용할 수 없습니다.\n마이페이지에서 본인인증 후 다시 이용하시기 바랍니다.", | ||||||
| @@ -949,11 +951,16 @@ class LiveRoomActivity : BaseActivity<ActivityLiveRoomBinding>(ActivityLiveRoomB | |||||||
|                         roomInfoEditDialog.setRoomInfo( |                         roomInfoEditDialog.setRoomInfo( | ||||||
|                             response.title, |                             response.title, | ||||||
|                             response.notice, |                             response.notice, | ||||||
|                             response.isAdult |                             response.isAdult, | ||||||
|  |                             isEntryMessageEnabled | ||||||
|                         ) |                         ) | ||||||
|                         roomInfoEditDialog.setCoverImageUrl(response.coverImageUrl) |                         roomInfoEditDialog.setCoverImageUrl(response.coverImageUrl) | ||||||
|                         roomInfoEditDialog.setMenuPreset(it) |                         roomInfoEditDialog.setMenuPreset(it) | ||||||
|                         roomInfoEditDialog.setConfirmAction { newTitle, newContent, newCoverImageUri, isActivateMenu, menuId, menu, isAdult -> |                         roomInfoEditDialog.setConfirmAction { newTitle, newContent, newCoverImageUri, isActivateMenu, menuId, menu, isAdult, isEntryMessageEnabled -> | ||||||
|  |                             if (isEntryMessageEnabled != null) { | ||||||
|  |                                 this.isEntryMessageEnabled = isEntryMessageEnabled | ||||||
|  |                             } | ||||||
|  |  | ||||||
|                             viewModel.editLiveRoomInfo( |                             viewModel.editLiveRoomInfo( | ||||||
|                                 response.roomId, |                                 response.roomId, | ||||||
|                                 newTitle, |                                 newTitle, | ||||||
| @@ -1843,7 +1850,7 @@ class LiveRoomActivity : BaseActivity<ActivityLiveRoomBinding>(ActivityLiveRoomB | |||||||
|                 override fun onMemberJoined(member: RtmChannelMember) { |                 override fun onMemberJoined(member: RtmChannelMember) { | ||||||
|                     Logger.e("onMemberJoined: ${member.userId}") |                     Logger.e("onMemberJoined: ${member.userId}") | ||||||
|                     viewModel.getRoomInfo(roomId, member.userId.toInt()) { |                     viewModel.getRoomInfo(roomId, member.userId.toInt()) { | ||||||
|                         if (it.isNotBlank()) { |                         if (it.isNotBlank() && isEntryMessageEnabled) { | ||||||
|                             chatAdapter.items.add(LiveRoomJoinChat(it)) |                             chatAdapter.items.add(LiveRoomJoinChat(it)) | ||||||
|                             invalidateChat() |                             invalidateChat() | ||||||
|                         } |                         } | ||||||
|   | |||||||
| @@ -452,6 +452,15 @@ class LiveRoomViewModel( | |||||||
|             isAdult = isAdult |             isAdult = isAdult | ||||||
|         ) |         ) | ||||||
|  |  | ||||||
|  |         if ( | ||||||
|  |             request.title == null && | ||||||
|  |             request.notice == null && | ||||||
|  |             menu == roomInfoResponse.menuPan && | ||||||
|  |             request.isAdult == null | ||||||
|  |         ) { | ||||||
|  |             return | ||||||
|  |         } | ||||||
|  |  | ||||||
|         val requestJson = if ( |         val requestJson = if ( | ||||||
|             request.title != null || |             request.title != null || | ||||||
|             request.notice != null || |             request.notice != null || | ||||||
|   | |||||||
| @@ -42,11 +42,13 @@ class LiveRoomInfoEditDialog( | |||||||
|  |  | ||||||
|     private val isAdultLiveData = MutableLiveData(false) |     private val isAdultLiveData = MutableLiveData(false) | ||||||
|     private val isActivateMenuLiveData = MutableLiveData(false) |     private val isActivateMenuLiveData = MutableLiveData(false) | ||||||
|  |     private val isEntryMessageEnabledLiveData = MutableLiveData(true) | ||||||
|     private val selectedMenuLiveData = MutableLiveData<LiveRoomCreateViewModel.SelectedMenu>() |     private val selectedMenuLiveData = MutableLiveData<LiveRoomCreateViewModel.SelectedMenu>() | ||||||
|  |  | ||||||
|     private var menu: String = "" |     private var menu: String = "" | ||||||
|     private var isAdult: Boolean = false |     private var isAdult: Boolean = false | ||||||
|     private var isActivateMenu: Boolean? = null |     private var isActivateMenu: Boolean? = null | ||||||
|  |     private var isEntryMessageEnabled: Boolean = false | ||||||
|  |  | ||||||
|     private lateinit var selectedMenu: LiveRoomCreateViewModel.SelectedMenu |     private lateinit var selectedMenu: LiveRoomCreateViewModel.SelectedMenu | ||||||
|  |  | ||||||
| @@ -108,6 +110,10 @@ class LiveRoomInfoEditDialog( | |||||||
|             dialogView.llAdult.visibility = View.GONE |             dialogView.llAdult.visibility = View.GONE | ||||||
|         } |         } | ||||||
|  |  | ||||||
|  |         dialogView.ivEntryMessageSwitch.setOnClickListener { | ||||||
|  |             isEntryMessageEnabledLiveData.value = !isEntryMessageEnabledLiveData.value!! | ||||||
|  |         } | ||||||
|  |  | ||||||
|         selectedMenuLiveData.observe(activity) { |         selectedMenuLiveData.observe(activity) { | ||||||
|             deselectAllMenuPreset() |             deselectAllMenuPreset() | ||||||
|  |  | ||||||
| @@ -151,18 +157,32 @@ class LiveRoomInfoEditDialog( | |||||||
|                 } |                 } | ||||||
|             ) |             ) | ||||||
|         } |         } | ||||||
|  |  | ||||||
|  |         isEntryMessageEnabledLiveData.observe(activity) { | ||||||
|  |             dialogView.ivEntryMessageSwitch.setImageResource( | ||||||
|  |                 if (it) { | ||||||
|  |                     R.drawable.btn_toggle_on_big | ||||||
|  |                 } else { | ||||||
|  |                     R.drawable.btn_toggle_off_big | ||||||
|  |                 } | ||||||
|  |             ) | ||||||
|  |         } | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     fun setRoomInfo( |     fun setRoomInfo( | ||||||
|         currentTitle: String, |         currentTitle: String, | ||||||
|         currentContent: String, |         currentContent: String, | ||||||
|         isAdult: Boolean |         isAdult: Boolean, | ||||||
|  |         isEntryMessageEnabled: Boolean | ||||||
|     ) { |     ) { | ||||||
|         dialogView.etTitle.setText(currentTitle) |         dialogView.etTitle.setText(currentTitle) | ||||||
|         dialogView.etNotice.setText(currentContent) |         dialogView.etNotice.setText(currentContent) | ||||||
|  |  | ||||||
|         this.isAdult = isAdult |         this.isAdult = isAdult | ||||||
|         isAdultLiveData.value = isAdult |         isAdultLiveData.value = isAdult | ||||||
|  |  | ||||||
|  |         this.isEntryMessageEnabled = isEntryMessageEnabled | ||||||
|  |         isEntryMessageEnabledLiveData.value = isEntryMessageEnabled | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     fun setCoverImageUri(coverImageUri: Uri) { |     fun setCoverImageUri(coverImageUri: Uri) { | ||||||
| @@ -202,7 +222,9 @@ class LiveRoomInfoEditDialog( | |||||||
|         } |         } | ||||||
|     } |     } | ||||||
|  |  | ||||||
|     fun setConfirmAction(confirmAction: (String, String, Uri?, Boolean?, Long, String, Boolean?) -> Unit) { |     fun setConfirmAction( | ||||||
|  |         confirmAction: (String, String, Uri?, Boolean?, Long, String, Boolean?, Boolean?) -> Unit | ||||||
|  |     ) { | ||||||
|         dialogView.tvConfirm.setOnClickListener { |         dialogView.tvConfirm.setOnClickListener { | ||||||
|             alertDialog.dismiss() |             alertDialog.dismiss() | ||||||
|  |  | ||||||
| @@ -233,6 +255,11 @@ class LiveRoomInfoEditDialog( | |||||||
|                     isAdultLiveData.value!! |                     isAdultLiveData.value!! | ||||||
|                 } else { |                 } else { | ||||||
|                     null |                     null | ||||||
|  |                 }, | ||||||
|  |                 if (isEntryMessageEnabled != isEntryMessageEnabledLiveData.value!!) { | ||||||
|  |                     isEntryMessageEnabledLiveData.value!! | ||||||
|  |                 } else { | ||||||
|  |                     null | ||||||
|                 } |                 } | ||||||
|             ) |             ) | ||||||
|             coverImageUri = null |             coverImageUri = null | ||||||
|   | |||||||
| @@ -343,6 +343,32 @@ | |||||||
|                 </LinearLayout> |                 </LinearLayout> | ||||||
|             </LinearLayout> |             </LinearLayout> | ||||||
|  |  | ||||||
|  |             <RelativeLayout | ||||||
|  |                 android:layout_width="match_parent" | ||||||
|  |                 android:layout_height="wrap_content" | ||||||
|  |                 android:layout_marginHorizontal="13.3dp" | ||||||
|  |                 android:layout_marginTop="33.3dp"> | ||||||
|  |  | ||||||
|  |                 <TextView | ||||||
|  |                     android:layout_width="wrap_content" | ||||||
|  |                     android:layout_height="wrap_content" | ||||||
|  |                     android:layout_centerVertical="true" | ||||||
|  |                     android:fontFamily="@font/gmarket_sans_bold" | ||||||
|  |                     android:lineSpacingExtra="5sp" | ||||||
|  |                     android:text="입장 메시지" | ||||||
|  |                     android:textColor="@color/color_eeeeee" | ||||||
|  |                     android:textSize="16.7sp" /> | ||||||
|  |  | ||||||
|  |                 <ImageView | ||||||
|  |                     android:id="@+id/iv_entry_message_switch" | ||||||
|  |                     android:layout_width="33.3dp" | ||||||
|  |                     android:layout_height="20dp" | ||||||
|  |                     android:layout_alignParentEnd="true" | ||||||
|  |                     android:layout_centerVertical="true" | ||||||
|  |                     android:contentDescription="@null" | ||||||
|  |                     android:src="@drawable/btn_toggle_on_big" /> | ||||||
|  |             </RelativeLayout> | ||||||
|  |  | ||||||
|             <LinearLayout |             <LinearLayout | ||||||
|                 android:layout_width="match_parent" |                 android:layout_width="match_parent" | ||||||
|                 android:layout_height="wrap_content" |                 android:layout_height="wrap_content" | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user