라이브 방 생성

- 크리에이터 입장 가능 설정 추가
This commit is contained in:
klaus 2024-05-14 17:06:12 +09:00
parent d6e9b929e9
commit 4b3474ff42
5 changed files with 138 additions and 4 deletions

View File

@ -40,8 +40,8 @@ android {
applicationId "kr.co.vividnext.sodalive"
minSdk 23
targetSdk 33
versionCode 69
versionName "1.11.0"
versionCode 71
versionName "1.11.1"
}
buildTypes {

View File

@ -17,5 +17,6 @@ data class CreateLiveRoomRequest(
@SerializedName("password") val password: String? = null,
@SerializedName("menuPanId") val menuPanId: Long = 0,
@SerializedName("menuPan") val menuPan: String = "",
@SerializedName("isActiveMenuPan") val isActiveMenuPan: Boolean = false
@SerializedName("isActiveMenuPan") val isActiveMenuPan: Boolean = false,
@SerializedName("isAvailableJoinCreator") val isAvailableJoinCreator: Boolean = true
)

View File

@ -322,6 +322,14 @@ class LiveRoomCreateActivity : BaseActivity<ActivityLiveRoomCreateBinding>(
binding.llSelectMenu3.setOnClickListener {
viewModel.selectMenuPreset(LiveRoomCreateViewModel.SelectedMenu.MENU_3)
}
binding.llAvailableJoinCreatorY.setOnClickListener {
viewModel.setAvailableJoinCreator(true)
}
binding.llAvailableJoinCreatorN.setOnClickListener {
viewModel.setAvailableJoinCreator(false)
}
}
@SuppressLint("SetTextI18n")
@ -647,6 +655,46 @@ class LiveRoomCreateActivity : BaseActivity<ActivityLiveRoomCreateBinding>(
viewModel.menuLiveData.observe(this) {
binding.etMenu.setText(it)
}
viewModel.isAvailableJoinCreatorLiveData.observe(this) {
if (it) {
binding.ivAvailableJoinCreatorN.visibility = View.GONE
binding.llAvailableJoinCreatorN.setBackgroundResource(R.drawable.bg_round_corner_6_7_13181b)
binding.tvAvailableJoinCreatorN.setTextColor(
ContextCompat.getColor(
applicationContext,
R.color.color_3bb9f1
)
)
binding.ivAvailableJoinCreatorY.visibility = View.VISIBLE
binding.llAvailableJoinCreatorY.setBackgroundResource(R.drawable.bg_round_corner_6_7_3bb9f1)
binding.tvAvailableJoinCreatorY.setTextColor(
ContextCompat.getColor(
applicationContext,
R.color.color_eeeeee
)
)
} else {
binding.ivAvailableJoinCreatorY.visibility = View.GONE
binding.llAvailableJoinCreatorY.setBackgroundResource(R.drawable.bg_round_corner_6_7_13181b)
binding.tvAvailableJoinCreatorY.setTextColor(
ContextCompat.getColor(
applicationContext,
R.color.color_3bb9f1
)
)
binding.ivAvailableJoinCreatorN.visibility = View.VISIBLE
binding.llAvailableJoinCreatorN.setBackgroundResource(R.drawable.bg_round_corner_6_7_3bb9f1)
binding.tvAvailableJoinCreatorN.setTextColor(
ContextCompat.getColor(
applicationContext,
R.color.color_eeeeee
)
)
}
}
}
}

View File

@ -71,6 +71,10 @@ class LiveRoomCreateViewModel(
val isActivateMenuLiveData: LiveData<Boolean>
get() = _isActivateMenuLiveData
private val _isAvailableJoinCreatorLiveData = MutableLiveData(true)
val isAvailableJoinCreatorLiveData: LiveData<Boolean>
get() = _isAvailableJoinCreatorLiveData
private val _menuLiveData = MutableLiveData("")
val menuLiveData: LiveData<String>
get() = _menuLiveData
@ -147,7 +151,8 @@ class LiveRoomCreateViewModel(
} else {
""
},
isActiveMenuPan = _isActivateMenuLiveData.value!!
isActiveMenuPan = _isActivateMenuLiveData.value!!,
isAvailableJoinCreator = _isAvailableJoinCreatorLiveData.value!!
)
val requestJson = Gson().toJson(request)
@ -255,6 +260,10 @@ class LiveRoomCreateViewModel(
_isAdultLiveData.value = isAdult
}
fun setAvailableJoinCreator(isAvailableJoinCreator: Boolean) {
_isAvailableJoinCreatorLiveData.value = isAvailableJoinCreator
}
fun getRecentInfo(onSuccess: (GetRecentRoomInfoResponse) -> Unit) {
_isLoading.value = true
compositeDisposable.add(

View File

@ -685,6 +685,82 @@
tools:ignore="LabelFor,TextFields" />
</LinearLayout>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="13.3dp"
android:layout_marginTop="33.3dp"
android:fontFamily="@font/gmarket_sans_bold"
android:lineSpacingExtra="5sp"
android:text="크리에이터 입장 설정"
android:textColor="@color/color_eeeeee"
android:textSize="16.7sp" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginHorizontal="13.3dp"
android:layout_marginTop="13.3dp"
android:baselineAligned="false">
<LinearLayout
android:id="@+id/ll_available_join_creator_y"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="@drawable/bg_round_corner_6_7_13181b"
android:gravity="center"
android:paddingVertical="14.3dp">
<ImageView
android:id="@+id/iv_available_join_creator_y"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="6.7dp"
android:contentDescription="@null"
android:src="@drawable/ic_select_check"
android:visibility="gone" />
<TextView
android:id="@+id/tv_available_join_creator_y"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/gmarket_sans_bold"
android:text="가능"
android:textColor="@color/color_3bb9f1"
android:textSize="14.7sp" />
</LinearLayout>
<LinearLayout
android:id="@+id/ll_available_join_creator_n"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="13.3dp"
android:layout_weight="1"
android:background="@drawable/bg_round_corner_6_7_13181b"
android:gravity="center"
android:paddingVertical="14.3dp">
<ImageView
android:id="@+id/iv_available_join_creator_n"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginEnd="6.7dp"
android:contentDescription="@null"
android:src="@drawable/ic_select_check"
android:visibility="gone" />
<TextView
android:id="@+id/tv_available_join_creator_n"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/gmarket_sans_bold"
android:text="불가능"
android:textColor="@color/color_3bb9f1"
android:textSize="14.7sp" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:id="@+id/ll_set_adult"
android:layout_width="match_parent"