From 3bda97b0a75cece13389d43e25d6889f3c1f17dd Mon Sep 17 00:00:00 2001 From: klaus Date: Wed, 4 Jun 2025 20:03:42 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20=EC=BD=98=ED=85=90=EC=B8=A0=20=EC=88=98?= =?UTF-8?q?=EC=A0=95=20-=20=ED=83=9C=EA=B7=B8=20=EC=88=98=EC=A0=95=20?= =?UTF-8?q?=EA=B8=B0=EB=8A=A5=20=EC=B6=94=EA=B0=80=20-=20=ED=8F=AC?= =?UTF-8?q?=EC=9D=B8=ED=8A=B8=20=EC=82=AC=EC=9A=A9=EC=97=AC=EB=B6=80=20?= =?UTF-8?q?=EC=88=98=EC=A0=95=20=EA=B8=B0=EB=8A=A5=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../modify/AudioContentModifyActivity.kt | 68 +++++++++++ .../modify/AudioContentModifyViewModel.kt | 23 ++++ .../modify/ModifyAudioContentRequest.kt | 2 + .../layout/activity_audio_content_modify.xml | 113 ++++++++++++++++++ 4 files changed, 206 insertions(+) diff --git a/app/src/main/java/kr/co/vividnext/sodalive/audio_content/modify/AudioContentModifyActivity.kt b/app/src/main/java/kr/co/vividnext/sodalive/audio_content/modify/AudioContentModifyActivity.kt index c2cf890a..91c56745 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/audio_content/modify/AudioContentModifyActivity.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/audio_content/modify/AudioContentModifyActivity.kt @@ -101,6 +101,9 @@ class AudioContentModifyActivity : BaseActivity get() = _detailLiveData + private val _tagsLiveData = MutableLiveData("") + val tagsLiveData: LiveData + get() = _tagsLiveData + private val _coverImageLiveData = MutableLiveData("") val coverImageLiveData: LiveData get() = _coverImageLiveData @@ -54,12 +58,18 @@ class AudioContentModifyViewModel( val isAdultShowUiLiveData: LiveData get() = _isAdultShowUiLiveData + private val _isAvailablePointLiveData = MutableLiveData(false) + val isAvailablePointLiveData: LiveData + get() = _isAvailablePointLiveData + lateinit var getRealPathFromURI: (Uri) -> String? var contentId: Long = 0 var title: String? = null var detail: String? = null + var tags: String? = null var coverImageUri: Uri? = null + var isPointAvailable: Boolean? = null fun setAdult(isAdult: Boolean) { _isAdultLiveData.postValue(isAdult) @@ -69,6 +79,11 @@ class AudioContentModifyViewModel( _isAvailableCommentLiveData.postValue(isAvailableComment) } + fun setAvailablePoint(isAvailablePoint: Boolean) { + isPointAvailable = isAvailablePoint + _isAvailablePointLiveData.value = isAvailablePoint + } + fun getAudioContentDetail(audioContentId: Long, onFailure: (() -> Unit)? = null) { this.contentId = audioContentId _isLoading.value = true @@ -85,10 +100,12 @@ class AudioContentModifyViewModel( if (it.success && it.data != null) { _titleLiveData.value = it.data.title _detailLiveData.value = it.data.detail + _tagsLiveData.value = it.data.tag _coverImageLiveData.value = it.data.coverImageUrl _isAvailableCommentLiveData.value = it.data.isCommentAvailable _isAdultLiveData.value = it.data.isAdult _isAdultShowUiLiveData.value = !it.data.isAdult + _isAvailablePointLiveData.value = it.data.isAvailableUsePoint } else { if (it.message != null) { _toastLiveData.postValue(it.message) @@ -125,7 +142,13 @@ class AudioContentModifyViewModel( contentId = contentId, title = title, detail = detail, + tags = if (tags != _tagsLiveData.value!!) { + tags + } else { + null + }, isAdult = _isAdultLiveData.value!!, + isPointAvailable = isPointAvailable, isCommentAvailable = _isAvailableCommentLiveData.value!! ) diff --git a/app/src/main/java/kr/co/vividnext/sodalive/audio_content/modify/ModifyAudioContentRequest.kt b/app/src/main/java/kr/co/vividnext/sodalive/audio_content/modify/ModifyAudioContentRequest.kt index d8da1659..8e5e2dac 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/audio_content/modify/ModifyAudioContentRequest.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/audio_content/modify/ModifyAudioContentRequest.kt @@ -8,6 +8,8 @@ data class ModifyAudioContentRequest( @SerializedName("contentId") val contentId: Long, @SerializedName("title") val title: String?, @SerializedName("detail") val detail: String?, + @SerializedName("tags") val tags: String?, @SerializedName("isAdult") val isAdult: Boolean, + @SerializedName("isPointAvailable") val isPointAvailable: Boolean?, @SerializedName("isCommentAvailable") val isCommentAvailable: Boolean ) diff --git a/app/src/main/res/layout/activity_audio_content_modify.xml b/app/src/main/res/layout/activity_audio_content_modify.xml index a3ffba97..5eece29b 100644 --- a/app/src/main/res/layout/activity_audio_content_modify.xml +++ b/app/src/main/res/layout/activity_audio_content_modify.xml @@ -174,12 +174,125 @@ tools:ignore="LabelFor" /> + + + + + + + + + + + + + + + + + + + + + + + + + +