feat: 커뮤니티 전체보기
- gif 재생 되도록 추가
This commit is contained in:
		@@ -18,6 +18,9 @@ import androidx.appcompat.widget.PopupMenu
 | 
				
			|||||||
import androidx.recyclerview.widget.RecyclerView
 | 
					import androidx.recyclerview.widget.RecyclerView
 | 
				
			||||||
import coil.load
 | 
					import coil.load
 | 
				
			||||||
import coil.transform.CircleCropTransformation
 | 
					import coil.transform.CircleCropTransformation
 | 
				
			||||||
 | 
					import com.bumptech.glide.Glide
 | 
				
			||||||
 | 
					import com.bumptech.glide.load.resource.bitmap.RoundedCorners
 | 
				
			||||||
 | 
					import com.bumptech.glide.request.RequestOptions
 | 
				
			||||||
import kr.co.vividnext.sodalive.R
 | 
					import kr.co.vividnext.sodalive.R
 | 
				
			||||||
import kr.co.vividnext.sodalive.common.SharedPreferenceManager
 | 
					import kr.co.vividnext.sodalive.common.SharedPreferenceManager
 | 
				
			||||||
import kr.co.vividnext.sodalive.databinding.ItemCreatorCommunityAllBinding
 | 
					import kr.co.vividnext.sodalive.databinding.ItemCreatorCommunityAllBinding
 | 
				
			||||||
