feat: 콘텐츠 메인 - 새로운 콘텐츠, 큐레이션
- 포인트 사용이 가능한 콘텐츠의 썸네일 우측 상단에 포인트 사용 가능 표시
This commit is contained in:
		@@ -2,8 +2,6 @@ package kr.co.vividnext.sodalive.audio_content.all
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
import android.annotation.SuppressLint
 | 
					import android.annotation.SuppressLint
 | 
				
			||||||
import android.content.Context
 | 
					import android.content.Context
 | 
				
			||||||
import android.graphics.Bitmap
 | 
					 | 
				
			||||||
import android.graphics.drawable.Drawable
 | 
					 | 
				
			||||||
import android.view.LayoutInflater
 | 
					import android.view.LayoutInflater
 | 
				
			||||||
import android.view.View
 | 
					import android.view.View
 | 
				
			||||||
import android.view.ViewGroup
 | 
					import android.view.ViewGroup
 | 
				
			||||||
@@ -15,12 +13,9 @@ import com.bumptech.glide.Glide
 | 
				
			|||||||
import com.bumptech.glide.load.resource.bitmap.CenterCrop
 | 
					import com.bumptech.glide.load.resource.bitmap.CenterCrop
 | 
				
			||||||
import com.bumptech.glide.load.resource.bitmap.RoundedCorners
 | 
					import com.bumptech.glide.load.resource.bitmap.RoundedCorners
 | 
				
			||||||
import com.bumptech.glide.request.RequestOptions
 | 
					import com.bumptech.glide.request.RequestOptions
 | 
				
			||||||
import com.bumptech.glide.request.target.CustomTarget
 | 
					 | 
				
			||||||
import com.bumptech.glide.request.transition.Transition
 | 
					 | 
				
			||||||
import kr.co.vividnext.sodalive.R
 | 
					import kr.co.vividnext.sodalive.R
 | 
				
			||||||
import kr.co.vividnext.sodalive.audio_content.main.GetAudioContentMainItem
 | 
					import kr.co.vividnext.sodalive.audio_content.main.GetAudioContentMainItem
 | 
				
			||||||
import kr.co.vividnext.sodalive.databinding.ItemAudioContentNewAllBinding
 | 
					import kr.co.vividnext.sodalive.databinding.ItemAudioContentNewAllBinding
 | 
				
			||||||
import kr.co.vividnext.sodalive.extensions.dpToPx
 | 
					 | 
				
			||||||
