콘텐츠 업로드
- 한정판 업로드 추가
This commit is contained in:
@@ -199,6 +199,8 @@ class AudioContentUploadActivity : BaseActivity<ActivityAudioContentUploadBindin
|
||||
binding.llPriceFree.setOnClickListener { viewModel.setPriceFree(true) }
|
||||
binding.llPreviewYes.setOnClickListener { viewModel.setGeneratePreview(true) }
|
||||
binding.llPreviewNo.setOnClickListener { viewModel.setGeneratePreview(false) }
|
||||
binding.llLimited.setOnClickListener { viewModel.setLimited(true) }
|
||||
binding.llNotLimited.setOnClickListener { viewModel.setLimited(false) }
|
||||
binding.llRentalAndKeep.setOnClickListener { viewModel.setIsOnlyRental(false) }
|
||||
binding.llOnlyRental.setOnClickListener { viewModel.setIsOnlyRental(true) }
|
||||
binding.llCommentNo.setOnClickListener { viewModel.setAvailableComment(false) }
|
||||
@@ -357,6 +359,24 @@ class AudioContentUploadActivity : BaseActivity<ActivityAudioContentUploadBindin
|
||||
}
|
||||
)
|
||||
|
||||
compositeDisposable.add(
|
||||
binding.etLimited.textChanges().skip(1)
|
||||
.subscribeOn(Schedulers.io())
|
||||
.observeOn(AndroidSchedulers.mainThread())
|
||||
.subscribe {
|
||||
val limited = it.toString().toIntOrNull()
|
||||
if (limited != null) {
|
||||
viewModel.limited = limited.toInt()
|
||||
} else {
|
||||
viewModel.limited = 0
|
||||
if (it.isNotBlank()) {
|
||||
binding.etLimited.setText(it.substring(0, it.length - 1))
|
||||
binding.etLimited.setSelection(it.length - 1)
|
||||
}
|
||||
}
|
||||
}
|
||||
)
|
||||
|
||||
compositeDisposable.add(
|
||||
binding.etPreviewStartTime.textChanges().skip(1)
|
||||
.subscribeOn(Schedulers.io())
|
||||
@@ -403,6 +423,14 @@ class AudioContentUploadActivity : BaseActivity<ActivityAudioContentUploadBindin
|
||||
}
|
||||
}
|
||||
|
||||
viewModel.isLimitedLiveData.observe(this) {
|
||||
if (it) {
|
||||
checkLimited()
|
||||
} else {
|
||||
checkNotLimited()
|
||||
}
|
||||
}
|
||||
|
||||
viewModel.isGeneratePreviewLiveData.observe(this) {
|
||||
if (it) {
|
||||
checkGeneratePreview()
|
||||
@@ -527,6 +555,18 @@ class AudioContentUploadActivity : BaseActivity<ActivityAudioContentUploadBindin
|
||||
viewModel.reservationTimeLiveData.observe(this) {
|
||||
binding.tvReservationTime.text = it
|
||||
}
|
||||
|
||||
viewModel.isShowConfigLimitedLiveData.observe(this) {
|
||||
if (it) {
|
||||
binding.llConfigLimited.visibility = View.VISIBLE
|
||||
binding.tvConfigLimitedTitle.visibility = View.VISIBLE
|
||||
} else {
|
||||
binding.llConfigLimited.visibility = View.GONE
|
||||
binding.tvConfigLimitedTitle.visibility = View.GONE
|
||||
binding.etLimited.visibility = View.GONE
|
||||
binding.etLimited.setText("")
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private fun checkActiveNow() {
|
||||
@@ -634,6 +674,53 @@ class AudioContentUploadActivity : BaseActivity<ActivityAudioContentUploadBindin
|
||||
binding.llConfigPreview.visibility = View.VISIBLE
|
||||
}
|
||||
|
||||
private fun checkNotLimited() {
|
||||
binding.ivNotLimited.visibility = View.VISIBLE
|
||||
binding.tvNotLimited.setTextColor(
|
||||
ContextCompat.getColor(
|
||||
applicationContext,
|
||||
R.color.color_eeeeee
|
||||
)
|
||||
)
|
||||
binding.llNotLimited.setBackgroundResource(R.drawable.bg_round_corner_6_7_3bb9f1)
|
||||
|
||||
binding.ivLimited.visibility = View.GONE
|
||||
binding.tvLimited.setTextColor(
|
||||
ContextCompat.getColor(
|
||||
applicationContext,
|
||||
R.color.color_3bb9f1
|
||||
)
|
||||
)
|
||||
binding.llLimited.setBackgroundResource(
|
||||
R.drawable.bg_round_corner_6_7_13181b
|
||||
)
|
||||
binding.etLimited.visibility = View.GONE
|
||||
binding.etLimited.setText("")
|
||||
}
|
||||
|
||||
private fun checkLimited() {
|
||||
binding.ivLimited.visibility = View.VISIBLE
|
||||
binding.tvLimited.setTextColor(
|
||||
ContextCompat.getColor(
|
||||
applicationContext,
|
||||
R.color.color_eeeeee
|
||||
)
|
||||
)
|
||||
binding.llLimited.setBackgroundResource(R.drawable.bg_round_corner_6_7_3bb9f1)
|
||||
|
||||
binding.ivNotLimited.visibility = View.GONE
|
||||
binding.tvNotLimited.setTextColor(
|
||||
ContextCompat.getColor(
|
||||
applicationContext,
|
||||
R.color.color_3bb9f1
|
||||
)
|
||||
)
|
||||
binding.llNotLimited.setBackgroundResource(
|
||||
R.drawable.bg_round_corner_6_7_13181b
|
||||
)
|
||||
binding.etLimited.visibility = View.VISIBLE
|
||||
}
|
||||
|
||||
private fun checkGeneratePreview() {
|
||||
binding.ivPreviewYes.visibility = View.VISIBLE
|
||||
binding.tvPreviewYes.setTextColor(
|
||||
|
||||
@@ -50,6 +50,14 @@ class AudioContentUploadViewModel(
|
||||
val isPriceFreeLiveData: LiveData<Boolean>
|
||||
get() = _isPriceFreeLiveData
|
||||
|
||||
private val _isLimitedLiveData = MutableLiveData(false)
|
||||
val isLimitedLiveData: LiveData<Boolean>
|
||||
get() = _isLimitedLiveData
|
||||
|
||||
private val _isShowConfigLimitedLiveData = MutableLiveData(false)
|
||||
val isShowConfigLimitedLiveData: LiveData<Boolean>
|
||||
get() = _isShowConfigLimitedLiveData
|
||||
|
||||
private val _isGeneratePreviewLiveData = MutableLiveData(true)
|
||||
val isGeneratePreviewLiveData: LiveData<Boolean>
|
||||
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) {
|
||||
|
||||
@@ -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,
|
||||
|
||||
Reference in New Issue
Block a user