From 2e48dad913695e244daf5a71ec90344bd5c7616b Mon Sep 17 00:00:00 2001 From: klaus Date: Fri, 18 Aug 2023 19:51:35 +0900 Subject: [PATCH] =?UTF-8?q?=EB=9D=BC=EC=9D=B4=EB=B8=8C=20=EB=B0=A9=20?= =?UTF-8?q?=EC=83=81=EC=84=B8=20-=20=EC=98=88=EC=95=BD=EC=9E=90/=EC=B0=B8?= =?UTF-8?q?=EC=97=AC=EC=9E=90=20=EB=A6=AC=EC=8A=A4=ED=8A=B8=20=EC=A0=9C?= =?UTF-8?q?=EA=B1=B0,=20=EC=B1=84=EB=84=90=EB=B3=B4=EA=B8=B0=20=EB=B2=84?= =?UTF-8?q?=ED=8A=BC=20=EC=95=A1=EC=85=98=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../live/room/detail/LiveRoomDetailAdapter.kt | 50 --------- .../room/detail/LiveRoomDetailFragment.kt | 106 ++---------------- .../res/layout/fragment_live_room_detail.xml | 90 --------------- .../layout/item_live_detail_user_summary.xml | 8 -- 4 files changed, 7 insertions(+), 247 deletions(-) delete mode 100644 app/src/main/java/kr/co/vividnext/sodalive/live/room/detail/LiveRoomDetailAdapter.kt delete mode 100644 app/src/main/res/layout/item_live_detail_user_summary.xml diff --git a/app/src/main/java/kr/co/vividnext/sodalive/live/room/detail/LiveRoomDetailAdapter.kt b/app/src/main/java/kr/co/vividnext/sodalive/live/room/detail/LiveRoomDetailAdapter.kt deleted file mode 100644 index 7a64b1c..0000000 --- a/app/src/main/java/kr/co/vividnext/sodalive/live/room/detail/LiveRoomDetailAdapter.kt +++ /dev/null @@ -1,50 +0,0 @@ -package kr.co.vividnext.sodalive.live.room.detail - -import android.view.LayoutInflater -import android.view.ViewGroup -import androidx.recyclerview.widget.RecyclerView -import coil.load -import coil.transform.RoundedCornersTransformation -import kr.co.vividnext.sodalive.R -import kr.co.vividnext.sodalive.databinding.ItemLiveRoomDetailUserBinding -import kr.co.vividnext.sodalive.extensions.dpToPx - -class LiveRoomDetailAdapter( - private val onClick: (GetRoomDetailUser) -> Unit -) : RecyclerView.Adapter() { - - val items = mutableListOf() - - inner class ViewHolder( - private val binding: ItemLiveRoomDetailUserBinding - ) : RecyclerView.ViewHolder(binding.root) { - fun bind(item: GetRoomDetailUser) { - binding.tvNickname.text = item.nickname - binding.ivProfile.load(item.profileImageUrl) { - crossfade(true) - placeholder(R.drawable.ic_place_holder) - transformations(RoundedCornersTransformation(23.4f.dpToPx())) - } - binding.root.setOnClickListener { onClick(item) } - } - } - - 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() -} diff --git a/app/src/main/java/kr/co/vividnext/sodalive/live/room/detail/LiveRoomDetailFragment.kt b/app/src/main/java/kr/co/vividnext/sodalive/live/room/detail/LiveRoomDetailFragment.kt index 51f2703..cb970f9 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/live/room/detail/LiveRoomDetailFragment.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/live/room/detail/LiveRoomDetailFragment.kt @@ -2,7 +2,6 @@ package kr.co.vividnext.sodalive.live.room.detail import android.annotation.SuppressLint import android.content.Intent -import android.graphics.Rect import android.net.Uri import android.os.Bundle import android.view.LayoutInflater @@ -10,21 +9,17 @@ import android.view.View import android.view.ViewGroup import android.webkit.URLUtil import android.widget.FrameLayout -import android.widget.LinearLayout import android.widget.Toast -import androidx.recyclerview.widget.GridLayoutManager -import androidx.recyclerview.widget.RecyclerView import coil.load import coil.transform.CircleCropTransformation -import coil.transform.RoundedCornersTransformation import com.google.android.material.bottomsheet.BottomSheetBehavior import com.google.android.material.bottomsheet.BottomSheetDialogFragment import kr.co.vividnext.sodalive.R +import kr.co.vividnext.sodalive.common.Constants import kr.co.vividnext.sodalive.common.LoadingDialog import kr.co.vividnext.sodalive.common.SharedPreferenceManager import kr.co.vividnext.sodalive.databinding.FragmentLiveRoomDetailBinding -import kr.co.vividnext.sodalive.databinding.ItemLiveDetailUserSummaryBinding -import kr.co.vividnext.sodalive.extensions.dpToPx +import kr.co.vividnext.sodalive.explorer.profile.UserProfileActivity import org.koin.android.ext.android.inject class LiveRoomDetailFragment( @@ -40,9 +35,6 @@ class LiveRoomDetailFragment( private lateinit var binding: FragmentLiveRoomDetailBinding - private var isAllProfileOpen = false - - private lateinit var adapter: LiveRoomDetailAdapter private lateinit var loadingDialog: LoadingDialog private lateinit var roomDetail: GetRoomDetailResponse @@ -65,58 +57,10 @@ class LiveRoomDetailFragment( val behavior = BottomSheetBehavior.from(bottomSheet!!) behavior.state = BottomSheetBehavior.STATE_EXPANDED - setupAdapter() bindData() viewModel.getDetail(roomId) { dismiss() } binding.ivClose.setOnClickListener { dismiss() } - binding.tvOpenAllProfile.setOnClickListener { - isAllProfileOpen = !isAllProfileOpen - if (isAllProfileOpen) { - binding.llProfiles.visibility = View.GONE - binding.rvParticipate.visibility = View.VISIBLE - binding.tvParticipateExpression.visibility = View.VISIBLE - binding.tvOpenAllProfile.text = "닫기" - binding.tvOpenAllProfile.setCompoundDrawablesWithIntrinsicBounds( - R.drawable.ic_live_detail_top, - 0, - 0, - 0 - ) - } else { - binding.llProfiles.visibility = View.VISIBLE - binding.rvParticipate.visibility = View.GONE - binding.tvParticipateExpression.visibility = View.GONE - binding.tvOpenAllProfile.text = "펼쳐보기" - binding.tvOpenAllProfile.setCompoundDrawablesWithIntrinsicBounds( - R.drawable.ic_live_detail_bottom, - 0, - 0, - 0 - ) - } - } - } - - private fun setupAdapter() { - val recyclerView = binding.rvParticipate - adapter = LiveRoomDetailAdapter {} - - recyclerView.layoutManager = GridLayoutManager(requireContext(), 5) - recyclerView.addItemDecoration(object : RecyclerView.ItemDecoration() { - override fun getItemOffsets( - outRect: Rect, - view: View, - parent: RecyclerView, - state: RecyclerView.State - ) { - super.getItemOffsets(outRect, view, parent, state) - - outRect.top = 13.3f.dpToPx().toInt() - outRect.bottom = 13.3f.dpToPx().toInt() - } - }) - recyclerView.adapter = adapter } private fun bindData() { @@ -142,14 +86,6 @@ class LiveRoomDetailFragment( private fun setRoomDetail(response: GetRoomDetailResponse) { binding.tvTitle.text = response.title binding.tvDate.text = response.beginDateTime - binding.tvParticipate.text = response.numberOfParticipants.toString() - binding.tvTotal.text = "/${response.numberOfParticipantsTotal}" - - binding.tvOpenAllProfile.visibility = if (response.numberOfParticipants <= 0) { - View.GONE - } else { - View.VISIBLE - } if (response.price > 0) { binding.tvCan.text = response.price.toString() @@ -170,7 +106,6 @@ class LiveRoomDetailFragment( } setManagerProfile(manager = response.manager) - setParticipantUserSummary(response.participatingUsers) binding.tvTags.text = response.tags.joinToString(" ") { "#$it" } binding.tvContent.text = response.notice @@ -179,7 +114,6 @@ class LiveRoomDetailFragment( binding.ivShare2.setOnClickListener { shareRoom(response) } if (response.channelName.isNullOrBlank()) { - binding.tvParticipateExpression.text = "예약자" when { response.manager.id == SharedPreferenceManager.userId -> { binding.llStartDelete.visibility = View.VISIBLE @@ -219,7 +153,6 @@ class LiveRoomDetailFragment( } } } else { - binding.tvParticipateExpression.text = "참여자" binding.tvReservationComplete.visibility = View.GONE binding.tvParticipateNow.visibility = View.VISIBLE binding.tvReservation.visibility = View.GONE @@ -229,9 +162,6 @@ class LiveRoomDetailFragment( } binding.llStartDelete.visibility = View.GONE } - - adapter.items.addAll(response.participatingUsers) - adapter.notifyDataSetChanged() } private fun setManagerProfile(manager: GetRoomDetailManager) { @@ -293,38 +223,16 @@ class LiveRoomDetailFragment( if (manager.isCreator) { binding.tvManagerProfile.visibility = View.VISIBLE - binding.tvManagerProfile.setOnClickListener {} + binding.tvManagerProfile.setOnClickListener { + val intent = Intent(requireActivity(), UserProfileActivity::class.java) + intent.putExtra(Constants.EXTRA_USER_ID, manager.id) + startActivity(intent) + } } else { binding.tvManagerProfile.visibility = View.GONE } } - private fun setParticipantUserSummary(participatingUsers: List) { - val userCount = if (participatingUsers.size > 10) { - 10 - } else { - participatingUsers.size - } - - for (index in 0 until userCount) { - val user = participatingUsers[index] - val itemView = ItemLiveDetailUserSummaryBinding.inflate(layoutInflater) - itemView.ivProfile.load(user.profileImageUrl) { - crossfade(true) - placeholder(R.drawable.ic_place_holder) - transformations(RoundedCornersTransformation(16.7f.dpToPx())) - } - - val lp = LinearLayout.LayoutParams(33.3f.dpToPx().toInt(), 33.3f.dpToPx().toInt()) - if (index > 0) { - lp.setMargins(-16.7f.dpToPx().toInt(), 0, 0, 0) - } - itemView.root.layoutParams = lp - - binding.llProfiles.addView(itemView.root) - } - } - private fun shareRoom(response: GetRoomDetailResponse) { viewModel.shareRoomLink( response.roomId, diff --git a/app/src/main/res/layout/fragment_live_room_detail.xml b/app/src/main/res/layout/fragment_live_room_detail.xml index c415130..eb712f7 100644 --- a/app/src/main/res/layout/fragment_live_room_detail.xml +++ b/app/src/main/res/layout/fragment_live_room_detail.xml @@ -71,97 +71,8 @@ app:drawableEndCompat="@drawable/ic_can" tools:ignore="RelativeOverlap" tools:text="300" /> - - - - - - - - - - - - - - - - - - - - -