import kr.co.vividnext.sodalive.extensions.moneyFormat
 | 
					import kr.co.vividnext.sodalive.extensions.moneyFormat
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class AudioContentNewAllAdapter(
 | 
					class AudioContentNewAllAdapter(
 | 
				
			||||||
@@ -47,11 +42,18 @@ class AudioContentNewAllAdapter(
 | 
				
			|||||||
                )
 | 
					                )
 | 
				
			||||||
                .into(binding.ivAudioContentCoverImage)
 | 
					                .into(binding.ivAudioContentCoverImage)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            val layoutParams = binding.ivAudioContentCoverImage.layoutParams as ConstraintLayout.LayoutParams
 | 
					            val layoutParams =
 | 
				
			||||||
 | 
					                binding.ivAudioContentCoverImage.layoutParams as ConstraintLayout.LayoutParams
 | 
				
			||||||
            layoutParams.width = itemWidth
 | 
					            layoutParams.width = itemWidth
 | 
				
			||||||
            layoutParams.height = itemWidth
 | 
					            layoutParams.height = itemWidth
 | 
				
			||||||
            binding.ivAudioContentCoverImage.layoutParams = layoutParams
 | 
					            binding.ivAudioContentCoverImage.layoutParams = layoutParams
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            binding.ivPoint.visibility = if (item.isPointAvailable) {
 | 
				
			||||||
 | 
					                View.VISIBLE
 | 
				
			||||||
 | 
					            } else {
 | 
				
			||||||
 | 
					                View.GONE
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            binding.ivAudioContentCreator.load(item.creatorProfileImageUrl) {
 | 
					            binding.ivAudioContentCreator.load(item.creatorProfileImageUrl) {
 | 
				
			||||||
                crossfade(true)
 | 
					                crossfade(true)
 | 
				
			||||||
                placeholder(R.drawable.ic_place_holder)
 | 
					                placeholder(R.drawable.ic_place_holder)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -1,5 +1,6 @@
 | 
				
			|||||||
package kr.co.vividnext.sodalive.audio_content.main
 | 
					package kr.co.vividnext.sodalive.audio_content.main
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import android.view.View
 | 
				
			||||||
import androidx.recyclerview.widget.RecyclerView
 | 
					import androidx.recyclerview.widget.RecyclerView
 | 
				
			||||||
import coil.load
 | 
					import coil.load
 | 
				
			||||||
import coil.transform.CircleCropTransformation
 | 
					import coil.transform.CircleCropTransformation
 | 
				
			||||||
@@ -14,6 +15,12 @@ class AudioContentMainItemViewHolder(
 | 
				
			|||||||
    private val onClickCreator: (Long) -> Unit
 | 
					    private val onClickCreator: (Long) -> Unit
 | 
				
			||||||
) : RecyclerView.ViewHolder(binding.root) {
 | 
					) : RecyclerView.ViewHolder(binding.root) {
 | 
				
			||||||
    fun bind(item: GetAudioContentMainItem) {
 | 
					    fun bind(item: GetAudioContentMainItem) {
 | 
				
			||||||
 | 
					        binding.ivPoint.visibility = if (item.isPointAvailable) {
 | 
				
			||||||
 | 
					            View.VISIBLE
 | 
				
			||||||
 | 
					        } else {
 | 
				
			||||||
 | 
					            View.GONE
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        binding.ivAudioContentCoverImage.load(item.coverImageUrl) {
 | 
					        binding.ivAudioContentCoverImage.load(item.coverImageUrl) {
 | 
				
			||||||
            crossfade(true)
 | 
					            crossfade(true)
 | 
				
			||||||
            placeholder(R.drawable.ic_place_holder)
 | 
					            placeholder(R.drawable.ic_place_holder)
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -13,6 +13,18 @@
 | 
				
			|||||||
        app:layout_constraintStart_toStartOf="parent"
 | 
					        app:layout_constraintStart_toStartOf="parent"
 | 
				
			||||||
        app:layout_constraintTop_toTopOf="parent" />
 | 
					        app:layout_constraintTop_toTopOf="parent" />
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <ImageView
 | 
				
			||||||
 | 
					        android:id="@+id/iv_point"
 | 
				
			||||||
 | 
					        android:layout_width="wrap_content"
 | 
				
			||||||
 | 
					        android:layout_height="wrap_content"
 | 
				
			||||||
 | 
					        android:layout_marginTop="2.7dp"
 | 
				
			||||||
 | 
					        android:layout_marginEnd="2.7dp"
 | 
				
			||||||
 | 
					        android:contentDescription="@null"
 | 
				
			||||||
 | 
					        android:src="@drawable/ic_point"
 | 
				
			||||||
 | 
					        android:visibility="gone"
 | 
				
			||||||
 | 
					        app:layout_constraintEnd_toEndOf="@+id/iv_audio_content_cover_image"
 | 
				
			||||||
 | 
					        app:layout_constraintTop_toTopOf="@+id/iv_audio_content_cover_image" />
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <TextView
 | 
					    <TextView
 | 
				
			||||||
        android:id="@+id/tv_audio_content_title"
 | 
					        android:id="@+id/tv_audio_content_title"
 | 
				
			||||||
        android:layout_width="0dp"
 | 
					        android:layout_width="0dp"
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -14,6 +14,18 @@
 | 
				
			|||||||
        app:layout_constraintStart_toStartOf="parent"
 | 
					        app:layout_constraintStart_toStartOf="parent"
 | 
				
			||||||
        app:layout_constraintTop_toTopOf="parent" />
 | 
					        app:layout_constraintTop_toTopOf="parent" />
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <ImageView
 | 
				
			||||||
 | 
					        android:id="@+id/iv_point"
 | 
				
			||||||
 | 
					        android:layout_width="20dp"
 | 
				
			||||||
 | 
					        android:layout_height="20dp"
 | 
				
			||||||
 | 
					        android:layout_marginTop="2.7dp"
 | 
				
			||||||
 | 
					        android:layout_marginEnd="2.7dp"
 | 
				
			||||||
 | 
					        android:contentDescription="@null"
 | 
				
			||||||
 | 
					        android:src="@drawable/ic_point"
 | 
				
			||||||
 | 
					        android:visibility="gone"
 | 
				
			||||||
 | 
					        app:layout_constraintEnd_toEndOf="@+id/iv_audio_content_cover_image"
 | 
				
			||||||
 | 
					        app:layout_constraintTop_toTopOf="@+id/iv_audio_content_cover_image" />
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <LinearLayout
 | 
					    <LinearLayout
 | 
				
			||||||
        android:layout_width="wrap_content"
 | 
					        android:layout_width="wrap_content"
 | 
				
			||||||
        android:layout_height="wrap_content"
 | 
					        android:layout_height="wrap_content"
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user