@@ -60,7 +63,7 @@ class CreatorCommunityAllAdapter(
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
            if (item.price > 0) {
 | 
					            if (item.price > 0) {
 | 
				
			||||||
                if (item.existOrdered) {
 | 
					                if (item.existOrdered) {
 | 
				
			||||||
                    setContent(item, index)
 | 
					                    setContent(context, item, index)
 | 
				
			||||||
                } else {
 | 
					                } else {
 | 
				
			||||||
                    binding.llLike.visibility = View.GONE
 | 
					                    binding.llLike.visibility = View.GONE
 | 
				
			||||||
                    binding.ivContent.visibility = View.GONE
 | 
					                    binding.ivContent.visibility = View.GONE
 | 
				
			||||||
@@ -79,18 +82,18 @@ class CreatorCommunityAllAdapter(
 | 
				
			|||||||
                    binding.tvPurchase.setOnClickListener {
 | 
					                    binding.tvPurchase.setOnClickListener {
 | 
				
			||||||
                        onClickPurchaseContent(item.postId, item.price) { post ->
 | 
					                        onClickPurchaseContent(item.postId, item.price) { post ->
 | 
				
			||||||
                            items[index] = post
 | 
					                            items[index] = post
 | 
				
			||||||
                            setContent(post, index)
 | 
					                            setContent(context, post, index)
 | 
				
			||||||
                        }
 | 
					                        }
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                    setNoticeAndClickableUrl(binding.tvContent, item.content, item.isExpand, index)
 | 
					                    setNoticeAndClickableUrl(binding.tvContent, item.content, item.isExpand, index)
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
            } else {
 | 
					            } else {
 | 
				
			||||||
                setContent(item, index)
 | 
					                setContent(context, item, index)
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        private fun setContent(item: GetCommunityPostListResponse, index: Int) {
 | 
					        private fun setContent(context: Context, item: GetCommunityPostListResponse, index: Int) {
 | 
				
			||||||
            binding.llLockPost.visibility = View.GONE
 | 
					            binding.llLockPost.visibility = View.GONE
 | 
				
			||||||
            binding.llLike.visibility = View.VISIBLE
 | 
					            binding.llLike.visibility = View.VISIBLE
 | 
				
			||||||
            binding.llComment.visibility = View.VISIBLE
 | 
					            binding.llComment.visibility = View.VISIBLE
 | 
				
			||||||
@@ -126,7 +129,7 @@ class CreatorCommunityAllAdapter(
 | 
				
			|||||||
                binding.ivPlayOrPause.setOnClickListener {}
 | 
					                binding.ivPlayOrPause.setOnClickListener {}
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            setImageContent(binding.ivContent, item.imageUrl)
 | 
					            setImageContent(context, binding.ivContent, item.imageUrl)
 | 
				
			||||||
            setContentLike(item.isLike, item.likeCount, item.postId, index)
 | 
					            setContentLike(item.isLike, item.likeCount, item.postId, index)
 | 
				
			||||||
            setNoticeAndClickableUrl(binding.tvContent, item.content, item.isExpand, index)
 | 
					            setNoticeAndClickableUrl(binding.tvContent, item.content, item.isExpand, index)
 | 
				
			||||||
            setContentComment(
 | 
					            setContentComment(
 | 
				
			||||||
@@ -140,14 +143,21 @@ class CreatorCommunityAllAdapter(
 | 
				
			|||||||
            )
 | 
					            )
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        private fun setImageContent(ivContent: ImageView, imageUrl: String?) {
 | 
					        private fun setImageContent(context: Context, ivContent: ImageView, imageUrl: String?) {
 | 
				
			||||||
            ivContent.visibility = View.VISIBLE
 | 
					            ivContent.visibility = View.VISIBLE
 | 
				
			||||||
            if (imageUrl != null) {
 | 
					            if (imageUrl != null) {
 | 
				
			||||||
                ivContent.visibility = View.VISIBLE
 | 
					                ivContent.visibility = View.VISIBLE
 | 
				
			||||||
                ivContent.loadUrl(imageUrl) {
 | 
					                Glide.with(context)
 | 
				
			||||||
                    crossfade(true)
 | 
					                    .load(imageUrl)
 | 
				
			||||||
                    placeholder(R.drawable.bg_placeholder)
 | 
					                    .placeholder(R.drawable.ic_place_holder)
 | 
				
			||||||
                }
 | 
					                    .apply(
 | 
				
			||||||
 | 
					                        RequestOptions().transform(
 | 
				
			||||||
 | 
					                            RoundedCorners(
 | 
				
			||||||
 | 
					                                8f.dpToPx().toInt()
 | 
				
			||||||
 | 
					                            )
 | 
				
			||||||
 | 
					                        )
 | 
				
			||||||
 | 
					                    )
 | 
				
			||||||
 | 
					                    .into(ivContent)
 | 
				
			||||||
            } else {
 | 
					            } else {
 | 
				
			||||||
                ivContent.visibility = View.GONE
 | 
					                ivContent.visibility = View.GONE
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -10,7 +10,6 @@ import android.view.View
 | 
				
			|||||||
import android.widget.Toast
 | 
					import android.widget.Toast
 | 
				
			||||||
import androidx.activity.result.contract.ActivityResultContracts
 | 
					import androidx.activity.result.contract.ActivityResultContracts
 | 
				
			||||||
import androidx.core.content.ContextCompat
 | 
					import androidx.core.content.ContextCompat
 | 
				
			||||||
import coil.transform.RoundedCornersTransformation
 | 
					 | 
				
			||||||
import com.bumptech.glide.Glide
 | 
					import com.bumptech.glide.Glide
 | 
				
			||||||
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
 | 
				
			||||||
@@ -30,7 +29,6 @@ import kr.co.vividnext.sodalive.common.RealPathUtil
 | 
				
			|||||||
import kr.co.vividnext.sodalive.common.SharedPreferenceManager
 | 
					import kr.co.vividnext.sodalive.common.SharedPreferenceManager
 | 
				
			||||||
import kr.co.vividnext.sodalive.databinding.ActivityCreatorCommunityModifyBinding
 | 
					import kr.co.vividnext.sodalive.databinding.ActivityCreatorCommunityModifyBinding
 | 
				
			||||||
import kr.co.vividnext.sodalive.extensions.dpToPx
 | 
					import kr.co.vividnext.sodalive.extensions.dpToPx
 | 
				
			||||||
import kr.co.vividnext.sodalive.extensions.loadUrl
 | 
					 | 
				
			||||||
import org.koin.android.ext.android.inject
 | 
					import org.koin.android.ext.android.inject
 | 
				
			||||||
import java.io.File
 | 
					import java.io.File
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -50,7 +48,7 @@ class CreatorCommunityModifyActivity : BaseActivity<ActivityCreatorCommunityModi
 | 
				
			|||||||
        val data = result.data
 | 
					        val data = result.data
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if (resultCode == RESULT_OK) {
 | 
					        if (resultCode == RESULT_OK) {
 | 
				
			||||||
            val fileUri = data?.data
 | 
					            val fileUri = UCrop.getOutput(data!!)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if (fileUri != null) {
 | 
					            if (fileUri != null) {
 | 
				
			||||||
                handleCroppedImage(fileUri)
 | 
					                handleCroppedImage(fileUri)
 | 
				
			||||||
@@ -58,7 +56,13 @@ class CreatorCommunityModifyActivity : BaseActivity<ActivityCreatorCommunityModi
 | 
				
			|||||||
                showWrongImageFile()
 | 
					                showWrongImageFile()
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        } else if (resultCode == ImagePicker.RESULT_ERROR) {
 | 
					        } else if (resultCode == ImagePicker.RESULT_ERROR) {
 | 
				
			||||||
            showImagePickerError(data = data)
 | 
					            val cropError = UCrop.getError(data!!)
 | 
				
			||||||
 | 
					            cropError?.printStackTrace()
 | 
				
			||||||
 | 
					            Toast.makeText(
 | 
				
			||||||
 | 
					                this,
 | 
				
			||||||
 | 
					                cropError?.message,
 | 
				
			||||||
 | 
					                Toast.LENGTH_SHORT
 | 
				
			||||||
 | 
					            ).show()
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -47,7 +47,7 @@ class CreatorCommunityWriteActivity : BaseActivity<ActivityCreatorCommunityWrite
 | 
				
			|||||||
        val data = result.data
 | 
					        val data = result.data
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if (resultCode == RESULT_OK) {
 | 
					        if (resultCode == RESULT_OK) {
 | 
				
			||||||
            val fileUri = data?.data
 | 
					            val fileUri = UCrop.getOutput(data!!)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if (fileUri != null) {
 | 
					            if (fileUri != null) {
 | 
				
			||||||
                handleCroppedImage(fileUri)
 | 
					                handleCroppedImage(fileUri)
 | 
				
			||||||
@@ -55,7 +55,13 @@ class CreatorCommunityWriteActivity : BaseActivity<ActivityCreatorCommunityWrite
 | 
				
			|||||||
                showWrongImageFile()
 | 
					                showWrongImageFile()
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        } else if (resultCode == ImagePicker.RESULT_ERROR) {
 | 
					        } else if (resultCode == ImagePicker.RESULT_ERROR) {
 | 
				
			||||||
            showImagePickerError(data = data)
 | 
					            val cropError = UCrop.getError(data!!)
 | 
				
			||||||
 | 
					            cropError?.printStackTrace()
 | 
				
			||||||
 | 
					            Toast.makeText(
 | 
				
			||||||
 | 
					                this,
 | 
				
			||||||
 | 
					                cropError?.message,
 | 
				
			||||||
 | 
					                Toast.LENGTH_SHORT
 | 
				
			||||||
 | 
					            ).show()
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user