diff --git a/app/build.gradle b/app/build.gradle index bade64f..10ce0c6 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -40,8 +40,8 @@ android { applicationId "kr.co.vividnext.sodalive" minSdk 23 targetSdk 33 - versionCode 80 - versionName "1.12.3" + versionCode 81 + versionName "1.13.0" } buildTypes { diff --git a/app/src/main/java/kr/co/vividnext/sodalive/audio_content/upload/AudioContentUploadActivity.kt b/app/src/main/java/kr/co/vividnext/sodalive/audio_content/upload/AudioContentUploadActivity.kt index 9ed8bf9..ec391e3 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/audio_content/upload/AudioContentUploadActivity.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/audio_content/upload/AudioContentUploadActivity.kt @@ -199,6 +199,8 @@ class AudioContentUploadActivity : BaseActivity get() = _isPriceFreeLiveData + private val _isLimitedLiveData = MutableLiveData(false) + val isLimitedLiveData: LiveData + get() = _isLimitedLiveData + + private val _isShowConfigLimitedLiveData = MutableLiveData(false) + val isShowConfigLimitedLiveData: LiveData + get() = _isShowConfigLimitedLiveData + private val _isGeneratePreviewLiveData = MutableLiveData(true) val isGeneratePreviewLiveData: LiveData get() = _isGeneratePreviewLiveData @@ -72,6 +80,7 @@ class AudioContentUploadViewModel( var detail = "" var tags = "" var price = 0 + var limited = 0 var releaseDate = "" var releaseTime = "" var theme: GetAudioContentThemeResponse? = null @@ -93,7 +102,14 @@ class AudioContentUploadViewModel( if (isPriceFree) { _isOnlyRentalLiveData.postValue(false) + _isShowConfigLimitedLiveData.postValue(false) + _isLimitedLiveData.postValue(false) + limited = 0 _isGeneratePreviewLiveData.postValue(true) + } else { + if (!_isOnlyRentalLiveData.value!!) { + _isShowConfigLimitedLiveData.postValue(true) + } } } @@ -101,8 +117,26 @@ class AudioContentUploadViewModel( _isGeneratePreviewLiveData.value = isGeneratePreview } + fun setLimited(isLimited: Boolean) { + _isLimitedLiveData.value = isLimited + + if (!isLimited) { + limited = 0 + } + } + fun setIsOnlyRental(isOnlyRental: Boolean) { _isOnlyRentalLiveData.postValue(isOnlyRental) + + if (isOnlyRental) { + _isShowConfigLimitedLiveData.postValue(false) + _isLimitedLiveData.postValue(false) + limited = 0 + } else { + if (!_isPriceFreeLiveData.value!!) { + _isShowConfigLimitedLiveData.postValue(true) + } + } } fun setActiveReservation(isActiveReservation: Boolean) { @@ -120,6 +154,17 @@ class AudioContentUploadViewModel( detail = detail, tags = tags, price = price, + limited = if ( + price > 0 && + limited > 0 && + _isLimitedLiveData.value!! && + _isShowConfigLimitedLiveData.value!! && + !_isPriceFreeLiveData.value!! + ) { + limited + } else { + null + }, releaseDate = if (_isActiveReservationLiveData.value!!) { "$releaseDate $releaseTime" } else { @@ -143,6 +188,8 @@ class AudioContentUploadViewModel( } ) + Logger.e("test - $request") + val requestJson = Gson().toJson(request) val coverImage = if (coverImageUri != null) { diff --git a/app/src/main/java/kr/co/vividnext/sodalive/audio_content/upload/CreateAudioContentRequest.kt b/app/src/main/java/kr/co/vividnext/sodalive/audio_content/upload/CreateAudioContentRequest.kt index 4bf6855..5e3cd4f 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/audio_content/upload/CreateAudioContentRequest.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/audio_content/upload/CreateAudioContentRequest.kt @@ -7,6 +7,7 @@ data class CreateAudioContentRequest( @SerializedName("detail") val detail: String, @SerializedName("tags") val tags: String, @SerializedName("price") val price: Int, + @SerializedName("limited") val limited: Int? = null, @SerializedName("releaseDate") val releaseDate: String?, @SerializedName("timezone") val timezone: String, @SerializedName("themeId") val themeId: Long, diff --git a/app/src/main/res/layout/activity_audio_content_upload.xml b/app/src/main/res/layout/activity_audio_content_upload.xml index 58ebe58..25eaa73 100644 --- a/app/src/main/res/layout/activity_audio_content_upload.xml +++ b/app/src/main/res/layout/activity_audio_content_upload.xml @@ -534,6 +534,104 @@ android:textSize="13.3sp" /> + + + + + + + + + + + + + + + + + + + + +