From 5d42e2b16e14b7b4b2b40bda6a0994a7bffed240 Mon Sep 17 00:00:00 2001 From: klaus Date: Thu, 23 May 2024 00:05:35 +0900 Subject: [PATCH] =?UTF-8?q?=EC=BB=A4=EB=AE=A4=EB=8B=88=ED=8B=B0=20?= =?UTF-8?q?=EA=B2=8C=EC=8B=9C=EA=B8=80=20=EB=93=B1=EB=A1=9D=20-=20?= =?UTF-8?q?=EC=9C=A0=EB=A3=8C=20=EA=B2=8C=EC=8B=9C=EA=B8=80=20=EB=93=B1?= =?UTF-8?q?=EB=A1=9D=EC=9D=84=20=EC=9C=84=ED=95=B4=20=EA=B0=80=EA=B2=A9=20?= =?UTF-8?q?=EC=84=A4=EC=A0=95=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../write/CreateCommunityPostRequest.kt | 1 + .../write/CreatorCommunityWriteActivity.kt | 78 +++++++++++ .../write/CreatorCommunityWriteViewModel.kt | 25 +++- .../activity_creator_community_write.xml | 123 ++++++++++++++++++ 4 files changed, 225 insertions(+), 2 deletions(-) diff --git a/app/src/main/java/kr/co/vividnext/sodalive/explorer/profile/creator_community/write/CreateCommunityPostRequest.kt b/app/src/main/java/kr/co/vividnext/sodalive/explorer/profile/creator_community/write/CreateCommunityPostRequest.kt index 0ad6361..af65883 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/explorer/profile/creator_community/write/CreateCommunityPostRequest.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/explorer/profile/creator_community/write/CreateCommunityPostRequest.kt @@ -4,6 +4,7 @@ import com.google.gson.annotations.SerializedName data class CreateCommunityPostRequest( @SerializedName("content") val content: String, + @SerializedName("price") val price: Int, @SerializedName("isAdult") val isAdult: Boolean, @SerializedName("isCommentAvailable") val isCommentAvailable: Boolean ) diff --git a/app/src/main/java/kr/co/vividnext/sodalive/explorer/profile/creator_community/write/CreatorCommunityWriteActivity.kt b/app/src/main/java/kr/co/vividnext/sodalive/explorer/profile/creator_community/write/CreatorCommunityWriteActivity.kt index 5748420..d0d418b 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/explorer/profile/creator_community/write/CreatorCommunityWriteActivity.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/explorer/profile/creator_community/write/CreatorCommunityWriteActivity.kt @@ -101,6 +101,8 @@ class CreatorCommunityWriteActivity : BaseActivity() val toastLiveData: LiveData get() = _toastLiveData @@ -36,8 +37,13 @@ class CreatorCommunityWriteViewModel(private val repository: CreatorCommunityRep val isAvailableCommentLiveData: LiveData get() = _isAvailableCommentLiveData + private val _isPriceFreeLiveData = MutableLiveData(true) + val isPriceFreeLiveData: LiveData + get() = _isPriceFreeLiveData + lateinit var getRealPathFromURI: (Uri) -> String? + var price = 0 var content = "" var imageUri: Uri? = null @@ -49,12 +55,17 @@ class CreatorCommunityWriteViewModel(private val repository: CreatorCommunityRep _isAvailableCommentLiveData.postValue(isAvailableComment) } + fun setPriceFree(isPriceFree: Boolean) { + _isPriceFreeLiveData.postValue(isPriceFree) + } + fun createCommunityPost(onSuccess: () -> Unit) { if (!_isLoading.value!! && validateData()) { _isLoading.postValue(true) val request = CreateCommunityPostRequest( content = content, + price = price, isAdult = _isAdultLiveData.value!!, isCommentAvailable = _isAvailableCommentLiveData.value!! ) @@ -131,6 +142,16 @@ class CreatorCommunityWriteViewModel(private val repository: CreatorCommunityRep return false } + try { + if (!isPriceFreeLiveData.value!! && price < 5) { + _toastLiveData.postValue("최소금액은 5캔 입니다.") + return false + } + } catch (e: Exception) { + _toastLiveData.postValue("가격은 숫자만 입력 가능 합니다.") + return false + } + return true } } diff --git a/app/src/main/res/layout/activity_creator_community_write.xml b/app/src/main/res/layout/activity_creator_community_write.xml index 0730b66..b50f5cf 100644 --- a/app/src/main/res/layout/activity_creator_community_write.xml +++ b/app/src/main/res/layout/activity_creator_community_write.xml @@ -323,6 +323,129 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +