diff --git a/app/build.gradle b/app/build.gradle index 74be30c..cd10efa 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -35,7 +35,7 @@ android { applicationId "kr.co.vividnext.sodalive" minSdk 23 targetSdk 34 - versionCode 158 + versionCode 159 versionName "1.34.0" } diff --git a/app/src/main/java/kr/co/vividnext/sodalive/audio_content/detail/AudioContentBuyerAdapter.kt b/app/src/main/java/kr/co/vividnext/sodalive/audio_content/detail/AudioContentBuyerAdapter.kt new file mode 100644 index 0000000..a3a61e2 --- /dev/null +++ b/app/src/main/java/kr/co/vividnext/sodalive/audio_content/detail/AudioContentBuyerAdapter.kt @@ -0,0 +1,56 @@ +package kr.co.vividnext.sodalive.audio_content.detail + +import android.annotation.SuppressLint +import android.view.LayoutInflater +import android.view.ViewGroup +import androidx.recyclerview.widget.RecyclerView +import coil.load +import coil.transform.CircleCropTransformation +import kr.co.vividnext.sodalive.R +import kr.co.vividnext.sodalive.databinding.ItemLiveRoomDetailUserBinding + +class AudioContentBuyerAdapter : RecyclerView.Adapter() { + + private val items = mutableListOf() + + inner class ViewHolder( + private val binding: ItemLiveRoomDetailUserBinding + ) : RecyclerView.ViewHolder(binding.root) { + fun bind(item: ContentBuyer) { + binding.tvNickname.text = item.nickname + binding.ivProfile.load(item.profileImageUrl) { + crossfade(true) + placeholder(R.drawable.ic_place_holder) + transformations(CircleCropTransformation()) + } + } + } + + override fun onCreateViewHolder( + parent: ViewGroup, + viewType: Int + ): ViewHolder { + return ViewHolder( + ItemLiveRoomDetailUserBinding.inflate( + LayoutInflater.from(parent.context), + parent, + false + ) + ) + } + + override fun onBindViewHolder( + holder: ViewHolder, + position: Int + ) { + holder.bind(items[position]) + } + + override fun getItemCount() = items.count() + + @SuppressLint("NotifyDataSetChanged") + fun addItems(buyerList: List) { + items.addAll(buyerList) + notifyDataSetChanged() + } +} diff --git a/app/src/main/java/kr/co/vividnext/sodalive/audio_content/detail/AudioContentDetailActivity.kt b/app/src/main/java/kr/co/vividnext/sodalive/audio_content/detail/AudioContentDetailActivity.kt index b954d57..e46bf7a 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/audio_content/detail/AudioContentDetailActivity.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/audio_content/detail/AudioContentDetailActivity.kt @@ -81,6 +81,7 @@ class AudioContentDetailActivity : BaseActivity + private lateinit var contentBuyerAdapter: AudioContentBuyerAdapter private lateinit var audioContent: GetAudioContentDetailResponse private lateinit var orderType: OrderType private lateinit var imm: InputMethodManager @@ -298,6 +299,36 @@ class AudioContentDetailActivity : BaseActivity ) @Keep @@ -60,3 +61,9 @@ data class AudioContentCreator( @SerializedName("isFollow") var isFollow: Boolean, @SerializedName("isNotify") var isNotify: Boolean ) + +@Keep +data class ContentBuyer( + @SerializedName("nickname") val nickname: String, + @SerializedName("profileImageUrl") val profileImageUrl: String +) diff --git a/app/src/main/res/layout/activity_audio_content_detail.xml b/app/src/main/res/layout/activity_audio_content_detail.xml index 7fd7cf8..9960e06 100644 --- a/app/src/main/res/layout/activity_audio_content_detail.xml +++ b/app/src/main/res/layout/activity_audio_content_detail.xml @@ -534,6 +534,7 @@ @@ -589,10 +591,31 @@ + + + + + android:layout_marginHorizontal="13.3dp" + android:layout_marginTop="13.3dp">