feat: 메인 라이브
- 새로운 UI의 기본 골격 적용
This commit is contained in:
		@@ -141,12 +141,6 @@ object SharedPreferenceManager {
 | 
				
			|||||||
            sharedPreferences[Constants.PREF_PUSH_TOKEN] = value
 | 
					            sharedPreferences[Constants.PREF_PUSH_TOKEN] = value
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    var isFollowedCreatorLive: Boolean
 | 
					 | 
				
			||||||
        get() = sharedPreferences[Constants.PREF_IS_FOLLOWED_CREATOR_LIVE, false]
 | 
					 | 
				
			||||||
        set(value) {
 | 
					 | 
				
			||||||
            sharedPreferences[Constants.PREF_IS_FOLLOWED_CREATOR_LIVE] = value
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    var isContentPlayLoop: Boolean
 | 
					    var isContentPlayLoop: Boolean
 | 
				
			||||||
        get() = sharedPreferences[Constants.PREF_IS_CONTENT_PLAY_LOOP, false]
 | 
					        get() = sharedPreferences[Constants.PREF_IS_CONTENT_PLAY_LOOP, false]
 | 
				
			||||||
        set(value) {
 | 
					        set(value) {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -5,7 +5,6 @@ import android.app.Activity
 | 
				
			|||||||
import android.content.Intent
 | 
					import android.content.Intent
 | 
				
			||||||
import android.content.SharedPreferences
 | 
					import android.content.SharedPreferences
 | 
				
			||||||
import android.graphics.Rect
 | 
					import android.graphics.Rect
 | 
				
			||||||
import android.net.Uri
 | 
					 | 
				
			||||||
import android.os.Bundle
 | 
					import android.os.Bundle
 | 
				
			||||||
import android.os.Handler
 | 
					import android.os.Handler
 | 
				
			||||||
import android.os.Looper
 | 
					import android.os.Looper
 | 
				
			||||||
@@ -23,7 +22,6 @@ import com.zhpan.indicator.enums.IndicatorSlideMode
 | 
				
			|||||||
import com.zhpan.indicator.enums.IndicatorStyle
 | 
					import com.zhpan.indicator.enums.IndicatorStyle
 | 
				
			||||||
import kr.co.vividnext.sodalive.R
 | 
					import kr.co.vividnext.sodalive.R
 | 
				
			||||||
import kr.co.vividnext.sodalive.audio_content.AudioContentPlayService
 | 
					import kr.co.vividnext.sodalive.audio_content.AudioContentPlayService
 | 
				
			||||||
import kr.co.vividnext.sodalive.audio_content.all.by_theme.AudioContentAllByThemeActivity
 | 
					 | 
				
			||||||
import kr.co.vividnext.sodalive.audio_content.player.AudioContentPlayerService
 | 
					import kr.co.vividnext.sodalive.audio_content.player.AudioContentPlayerService
 | 
				
			||||||
import kr.co.vividnext.sodalive.base.BaseFragment
 | 
					import kr.co.vividnext.sodalive.base.BaseFragment
 | 
				
			||||||
import kr.co.vividnext.sodalive.common.Constants
 | 
					import kr.co.vividnext.sodalive.common.Constants
 | 
				
			||||||
@@ -36,7 +34,6 @@ import kr.co.vividnext.sodalive.explorer.profile.creator_community.all.CreatorCo
 | 
				
			|||||||
import kr.co.vividnext.sodalive.extensions.dpToPx
 | 
					import kr.co.vividnext.sodalive.extensions.dpToPx
 | 
				
			||||||
import kr.co.vividnext.sodalive.extensions.moneyFormat
 | 
					import kr.co.vividnext.sodalive.extensions.moneyFormat
 | 
				
			||||||
import kr.co.vividnext.sodalive.following.FollowingCreatorActivity
 | 
					import kr.co.vividnext.sodalive.following.FollowingCreatorActivity
 | 
				
			||||||
import kr.co.vividnext.sodalive.live.event_banner.EventBannerAdapter
 | 
					 | 
				
			||||||
import kr.co.vividnext.sodalive.live.now.LiveNowAdapter
 | 
					import kr.co.vividnext.sodalive.live.now.LiveNowAdapter
 | 
				
			||||||
import kr.co.vividnext.sodalive.live.now.all.LiveNowAllActivity
 | 
					import kr.co.vividnext.sodalive.live.now.all.LiveNowAllActivity
 | 
				
			||||||
import kr.co.vividnext.sodalive.live.recommend.RecommendLiveAdapter
 | 
					import kr.co.vividnext.sodalive.live.recommend.RecommendLiveAdapter
 | 
				
			||||||
@@ -54,7 +51,8 @@ import kr.co.vividnext.sodalive.live.room.dialog.LiveRoomPasswordDialog
 | 
				
			|||||||
import kr.co.vividnext.sodalive.live.room.update.LiveRoomEditActivity
 | 
					import kr.co.vividnext.sodalive.live.room.update.LiveRoomEditActivity
 | 
				
			||||||
import kr.co.vividnext.sodalive.main.MainActivity
 | 
					import kr.co.vividnext.sodalive.main.MainActivity
 | 
				
			||||||
import kr.co.vividnext.sodalive.message.MessageActivity
 | 
					import kr.co.vividnext.sodalive.message.MessageActivity
 | 
				
			||||||
import kr.co.vividnext.sodalive.settings.event.EventDetailActivity
 | 
					import kr.co.vividnext.sodalive.mypage.can.charge.CanChargeActivity
 | 
				
			||||||
 | 
					import kr.co.vividnext.sodalive.search.SearchActivity
 | 
				
			||||||
import kr.co.vividnext.sodalive.settings.notification.MemberRole
 | 
					import kr.co.vividnext.sodalive.settings.notification.MemberRole
 | 
				
			||||||
import org.koin.android.ext.android.inject
 | 
					import org.koin.android.ext.android.inject
 | 
				
			||||||
import java.text.SimpleDateFormat
 | 
					import java.text.SimpleDateFormat
 | 
				
			||||||
@@ -121,24 +119,6 @@ class LiveFragment : BaseFragment<FragmentLiveBinding>(FragmentLiveBinding::infl
 | 
				
			|||||||
        SharedPreferenceManager.registerOnSharedPreferenceChangeListener(preferenceChangeListener)
 | 
					        SharedPreferenceManager.registerOnSharedPreferenceChangeListener(preferenceChangeListener)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        setupView()
 | 
					        setupView()
 | 
				
			||||||
        setupRecommendLive()
 | 
					 | 
				
			||||||
        setupRecommendChannel()
 | 
					 | 
				
			||||||
        setupLiveNow()
 | 
					 | 
				
			||||||
        setupLiveReservation()
 | 
					 | 
				
			||||||
        setupEvent()
 | 
					 | 
				
			||||||
        setupCommunityPost()
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        binding.llReviewLive.setOnClickListener {
 | 
					 | 
				
			||||||
            if (SharedPreferenceManager.token.isNotBlank()) {
 | 
					 | 
				
			||||||
                startActivity(
 | 
					 | 
				
			||||||
                    Intent(requireContext(), AudioContentAllByThemeActivity::class.java).apply {
 | 
					 | 
				
			||||||
                        putExtra(Constants.EXTRA_THEME_ID, 7L)
 | 
					 | 
				
			||||||
                    }
 | 
					 | 
				
			||||||
                )
 | 
					 | 
				
			||||||
            } else {
 | 
					 | 
				
			||||||
                (requireActivity() as MainActivity).showLoginActivity()
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
        message = "라이브를 불러오고 있습니다."
 | 
					        message = "라이브를 불러오고 있습니다."
 | 
				
			||||||
        viewModel.getSummary()
 | 
					        viewModel.getSummary()
 | 
				
			||||||
@@ -175,6 +155,48 @@ class LiveFragment : BaseFragment<FragmentLiveBinding>(FragmentLiveBinding::infl
 | 
				
			|||||||
            val intent = Intent(requireContext(), LiveRoomCreateActivity::class.java)
 | 
					            val intent = Intent(requireContext(), LiveRoomCreateActivity::class.java)
 | 
				
			||||||
            activityResultLauncher.launch(intent)
 | 
					            activityResultLauncher.launch(intent)
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        setupToolbar()
 | 
				
			||||||
 | 
					        setupLiveNow()
 | 
				
			||||||
 | 
					        setupCommunityPost()
 | 
				
			||||||
 | 
					        setupRecommendLive()
 | 
				
			||||||
 | 
					        setupRecommendChannel()
 | 
				
			||||||
 | 
					        setupLiveReservation()
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    private fun setupToolbar() {
 | 
				
			||||||
 | 
					        if (SharedPreferenceManager.token.isNotBlank()) {
 | 
				
			||||||
 | 
					            binding.llShortIcon.visibility = View.VISIBLE
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            binding.ivSearch.setOnClickListener {
 | 
				
			||||||
 | 
					                startActivity(
 | 
				
			||||||
 | 
					                    Intent(
 | 
				
			||||||
 | 
					                        requireContext(),
 | 
				
			||||||
 | 
					                        SearchActivity::class.java
 | 
				
			||||||
 | 
					                    )
 | 
				
			||||||
 | 
					                )
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            binding.ivCharge.setOnClickListener {
 | 
				
			||||||
 | 
					                startActivity(
 | 
				
			||||||
 | 
					                    Intent(
 | 
				
			||||||
 | 
					                        requireContext(),
 | 
				
			||||||
 | 
					                        CanChargeActivity::class.java
 | 
				
			||||||
 | 
					                    )
 | 
				
			||||||
 | 
					                )
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            binding.ivMessage.setOnClickListener {
 | 
				
			||||||
 | 
					                startActivity(
 | 
				
			||||||
 | 
					                    Intent(
 | 
				
			||||||
 | 
					                        requireContext(),
 | 
				
			||||||
 | 
					                        MessageActivity::class.java
 | 
				
			||||||
 | 
					                    )
 | 
				
			||||||
 | 
					                )
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        } else {
 | 
				
			||||||
 | 
					            binding.llShortIcon.visibility = View.GONE
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private fun refreshSummary() {
 | 
					    private fun refreshSummary() {
 | 
				
			||||||
@@ -188,22 +210,6 @@ class LiveFragment : BaseFragment<FragmentLiveBinding>(FragmentLiveBinding::infl
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    @SuppressLint("NotifyDataSetChanged")
 | 
					    @SuppressLint("NotifyDataSetChanged")
 | 
				
			||||||
    private fun setupRecommendLive() {
 | 
					    private fun setupRecommendLive() {
 | 
				
			||||||
        binding.layoutRecommendLive.ivMessage.visibility = if (
 | 
					 | 
				
			||||||
            SharedPreferenceManager.token.isNotBlank()
 | 
					 | 
				
			||||||
        ) {
 | 
					 | 
				
			||||||
            View.VISIBLE
 | 
					 | 
				
			||||||
        } else {
 | 
					 | 
				
			||||||
            View.GONE
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        binding.layoutRecommendLive.ivMessage.setOnClickListener {
 | 
					 | 
				
			||||||
            if (SharedPreferenceManager.token.isNotBlank()) {
 | 
					 | 
				
			||||||
                startActivity(Intent(requireContext(), MessageActivity::class.java))
 | 
					 | 
				
			||||||
            } else {
 | 
					 | 
				
			||||||
                (requireActivity() as MainActivity).showLoginActivity()
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        val layoutParams = binding
 | 
					        val layoutParams = binding
 | 
				
			||||||
            .layoutRecommendLive
 | 
					            .layoutRecommendLive
 | 
				
			||||||
            .pager
 | 
					            .pager
 | 
				
			||||||
@@ -255,6 +261,12 @@ class LiveFragment : BaseFragment<FragmentLiveBinding>(FragmentLiveBinding::infl
 | 
				
			|||||||
            if (it.isNotEmpty()) {
 | 
					            if (it.isNotEmpty()) {
 | 
				
			||||||
                binding.layoutRecommendLive.root.visibility = View.VISIBLE
 | 
					                binding.layoutRecommendLive.root.visibility = View.VISIBLE
 | 
				
			||||||
                binding.layoutRecommendLive.pager.refreshData(it)
 | 
					                binding.layoutRecommendLive.pager.refreshData(it)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                if (it.size > 1) {
 | 
				
			||||||
 | 
					                    binding.layoutRecommendLive.indicator2.visibility = View.VISIBLE
 | 
				
			||||||
 | 
					                } else {
 | 
				
			||||||
 | 
					                    binding.layoutRecommendLive.indicator2.visibility = View.GONE
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
            } else {
 | 
					            } else {
 | 
				
			||||||
                binding.layoutRecommendLive.root.visibility = View.GONE
 | 
					                binding.layoutRecommendLive.root.visibility = View.GONE
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
@@ -304,17 +316,17 @@ class LiveFragment : BaseFragment<FragmentLiveBinding>(FragmentLiveBinding::infl
 | 
				
			|||||||
                    when (parent.getChildAdapterPosition(view)) {
 | 
					                    when (parent.getChildAdapterPosition(view)) {
 | 
				
			||||||
                        0 -> {
 | 
					                        0 -> {
 | 
				
			||||||
                            outRect.left = 0.dpToPx().toInt()
 | 
					                            outRect.left = 0.dpToPx().toInt()
 | 
				
			||||||
                            outRect.right = 8.3f.dpToPx().toInt()
 | 
					                            outRect.right = 8f.dpToPx().toInt()
 | 
				
			||||||
                        }
 | 
					                        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                        liveRecommendChannelAdapter.itemCount - 1 -> {
 | 
					                        liveRecommendChannelAdapter.itemCount - 1 -> {
 | 
				
			||||||
                            outRect.left = 8.3f.dpToPx().toInt()
 | 
					                            outRect.left = 8f.dpToPx().toInt()
 | 
				
			||||||
                            outRect.right = 0.dpToPx().toInt()
 | 
					                            outRect.right = 0.dpToPx().toInt()
 | 
				
			||||||
                        }
 | 
					                        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                        else -> {
 | 
					                        else -> {
 | 
				
			||||||
                            outRect.left = 8.3f.dpToPx().toInt()
 | 
					                            outRect.left = 8f.dpToPx().toInt()
 | 
				
			||||||
                            outRect.right = 8.3f.dpToPx().toInt()
 | 
					                            outRect.right = 8f.dpToPx().toInt()
 | 
				
			||||||
                        }
 | 
					                        }
 | 
				
			||||||
                    }
 | 
					                    }
 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
@@ -323,37 +335,17 @@ class LiveFragment : BaseFragment<FragmentLiveBinding>(FragmentLiveBinding::infl
 | 
				
			|||||||
        binding.layoutRecommendChannel.rvRecommendChannel.adapter = liveRecommendChannelAdapter
 | 
					        binding.layoutRecommendChannel.rvRecommendChannel.adapter = liveRecommendChannelAdapter
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if (SharedPreferenceManager.token.isNotBlank()) {
 | 
					        if (SharedPreferenceManager.token.isNotBlank()) {
 | 
				
			||||||
            binding.layoutRecommendChannel.tvFollowingChannel.visibility = View.VISIBLE
 | 
					 | 
				
			||||||
            binding.layoutRecommendChannel.ivSwitch.visibility = View.VISIBLE
 | 
					 | 
				
			||||||
            binding.layoutRecommendChannel.ivSwitch.setOnClickListener {
 | 
					 | 
				
			||||||
                viewModel.toggleIsFollowedCreatorLive()
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        } else {
 | 
					 | 
				
			||||||
            binding.layoutRecommendChannel.tvFollowingChannel.visibility = View.GONE
 | 
					 | 
				
			||||||
            binding.layoutRecommendChannel.ivSwitch.visibility = View.GONE
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            viewModel.recommendChannelLiveData.observe(viewLifecycleOwner) {
 | 
					            viewModel.recommendChannelLiveData.observe(viewLifecycleOwner) {
 | 
				
			||||||
 | 
					                if (it.isNotEmpty()) {
 | 
				
			||||||
                    binding.layoutRecommendChannel.root.visibility = View.VISIBLE
 | 
					                    binding.layoutRecommendChannel.root.visibility = View.VISIBLE
 | 
				
			||||||
                    liveRecommendChannelAdapter.addItems(it)
 | 
					                    liveRecommendChannelAdapter.addItems(it)
 | 
				
			||||||
            binding.layoutRecommendChannel.rvRecommendChannel.requestLayout()
 | 
					 | 
				
			||||||
            binding.layoutRecommendChannel.root.requestLayout()
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        viewModel.isFollowedCreatorLive.observe(viewLifecycleOwner) {
 | 
					 | 
				
			||||||
            liveRecommendChannelAdapter.isFollowedCreatorLive = it
 | 
					 | 
				
			||||||
            liveRecommendChannelAdapter.clear()
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            if (it) {
 | 
					 | 
				
			||||||
                binding.layoutRecommendChannel.ivSwitch.setImageResource(R.drawable.btn_toggle_on_big)
 | 
					 | 
				
			||||||
                binding.layoutRecommendChannel.llTitle2.visibility = View.VISIBLE
 | 
					 | 
				
			||||||
                binding.layoutRecommendChannel.llTitle1.visibility = View.GONE
 | 
					 | 
				
			||||||
                } else {
 | 
					                } else {
 | 
				
			||||||
                binding.layoutRecommendChannel.ivSwitch.setImageResource(R.drawable.btn_toggle_off_big)
 | 
					                    binding.layoutRecommendChannel.root.visibility = View.GONE
 | 
				
			||||||
                binding.layoutRecommendChannel.llTitle1.visibility = View.VISIBLE
 | 
					 | 
				
			||||||
                binding.layoutRecommendChannel.llTitle2.visibility = View.GONE
 | 
					 | 
				
			||||||
                }
 | 
					                }
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					        } else {
 | 
				
			||||||
 | 
					            binding.layoutRecommendChannel.root.visibility = View.GONE
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @SuppressLint("NotifyDataSetChanged")
 | 
					    @SuppressLint("NotifyDataSetChanged")
 | 
				
			||||||
@@ -376,7 +368,7 @@ class LiveFragment : BaseFragment<FragmentLiveBinding>(FragmentLiveBinding::infl
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        val recyclerView = binding
 | 
					        val recyclerView = binding
 | 
				
			||||||
            .layoutLiveNow
 | 
					            .layoutLiveNow
 | 
				
			||||||
            .rvSudaNow
 | 
					            .rvLiveNow
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        liveNowAdapter = LiveNowAdapter {
 | 
					        liveNowAdapter = LiveNowAdapter {
 | 
				
			||||||
            if (SharedPreferenceManager.token.isNotBlank()) {
 | 
					            if (SharedPreferenceManager.token.isNotBlank()) {
 | 
				
			||||||
@@ -459,7 +451,7 @@ class LiveFragment : BaseFragment<FragmentLiveBinding>(FragmentLiveBinding::infl
 | 
				
			|||||||
    private fun setupLiveReservation() {
 | 
					    private fun setupLiveReservation() {
 | 
				
			||||||
        val recyclerView = binding
 | 
					        val recyclerView = binding
 | 
				
			||||||
            .layoutLiveReservation
 | 
					            .layoutLiveReservation
 | 
				
			||||||
            .rvSudaReservation
 | 
					            .rvLiveReservation
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        liveReservationAdapter = LiveReservationAdapter(isMain = true) {
 | 
					        liveReservationAdapter = LiveReservationAdapter(isMain = true) {
 | 
				
			||||||
            if (SharedPreferenceManager.token.isNotBlank()) {
 | 
					            if (SharedPreferenceManager.token.isNotBlank()) {
 | 
				
			||||||
@@ -555,58 +547,6 @@ class LiveFragment : BaseFragment<FragmentLiveBinding>(FragmentLiveBinding::infl
 | 
				
			|||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @SuppressLint("NotifyDataSetChanged")
 | 
					 | 
				
			||||||
    private fun setupEvent() {
 | 
					 | 
				
			||||||
        val imageSliderLp = binding.eventBannerSlider.layoutParams
 | 
					 | 
				
			||||||
        imageSliderLp.width = screenWidth
 | 
					 | 
				
			||||||
        imageSliderLp.height = (screenWidth * 300) / 1000
 | 
					 | 
				
			||||||
        binding.eventBannerSlider.layoutParams = imageSliderLp
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        binding.eventBannerSlider.apply {
 | 
					 | 
				
			||||||
            adapter = EventBannerAdapter(requireContext()) {
 | 
					 | 
				
			||||||
                if (SharedPreferenceManager.token.isNotBlank()) {
 | 
					 | 
				
			||||||
                    if (it.detailImageUrl != null) {
 | 
					 | 
				
			||||||
                        val intent = Intent(requireActivity(), EventDetailActivity::class.java)
 | 
					 | 
				
			||||||
                        intent.putExtra(Constants.EXTRA_EVENT, it)
 | 
					 | 
				
			||||||
                        startActivity(intent)
 | 
					 | 
				
			||||||
                    } else if (!it.link.isNullOrBlank()) {
 | 
					 | 
				
			||||||
                        startActivity(
 | 
					 | 
				
			||||||
                            Intent(
 | 
					 | 
				
			||||||
                                Intent.ACTION_VIEW,
 | 
					 | 
				
			||||||
                                Uri.parse(it.link)
 | 
					 | 
				
			||||||
                            )
 | 
					 | 
				
			||||||
                        )
 | 
					 | 
				
			||||||
                    }
 | 
					 | 
				
			||||||
                } else {
 | 
					 | 
				
			||||||
                    (requireActivity() as MainActivity).showLoginActivity()
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
            } as BaseBannerAdapter<Any>
 | 
					 | 
				
			||||||
            setLifecycleRegistry(lifecycle)
 | 
					 | 
				
			||||||
            setScrollDuration(800)
 | 
					 | 
				
			||||||
        }.create()
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        binding.eventBannerSlider
 | 
					 | 
				
			||||||
            .setIndicatorView(binding.indicator)
 | 
					 | 
				
			||||||
            .setIndicatorStyle(IndicatorStyle.ROUND_RECT)
 | 
					 | 
				
			||||||
            .setIndicatorSlideMode(IndicatorSlideMode.SMOOTH)
 | 
					 | 
				
			||||||
            .setIndicatorVisibility(View.GONE)
 | 
					 | 
				
			||||||
            .setIndicatorSliderColor(
 | 
					 | 
				
			||||||
                ContextCompat.getColor(requireContext(), R.color.color_909090),
 | 
					 | 
				
			||||||
                ContextCompat.getColor(requireContext(), R.color.color_3bb9f1)
 | 
					 | 
				
			||||||
            )
 | 
					 | 
				
			||||||
            .setIndicatorSliderWidth(4f.dpToPx().toInt(), 10f.dpToPx().toInt())
 | 
					 | 
				
			||||||
            .setIndicatorHeight(4f.dpToPx().toInt())
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        viewModel.eventLiveData.observe(viewLifecycleOwner) {
 | 
					 | 
				
			||||||
            if (it.isNotEmpty()) {
 | 
					 | 
				
			||||||
                binding.eventBannerSlider.visibility = View.VISIBLE
 | 
					 | 
				
			||||||
                binding.eventBannerSlider.refreshData(it)
 | 
					 | 
				
			||||||
            } else {
 | 
					 | 
				
			||||||
                binding.eventBannerSlider.visibility = View.GONE
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    @SuppressLint("NotifyDataSetChanged")
 | 
					    @SuppressLint("NotifyDataSetChanged")
 | 
				
			||||||
    private fun setupCommunityPost() {
 | 
					    private fun setupCommunityPost() {
 | 
				
			||||||
        val recyclerView = binding.rvCommunityPost
 | 
					        val recyclerView = binding.rvCommunityPost
 | 
				
			||||||
@@ -664,11 +604,13 @@ class LiveFragment : BaseFragment<FragmentLiveBinding>(FragmentLiveBinding::infl
 | 
				
			|||||||
        viewModel.communityPostItemLiveData.observe(viewLifecycleOwner) {
 | 
					        viewModel.communityPostItemLiveData.observe(viewLifecycleOwner) {
 | 
				
			||||||
            if (it.isNotEmpty()) {
 | 
					            if (it.isNotEmpty()) {
 | 
				
			||||||
                recyclerView.visibility = View.VISIBLE
 | 
					                recyclerView.visibility = View.VISIBLE
 | 
				
			||||||
 | 
					                binding.tvCommunityPost.visibility = View.VISIBLE
 | 
				
			||||||
                creatorCommunityAdapter.items.clear()
 | 
					                creatorCommunityAdapter.items.clear()
 | 
				
			||||||
                creatorCommunityAdapter.items.addAll(it)
 | 
					                creatorCommunityAdapter.items.addAll(it)
 | 
				
			||||||
                creatorCommunityAdapter.notifyDataSetChanged()
 | 
					                creatorCommunityAdapter.notifyDataSetChanged()
 | 
				
			||||||
            } else {
 | 
					            } else {
 | 
				
			||||||
                recyclerView.visibility = View.GONE
 | 
					                recyclerView.visibility = View.GONE
 | 
				
			||||||
 | 
					                binding.tvCommunityPost.visibility = View.GONE
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -41,12 +41,6 @@ class LiveViewModel(
 | 
				
			|||||||
    val recommendLiveData: LiveData<List<GetRecommendLiveResponse>>
 | 
					    val recommendLiveData: LiveData<List<GetRecommendLiveResponse>>
 | 
				
			||||||
        get() = _recommendLiveData
 | 
					        get() = _recommendLiveData
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private val _isFollowedCreatorLive = MutableLiveData(
 | 
					 | 
				
			||||||
        SharedPreferenceManager.isFollowedCreatorLive
 | 
					 | 
				
			||||||
    )
 | 
					 | 
				
			||||||
    val isFollowedCreatorLive: LiveData<Boolean>
 | 
					 | 
				
			||||||
        get() = _isFollowedCreatorLive
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    private val _recommendChannelLiveData = MutableLiveData<List<GetRecommendChannelResponse>>()
 | 
					    private val _recommendChannelLiveData = MutableLiveData<List<GetRecommendChannelResponse>>()
 | 
				
			||||||
    val recommendChannelLiveData: LiveData<List<GetRecommendChannelResponse>>
 | 
					    val recommendChannelLiveData: LiveData<List<GetRecommendChannelResponse>>
 | 
				
			||||||
        get() = _recommendChannelLiveData
 | 
					        get() = _recommendChannelLiveData
 | 
				
			||||||
@@ -71,17 +65,6 @@ class LiveViewModel(
 | 
				
			|||||||
    var isLast = false
 | 
					    var isLast = false
 | 
				
			||||||
    private val pageSize = 10
 | 
					    private val pageSize = 10
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    fun toggleIsFollowedCreatorLive() {
 | 
					 | 
				
			||||||
        val isOn = !_isFollowedCreatorLive.value!!
 | 
					 | 
				
			||||||
        SharedPreferenceManager.isFollowedCreatorLive = isOn
 | 
					 | 
				
			||||||
        _isFollowedCreatorLive.value = isOn
 | 
					 | 
				
			||||||
        if (_isFollowedCreatorLive.value!!) {
 | 
					 | 
				
			||||||
            getFollowedChannelList()
 | 
					 | 
				
			||||||
        } else {
 | 
					 | 
				
			||||||
            getRecommendChannelList()
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    private fun getFollowedChannelList() {
 | 
					    private fun getFollowedChannelList() {
 | 
				
			||||||
        compositeDisposable.add(
 | 
					        compositeDisposable.add(
 | 
				
			||||||
            liveRecommendRepository.getFollowingChannelList(
 | 
					            liveRecommendRepository.getFollowingChannelList(
 | 
				
			||||||
@@ -112,36 +95,6 @@ class LiveViewModel(
 | 
				
			|||||||
        )
 | 
					        )
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    private fun getRecommendChannelList() {
 | 
					 | 
				
			||||||
        compositeDisposable.add(
 | 
					 | 
				
			||||||
            liveRecommendRepository.getRecommendChannelList(
 | 
					 | 
				
			||||||
                token = "Bearer ${SharedPreferenceManager.token}"
 | 
					 | 
				
			||||||
            )
 | 
					 | 
				
			||||||
                .subscribeOn(Schedulers.io())
 | 
					 | 
				
			||||||
                .observeOn(AndroidSchedulers.mainThread())
 | 
					 | 
				
			||||||
                .subscribe(
 | 
					 | 
				
			||||||
                    {
 | 
					 | 
				
			||||||
                        if (it.success && it.data != null) {
 | 
					 | 
				
			||||||
                            _recommendChannelLiveData.postValue(it.data!!)
 | 
					 | 
				
			||||||
                        } else {
 | 
					 | 
				
			||||||
                            if (it.message != null) {
 | 
					 | 
				
			||||||
                                _toastLiveData.postValue(it.message)
 | 
					 | 
				
			||||||
                            } else {
 | 
					 | 
				
			||||||
                                _toastLiveData.postValue(
 | 
					 | 
				
			||||||
                                    "알 수 없는 오류가 발생했습니다. 다시 시도해 주세요."
 | 
					 | 
				
			||||||
                                )
 | 
					 | 
				
			||||||
                            }
 | 
					 | 
				
			||||||
                        }
 | 
					 | 
				
			||||||
                    },
 | 
					 | 
				
			||||||
                    {
 | 
					 | 
				
			||||||
                        _isLoading.value = false
 | 
					 | 
				
			||||||
                        it.message?.let { message -> Logger.e(message) }
 | 
					 | 
				
			||||||
                        _toastLiveData.postValue("알 수 없는 오류가 발생했습니다. 다시 시도해 주세요.")
 | 
					 | 
				
			||||||
                    }
 | 
					 | 
				
			||||||
                )
 | 
					 | 
				
			||||||
        )
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    private fun getLatestPostListFromCreatorsYouFollow() {
 | 
					    private fun getLatestPostListFromCreatorsYouFollow() {
 | 
				
			||||||
        compositeDisposable.add(
 | 
					        compositeDisposable.add(
 | 
				
			||||||
            creatorCommunityRepository.getLatestPostListFromCreatorsYouFollow(
 | 
					            creatorCommunityRepository.getLatestPostListFromCreatorsYouFollow(
 | 
				
			||||||
@@ -174,13 +127,9 @@ class LiveViewModel(
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    fun getSummary() {
 | 
					    fun getSummary() {
 | 
				
			||||||
        if (!_isLoading.value!!) {
 | 
					        if (!_isLoading.value!!) {
 | 
				
			||||||
            if (_isFollowedCreatorLive.value!!) {
 | 
					 | 
				
			||||||
                getFollowedChannelList()
 | 
					 | 
				
			||||||
            } else {
 | 
					 | 
				
			||||||
                getRecommendChannelList()
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if (SharedPreferenceManager.token.isNotBlank()) {
 | 
					            if (SharedPreferenceManager.token.isNotBlank()) {
 | 
				
			||||||
 | 
					                getFollowedChannelList()
 | 
				
			||||||
                getLatestPostListFromCreatorsYouFollow()
 | 
					                getLatestPostListFromCreatorsYouFollow()
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -17,8 +17,6 @@ class LiveRecommendChannelAdapter(
 | 
				
			|||||||
    private val onClickMore: () -> Unit,
 | 
					    private val onClickMore: () -> Unit,
 | 
				
			||||||
) : RecyclerView.Adapter<RecyclerView.ViewHolder>() {
 | 
					) : RecyclerView.Adapter<RecyclerView.ViewHolder>() {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    var isFollowedCreatorLive = false
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    private val items = mutableListOf<GetRecommendChannelResponse>()
 | 
					    private val items = mutableListOf<GetRecommendChannelResponse>()
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    class FooterViewHolder(
 | 
					    class FooterViewHolder(
 | 
				
			||||||
@@ -112,13 +110,7 @@ class LiveRecommendChannelAdapter(
 | 
				
			|||||||
        }
 | 
					        }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    override fun getItemCount(): Int {
 | 
					    override fun getItemCount() = items.size + 1
 | 
				
			||||||
        return if (isFollowedCreatorLive) {
 | 
					 | 
				
			||||||
            items.size + 1
 | 
					 | 
				
			||||||
        } else {
 | 
					 | 
				
			||||||
            items.size
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    override fun getItemViewType(position: Int): Int {
 | 
					    override fun getItemViewType(position: Int): Int {
 | 
				
			||||||
        return if (position == items.size) {
 | 
					        return if (position == items.size) {
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										5
									
								
								app/src/main/res/drawable/bg_round_corner_16_263238.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								app/src/main/res/drawable/bg_round_corner_16_263238.xml
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,5 @@
 | 
				
			|||||||
 | 
					<?xml version="1.0" encoding="utf-8"?>
 | 
				
			||||||
 | 
					<shape xmlns:android="http://schemas.android.com/apk/res/android">
 | 
				
			||||||
 | 
					    <solid android:color="#263238" />
 | 
				
			||||||
 | 
					    <corners android:radius="16dp" />
 | 
				
			||||||
 | 
					</shape>
 | 
				
			||||||
@@ -4,86 +4,114 @@
 | 
				
			|||||||
    android:layout_width="match_parent"
 | 
					    android:layout_width="match_parent"
 | 
				
			||||||
    android:layout_height="match_parent">
 | 
					    android:layout_height="match_parent">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <androidx.core.widget.NestedScrollView
 | 
					    <RelativeLayout
 | 
				
			||||||
        android:layout_width="match_parent"
 | 
					        android:id="@+id/main_toolbar"
 | 
				
			||||||
        android:layout_height="match_parent">
 | 
					        android:layout_width="0dp"
 | 
				
			||||||
 | 
					        android:layout_height="?attr/actionBarSize"
 | 
				
			||||||
 | 
					        android:paddingHorizontal="24dp"
 | 
				
			||||||
 | 
					        app:layout_constraintEnd_toEndOf="parent"
 | 
				
			||||||
 | 
					        app:layout_constraintStart_toStartOf="parent"
 | 
				
			||||||
 | 
					        app:layout_constraintTop_toTopOf="parent">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        <LinearLayout
 | 
					        <ImageView
 | 
				
			||||||
            android:layout_width="match_parent"
 | 
					 | 
				
			||||||
            android:layout_height="wrap_content"
 | 
					 | 
				
			||||||
            android:orientation="vertical">
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            <include
 | 
					 | 
				
			||||||
                android:id="@+id/layout_recommend_live"
 | 
					 | 
				
			||||||
                layout="@layout/layout_recommend_live"
 | 
					 | 
				
			||||||
                android:layout_width="match_parent"
 | 
					 | 
				
			||||||
                android:layout_height="wrap_content"
 | 
					 | 
				
			||||||
                android:layout_marginHorizontal="13.3dp"
 | 
					 | 
				
			||||||
                android:layout_marginTop="13.3dp"
 | 
					 | 
				
			||||||
                android:layout_marginBottom="40dp" />
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            <LinearLayout
 | 
					 | 
				
			||||||
                android:id="@+id/ll_review_live"
 | 
					 | 
				
			||||||
                android:layout_width="match_parent"
 | 
					 | 
				
			||||||
                android:layout_height="wrap_content"
 | 
					 | 
				
			||||||
                android:layout_marginHorizontal="13.3dp"
 | 
					 | 
				
			||||||
                android:layout_marginBottom="40dp"
 | 
					 | 
				
			||||||
                android:background="@drawable/img_bg_review_live"
 | 
					 | 
				
			||||||
                android:gravity="center"
 | 
					 | 
				
			||||||
                android:orientation="vertical">
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                <TextView
 | 
					 | 
				
			||||||
            android:layout_width="wrap_content"
 | 
					            android:layout_width="wrap_content"
 | 
				
			||||||
            android:layout_height="wrap_content"
 | 
					            android:layout_height="wrap_content"
 | 
				
			||||||
                    android:drawablePadding="2.7dp"
 | 
					            android:layout_alignParentStart="true"
 | 
				
			||||||
                    android:fontFamily="@font/gmarket_sans_bold"
 | 
					            android:layout_centerVertical="true"
 | 
				
			||||||
                    android:gravity="center"
 | 
					            android:contentDescription="@null"
 | 
				
			||||||
                    android:text="라이브 다시듣기"
 | 
					            android:src="@drawable/img_text_logo" />
 | 
				
			||||||
                    android:textColor="@color/color_672bff"
 | 
					 | 
				
			||||||
                    android:textSize="16.7sp"
 | 
					 | 
				
			||||||
                    app:drawableStartCompat="@drawable/ic_thumb_play_purple" />
 | 
					 | 
				
			||||||
            </LinearLayout>
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
            <include
 | 
					        <LinearLayout
 | 
				
			||||||
                android:id="@+id/layout_recommend_channel"
 | 
					            android:id="@+id/ll_short_icon"
 | 
				
			||||||
                layout="@layout/layout_live_recommend_channel"
 | 
					            android:layout_width="wrap_content"
 | 
				
			||||||
 | 
					            android:layout_height="wrap_content"
 | 
				
			||||||
 | 
					            android:layout_alignParentEnd="true"
 | 
				
			||||||
 | 
					            android:layout_centerVertical="true"
 | 
				
			||||||
 | 
					            android:orientation="horizontal"
 | 
				
			||||||
 | 
					            android:visibility="gone">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            <ImageView
 | 
				
			||||||
 | 
					                android:id="@+id/iv_search"
 | 
				
			||||||
 | 
					                android:layout_width="wrap_content"
 | 
				
			||||||
 | 
					                android:layout_height="wrap_content"
 | 
				
			||||||
 | 
					                android:contentDescription="@null"
 | 
				
			||||||
 | 
					                android:src="@drawable/ic_search_white" />
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            <ImageView
 | 
				
			||||||
 | 
					                android:id="@+id/iv_charge"
 | 
				
			||||||
 | 
					                android:layout_width="wrap_content"
 | 
				
			||||||
 | 
					                android:layout_height="wrap_content"
 | 
				
			||||||
 | 
					                android:layout_marginHorizontal="24dp"
 | 
				
			||||||
 | 
					                android:contentDescription="@null"
 | 
				
			||||||
 | 
					                android:src="@drawable/ic_can_circle" />
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            <ImageView
 | 
				
			||||||
 | 
					                android:id="@+id/iv_message"
 | 
				
			||||||
 | 
					                android:layout_width="25dp"
 | 
				
			||||||
 | 
					                android:layout_height="25dp"
 | 
				
			||||||
 | 
					                android:contentDescription="@null"
 | 
				
			||||||
 | 
					                android:src="@drawable/ic_message" />
 | 
				
			||||||
 | 
					        </LinearLayout>
 | 
				
			||||||
 | 
					    </RelativeLayout>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    <androidx.core.widget.NestedScrollView
 | 
				
			||||||
 | 
					        android:layout_width="0dp"
 | 
				
			||||||
 | 
					        android:layout_height="0dp"
 | 
				
			||||||
 | 
					        app:layout_constraintBottom_toBottomOf="parent"
 | 
				
			||||||
 | 
					        app:layout_constraintEnd_toEndOf="parent"
 | 
				
			||||||
 | 
					        app:layout_constraintStart_toStartOf="parent"
 | 
				
			||||||
 | 
					        app:layout_constraintTop_toBottomOf="@+id/main_toolbar">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        <LinearLayout
 | 
				
			||||||
            android:layout_width="match_parent"
 | 
					            android:layout_width="match_parent"
 | 
				
			||||||
            android:layout_height="wrap_content"
 | 
					            android:layout_height="wrap_content"
 | 
				
			||||||
                android:layout_marginHorizontal="13.3dp" />
 | 
					            android:orientation="vertical"
 | 
				
			||||||
 | 
					            android:paddingVertical="24dp">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            <include
 | 
					            <include
 | 
				
			||||||
                android:id="@+id/layout_live_now"
 | 
					                android:id="@+id/layout_live_now"
 | 
				
			||||||
                layout="@layout/layout_live_now"
 | 
					                layout="@layout/layout_live_now"
 | 
				
			||||||
                android:layout_width="match_parent"
 | 
					                android:layout_width="match_parent"
 | 
				
			||||||
                android:layout_height="wrap_content"
 | 
					                android:layout_height="wrap_content"
 | 
				
			||||||
                android:layout_marginTop="40dp" />
 | 
					                android:layout_marginBottom="48dp" />
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            <com.zhpan.bannerview.BannerViewPager
 | 
					            <TextView
 | 
				
			||||||
                android:id="@+id/event_banner_slider"
 | 
					                android:id="@+id/tv_community_post"
 | 
				
			||||||
                android:layout_width="match_parent"
 | 
					                android:layout_width="match_parent"
 | 
				
			||||||
                android:layout_height="wrap_content"
 | 
					                android:layout_height="wrap_content"
 | 
				
			||||||
                android:layout_marginTop="40dp" />
 | 
					                android:layout_marginHorizontal="24dp"
 | 
				
			||||||
 | 
					                android:layout_marginBottom="14dp"
 | 
				
			||||||
            <com.zhpan.indicator.IndicatorView
 | 
					                android:fontFamily="@font/pretendard_bold"
 | 
				
			||||||
                android:id="@+id/indicator"
 | 
					                android:text="커뮤니티"
 | 
				
			||||||
                android:layout_width="match_parent"
 | 
					                android:textColor="@color/color_3bb9f1"
 | 
				
			||||||
                android:layout_height="wrap_content"
 | 
					                android:textSize="26sp" />
 | 
				
			||||||
                android:layout_gravity="center"
 | 
					 | 
				
			||||||
                android:layout_marginTop="6.7dp" />
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
            <androidx.recyclerview.widget.RecyclerView
 | 
					            <androidx.recyclerview.widget.RecyclerView
 | 
				
			||||||
                android:id="@+id/rv_community_post"
 | 
					                android:id="@+id/rv_community_post"
 | 
				
			||||||
                android:layout_width="match_parent"
 | 
					                android:layout_width="match_parent"
 | 
				
			||||||
                android:layout_height="wrap_content"
 | 
					                android:layout_height="wrap_content"
 | 
				
			||||||
                android:layout_marginTop="40dp"
 | 
					                android:layout_marginBottom="48dp"
 | 
				
			||||||
                android:visibility="gone" />
 | 
					                android:visibility="gone" />
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            <include
 | 
				
			||||||
 | 
					                android:id="@+id/layout_recommend_live"
 | 
				
			||||||
 | 
					                layout="@layout/layout_recommend_live"
 | 
				
			||||||
 | 
					                android:layout_width="match_parent"
 | 
				
			||||||
 | 
					                android:layout_height="wrap_content"
 | 
				
			||||||
 | 
					                android:layout_marginBottom="48dp" />
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            <include
 | 
				
			||||||
 | 
					                android:id="@+id/layout_recommend_channel"
 | 
				
			||||||
 | 
					                layout="@layout/layout_live_recommend_channel"
 | 
				
			||||||
 | 
					                android:layout_width="match_parent"
 | 
				
			||||||
 | 
					                android:layout_height="wrap_content"
 | 
				
			||||||
 | 
					                android:layout_marginBottom="48dp" />
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            <include
 | 
					            <include
 | 
				
			||||||
                android:id="@+id/layout_live_reservation"
 | 
					                android:id="@+id/layout_live_reservation"
 | 
				
			||||||
                layout="@layout/layout_live_reservation"
 | 
					                layout="@layout/layout_live_reservation"
 | 
				
			||||||
                android:layout_width="match_parent"
 | 
					                android:layout_width="match_parent"
 | 
				
			||||||
                android:layout_height="wrap_content"
 | 
					                android:layout_height="wrap_content" />
 | 
				
			||||||
                android:layout_marginTop="40dp" />
 | 
					 | 
				
			||||||
        </LinearLayout>
 | 
					        </LinearLayout>
 | 
				
			||||||
    </androidx.core.widget.NestedScrollView>
 | 
					    </androidx.core.widget.NestedScrollView>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -29,7 +29,7 @@
 | 
				
			|||||||
            android:layout_height="wrap_content"
 | 
					            android:layout_height="wrap_content"
 | 
				
			||||||
            android:layout_gravity="bottom|center_horizontal"
 | 
					            android:layout_gravity="bottom|center_horizontal"
 | 
				
			||||||
            android:background="@drawable/bg_round_corner_6_7_3bb9f1"
 | 
					            android:background="@drawable/bg_round_corner_6_7_3bb9f1"
 | 
				
			||||||
            android:fontFamily="@font/gmarket_sans_bold"
 | 
					            android:fontFamily="@font/pretendard_bold"
 | 
				
			||||||
            android:paddingHorizontal="5.7dp"
 | 
					            android:paddingHorizontal="5.7dp"
 | 
				
			||||||
            android:paddingVertical="2.7dp"
 | 
					            android:paddingVertical="2.7dp"
 | 
				
			||||||
            android:text="LIVE"
 | 
					            android:text="LIVE"
 | 
				
			||||||
@@ -42,12 +42,12 @@
 | 
				
			|||||||
        android:id="@+id/tv_recommend_channel_nickname"
 | 
					        android:id="@+id/tv_recommend_channel_nickname"
 | 
				
			||||||
        android:layout_width="wrap_content"
 | 
					        android:layout_width="wrap_content"
 | 
				
			||||||
        android:layout_height="wrap_content"
 | 
					        android:layout_height="wrap_content"
 | 
				
			||||||
        android:layout_marginTop="11.3dp"
 | 
					        android:layout_marginTop="12dp"
 | 
				
			||||||
        android:ellipsize="end"
 | 
					        android:ellipsize="end"
 | 
				
			||||||
        android:fontFamily="@font/gmarket_sans_medium"
 | 
					        android:fontFamily="@font/pretendard_regular"
 | 
				
			||||||
        android:lines="1"
 | 
					        android:lines="1"
 | 
				
			||||||
        android:textColor="@color/color_bbbbbb"
 | 
					        android:textColor="@color/white"
 | 
				
			||||||
        android:textSize="11.3sp"
 | 
					        android:textSize="14sp"
 | 
				
			||||||
        tools:text="검은사신" />
 | 
					        tools:text="검은사신" />
 | 
				
			||||||
 | 
					
 | 
				
			||||||
</LinearLayout>
 | 
					</LinearLayout>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -8,7 +8,7 @@
 | 
				
			|||||||
    <RelativeLayout
 | 
					    <RelativeLayout
 | 
				
			||||||
        android:layout_width="match_parent"
 | 
					        android:layout_width="match_parent"
 | 
				
			||||||
        android:layout_height="wrap_content"
 | 
					        android:layout_height="wrap_content"
 | 
				
			||||||
        android:paddingHorizontal="13.3dp">
 | 
					        android:paddingHorizontal="24dp">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        <LinearLayout
 | 
					        <LinearLayout
 | 
				
			||||||
            android:layout_width="match_parent"
 | 
					            android:layout_width="match_parent"
 | 
				
			||||||
@@ -18,18 +18,18 @@
 | 
				
			|||||||
            <TextView
 | 
					            <TextView
 | 
				
			||||||
                android:layout_width="wrap_content"
 | 
					                android:layout_width="wrap_content"
 | 
				
			||||||
                android:layout_height="wrap_content"
 | 
					                android:layout_height="wrap_content"
 | 
				
			||||||
                android:fontFamily="@font/gmarket_sans_bold"
 | 
					                android:fontFamily="@font/pretendard_bold"
 | 
				
			||||||
                android:text="지금 "
 | 
					                android:text="지금 "
 | 
				
			||||||
                android:textColor="@color/color_eeeeee"
 | 
					                android:textColor="@color/color_3bb9f1"
 | 
				
			||||||
                android:textSize="18.3sp" />
 | 
					                android:textSize="26sp" />
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            <TextView
 | 
					            <TextView
 | 
				
			||||||
                android:layout_width="wrap_content"
 | 
					                android:layout_width="wrap_content"
 | 
				
			||||||
                android:layout_height="wrap_content"
 | 
					                android:layout_height="wrap_content"
 | 
				
			||||||
                android:fontFamily="@font/gmarket_sans_bold"
 | 
					                android:fontFamily="@font/pretendard_bold"
 | 
				
			||||||
                android:text="라이브중"
 | 
					                android:text="라이브중"
 | 
				
			||||||
                android:textColor="@color/color_ff5c49"
 | 
					                android:textColor="@color/white"
 | 
				
			||||||
                android:textSize="18.3sp" />
 | 
					                android:textSize="26sp" />
 | 
				
			||||||
        </LinearLayout>
 | 
					        </LinearLayout>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        <TextView
 | 
					        <TextView
 | 
				
			||||||
@@ -38,29 +38,29 @@
 | 
				
			|||||||
            android:layout_height="wrap_content"
 | 
					            android:layout_height="wrap_content"
 | 
				
			||||||
            android:layout_alignParentEnd="true"
 | 
					            android:layout_alignParentEnd="true"
 | 
				
			||||||
            android:layout_centerVertical="true"
 | 
					            android:layout_centerVertical="true"
 | 
				
			||||||
            android:fontFamily="@font/gmarket_sans_light"
 | 
					            android:fontFamily="@font/pretendard_regular"
 | 
				
			||||||
            android:text="전체보기"
 | 
					            android:text="전체보기"
 | 
				
			||||||
            android:textColor="@color/color_bbbbbb"
 | 
					            android:textColor="#78909C"
 | 
				
			||||||
            android:textSize="11.3sp" />
 | 
					            android:textSize="14sp" />
 | 
				
			||||||
    </RelativeLayout>
 | 
					    </RelativeLayout>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <androidx.recyclerview.widget.RecyclerView
 | 
					    <androidx.recyclerview.widget.RecyclerView
 | 
				
			||||||
        android:id="@+id/rv_suda_now"
 | 
					        android:id="@+id/rv_live_now"
 | 
				
			||||||
        android:layout_width="match_parent"
 | 
					        android:layout_width="match_parent"
 | 
				
			||||||
        android:layout_height="wrap_content"
 | 
					        android:layout_height="wrap_content"
 | 
				
			||||||
        android:layout_marginTop="28.3dp"
 | 
					        android:layout_marginTop="14dp"
 | 
				
			||||||
        android:visibility="gone" />
 | 
					        android:visibility="gone" />
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <LinearLayout
 | 
					    <LinearLayout
 | 
				
			||||||
        android:id="@+id/ll_no_items"
 | 
					        android:id="@+id/ll_no_items"
 | 
				
			||||||
        android:layout_width="match_parent"
 | 
					        android:layout_width="match_parent"
 | 
				
			||||||
        android:layout_height="wrap_content"
 | 
					        android:layout_height="wrap_content"
 | 
				
			||||||
        android:layout_marginHorizontal="13.3dp"
 | 
					        android:layout_marginHorizontal="24dp"
 | 
				
			||||||
        android:layout_marginTop="28.3dp"
 | 
					        android:layout_marginTop="28dp"
 | 
				
			||||||
        android:background="@drawable/bg_round_corner_4_7_13181b"
 | 
					        android:background="@drawable/bg_round_corner_16_263238"
 | 
				
			||||||
        android:gravity="center"
 | 
					        android:gravity="center"
 | 
				
			||||||
        android:orientation="vertical"
 | 
					        android:orientation="vertical"
 | 
				
			||||||
        android:paddingVertical="16.7dp"
 | 
					        android:paddingVertical="16dp"
 | 
				
			||||||
        android:visibility="gone">
 | 
					        android:visibility="gone">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        <ImageView
 | 
					        <ImageView
 | 
				
			||||||
@@ -73,12 +73,12 @@
 | 
				
			|||||||
            android:layout_width="wrap_content"
 | 
					            android:layout_width="wrap_content"
 | 
				
			||||||
            android:layout_height="wrap_content"
 | 
					            android:layout_height="wrap_content"
 | 
				
			||||||
            android:layout_marginVertical="10dp"
 | 
					            android:layout_marginVertical="10dp"
 | 
				
			||||||
            android:fontFamily="@font/gmarket_sans_medium"
 | 
					            android:fontFamily="@font/pretendard_regular"
 | 
				
			||||||
            android:gravity="center"
 | 
					            android:gravity="center"
 | 
				
			||||||
            android:text="마이페이지에서 본인인증을 하거나\n라이브를 예약하고 참여해보세요."
 | 
					 | 
				
			||||||
            android:textColor="@color/color_bbbbbb"
 | 
					 | 
				
			||||||
            android:textSize="13sp"
 | 
					 | 
				
			||||||
            android:lineSpacingExtra="8dp"
 | 
					            android:lineSpacingExtra="8dp"
 | 
				
			||||||
 | 
					            android:text="마이페이지에서 본인인증을 하거나\n라이브를 예약하고 참여해보세요."
 | 
				
			||||||
 | 
					            android:textColor="@color/white"
 | 
				
			||||||
 | 
					            android:textSize="13sp"
 | 
				
			||||||
            tools:ignore="SmallSp" />
 | 
					            tools:ignore="SmallSp" />
 | 
				
			||||||
    </LinearLayout>
 | 
					    </LinearLayout>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@@ -86,8 +86,8 @@
 | 
				
			|||||||
        android:id="@+id/ll_refresh"
 | 
					        android:id="@+id/ll_refresh"
 | 
				
			||||||
        android:layout_width="match_parent"
 | 
					        android:layout_width="match_parent"
 | 
				
			||||||
        android:layout_height="wrap_content"
 | 
					        android:layout_height="wrap_content"
 | 
				
			||||||
        android:layout_marginTop="13.3dp"
 | 
					        android:layout_marginHorizontal="24dp"
 | 
				
			||||||
        android:layout_marginHorizontal="13.3dp"
 | 
					        android:layout_marginTop="16dp"
 | 
				
			||||||
        android:background="@drawable/bg_round_corner_26_7_transparent_909090"
 | 
					        android:background="@drawable/bg_round_corner_26_7_transparent_909090"
 | 
				
			||||||
        android:gravity="center"
 | 
					        android:gravity="center"
 | 
				
			||||||
        android:paddingVertical="11dp">
 | 
					        android:paddingVertical="11dp">
 | 
				
			||||||
@@ -102,7 +102,7 @@
 | 
				
			|||||||
            android:layout_width="wrap_content"
 | 
					            android:layout_width="wrap_content"
 | 
				
			||||||
            android:layout_height="wrap_content"
 | 
					            android:layout_height="wrap_content"
 | 
				
			||||||
            android:layout_marginStart="8dp"
 | 
					            android:layout_marginStart="8dp"
 | 
				
			||||||
            android:fontFamily="@font/gmarket_sans_medium"
 | 
					            android:fontFamily="@font/pretendard_regular"
 | 
				
			||||||
            android:text="새로고침"
 | 
					            android:text="새로고침"
 | 
				
			||||||
            android:textSize="14.7sp" />
 | 
					            android:textSize="14.7sp" />
 | 
				
			||||||
    </LinearLayout>
 | 
					    </LinearLayout>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -6,84 +6,38 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    <RelativeLayout
 | 
					    <RelativeLayout
 | 
				
			||||||
        android:layout_width="match_parent"
 | 
					        android:layout_width="match_parent"
 | 
				
			||||||
        android:layout_height="wrap_content">
 | 
					        android:layout_height="wrap_content"
 | 
				
			||||||
 | 
					        android:paddingHorizontal="24dp">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        <LinearLayout
 | 
					        <LinearLayout
 | 
				
			||||||
            android:id="@+id/ll_title_1"
 | 
					 | 
				
			||||||
            android:layout_width="match_parent"
 | 
					            android:layout_width="match_parent"
 | 
				
			||||||
            android:layout_height="wrap_content"
 | 
					            android:layout_height="wrap_content"
 | 
				
			||||||
            android:visibility="visible"
 | 
					 | 
				
			||||||
            android:layout_centerVertical="true"
 | 
					 | 
				
			||||||
            android:orientation="horizontal">
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            <TextView
 | 
					 | 
				
			||||||
                android:id="@+id/tv_title1"
 | 
					 | 
				
			||||||
                android:layout_width="wrap_content"
 | 
					 | 
				
			||||||
                android:layout_height="wrap_content"
 | 
					 | 
				
			||||||
                android:fontFamily="@font/gmarket_sans_bold"
 | 
					 | 
				
			||||||
                android:text="추천 "
 | 
					 | 
				
			||||||
                android:textColor="@color/color_eeeeee"
 | 
					 | 
				
			||||||
                android:textSize="18.3sp" />
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            <TextView
 | 
					 | 
				
			||||||
                android:layout_width="wrap_content"
 | 
					 | 
				
			||||||
                android:layout_height="wrap_content"
 | 
					 | 
				
			||||||
                android:fontFamily="@font/gmarket_sans_bold"
 | 
					 | 
				
			||||||
                android:text="채널"
 | 
					 | 
				
			||||||
                android:textColor="@color/color_3bb9f1"
 | 
					 | 
				
			||||||
                android:textSize="18.3sp" />
 | 
					 | 
				
			||||||
        </LinearLayout>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        <LinearLayout
 | 
					 | 
				
			||||||
            android:id="@+id/ll_title_2"
 | 
					 | 
				
			||||||
            android:layout_width="match_parent"
 | 
					 | 
				
			||||||
            android:visibility="gone"
 | 
					 | 
				
			||||||
            android:layout_height="wrap_content"
 | 
					 | 
				
			||||||
            android:layout_centerVertical="true"
 | 
					            android:layout_centerVertical="true"
 | 
				
			||||||
            android:orientation="horizontal">
 | 
					            android:orientation="horizontal">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            <TextView
 | 
					            <TextView
 | 
				
			||||||
                android:layout_width="wrap_content"
 | 
					                android:layout_width="wrap_content"
 | 
				
			||||||
                android:layout_height="wrap_content"
 | 
					                android:layout_height="wrap_content"
 | 
				
			||||||
                android:fontFamily="@font/gmarket_sans_bold"
 | 
					                android:fontFamily="@font/pretendard_bold"
 | 
				
			||||||
                android:text="팔로잉 "
 | 
					                android:text="팔로잉 "
 | 
				
			||||||
                android:textColor="@color/color_eeeeee"
 | 
					 | 
				
			||||||
                android:textSize="18.3sp" />
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            <TextView
 | 
					 | 
				
			||||||
                android:layout_width="wrap_content"
 | 
					 | 
				
			||||||
                android:layout_height="wrap_content"
 | 
					 | 
				
			||||||
                android:fontFamily="@font/gmarket_sans_bold"
 | 
					 | 
				
			||||||
                android:text="채널"
 | 
					 | 
				
			||||||
                android:textColor="@color/color_3bb9f1"
 | 
					                android:textColor="@color/color_3bb9f1"
 | 
				
			||||||
                android:textSize="18.3sp" />
 | 
					                android:textSize="26sp" />
 | 
				
			||||||
        </LinearLayout>
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
            <TextView
 | 
					            <TextView
 | 
				
			||||||
            android:id="@+id/tv_following_channel"
 | 
					 | 
				
			||||||
                android:layout_width="wrap_content"
 | 
					                android:layout_width="wrap_content"
 | 
				
			||||||
                android:layout_height="wrap_content"
 | 
					                android:layout_height="wrap_content"
 | 
				
			||||||
            android:layout_centerVertical="true"
 | 
					                android:fontFamily="@font/pretendard_bold"
 | 
				
			||||||
            android:layout_marginEnd="6.7dp"
 | 
					                android:text="채널"
 | 
				
			||||||
            android:layout_toStartOf="@+id/iv_switch"
 | 
					                android:textColor="@color/white"
 | 
				
			||||||
            android:fontFamily="@font/gmarket_sans_medium"
 | 
					                android:textSize="26sp" />
 | 
				
			||||||
            android:text="팔로잉 채널"
 | 
					        </LinearLayout>
 | 
				
			||||||
            android:textColor="@color/color_777777"
 | 
					 | 
				
			||||||
            android:textSize="13.3sp" />
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        <ImageView
 | 
					 | 
				
			||||||
            android:id="@+id/iv_switch"
 | 
					 | 
				
			||||||
            android:layout_width="33.3dp"
 | 
					 | 
				
			||||||
            android:layout_height="20dp"
 | 
					 | 
				
			||||||
            android:layout_alignParentEnd="true"
 | 
					 | 
				
			||||||
            android:layout_centerVertical="true"
 | 
					 | 
				
			||||||
            android:contentDescription="@null"
 | 
					 | 
				
			||||||
            android:src="@drawable/btn_toggle_off_big" />
 | 
					 | 
				
			||||||
    </RelativeLayout>
 | 
					    </RelativeLayout>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <androidx.recyclerview.widget.RecyclerView
 | 
					    <androidx.recyclerview.widget.RecyclerView
 | 
				
			||||||
        android:id="@+id/rv_recommend_channel"
 | 
					        android:id="@+id/rv_recommend_channel"
 | 
				
			||||||
        android:layout_width="match_parent"
 | 
					        android:layout_width="match_parent"
 | 
				
			||||||
        android:layout_height="wrap_content"
 | 
					        android:layout_height="wrap_content"
 | 
				
			||||||
        android:layout_marginTop="21.3dp" />
 | 
					        android:layout_marginTop="16dp"
 | 
				
			||||||
 | 
					        android:clipToPadding="false"
 | 
				
			||||||
 | 
					        android:paddingHorizontal="24dp" />
 | 
				
			||||||
</LinearLayout>
 | 
					</LinearLayout>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -8,7 +8,7 @@
 | 
				
			|||||||
    <RelativeLayout
 | 
					    <RelativeLayout
 | 
				
			||||||
        android:layout_width="match_parent"
 | 
					        android:layout_width="match_parent"
 | 
				
			||||||
        android:layout_height="wrap_content"
 | 
					        android:layout_height="wrap_content"
 | 
				
			||||||
        android:paddingHorizontal="13.3dp">
 | 
					        android:layout_marginHorizontal="24dp">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        <LinearLayout
 | 
					        <LinearLayout
 | 
				
			||||||
            android:layout_width="match_parent"
 | 
					            android:layout_width="match_parent"
 | 
				
			||||||
@@ -18,18 +18,18 @@
 | 
				
			|||||||
            <TextView
 | 
					            <TextView
 | 
				
			||||||
                android:layout_width="wrap_content"
 | 
					                android:layout_width="wrap_content"
 | 
				
			||||||
                android:layout_height="wrap_content"
 | 
					                android:layout_height="wrap_content"
 | 
				
			||||||
                android:fontFamily="@font/gmarket_sans_bold"
 | 
					                android:fontFamily="@font/pretendard_bold"
 | 
				
			||||||
                android:text="지금 "
 | 
					                android:text="라이브 "
 | 
				
			||||||
                android:textColor="@color/color_eeeeee"
 | 
					                android:textColor="@color/color_3bb9f1"
 | 
				
			||||||
                android:textSize="18.3sp" />
 | 
					                android:textSize="26sp" />
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            <TextView
 | 
					            <TextView
 | 
				
			||||||
                android:layout_width="wrap_content"
 | 
					                android:layout_width="wrap_content"
 | 
				
			||||||
                android:layout_height="wrap_content"
 | 
					                android:layout_height="wrap_content"
 | 
				
			||||||
                android:fontFamily="@font/gmarket_sans_bold"
 | 
					                android:fontFamily="@font/pretendard_bold"
 | 
				
			||||||
                android:text="예약중"
 | 
					                android:text="예약중"
 | 
				
			||||||
                android:textColor="@color/color_3bb9f1"
 | 
					                android:textColor="@color/white"
 | 
				
			||||||
                android:textSize="18.3sp" />
 | 
					                android:textSize="26sp" />
 | 
				
			||||||
        </LinearLayout>
 | 
					        </LinearLayout>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        <TextView
 | 
					        <TextView
 | 
				
			||||||
@@ -38,27 +38,29 @@
 | 
				
			|||||||
            android:layout_height="wrap_content"
 | 
					            android:layout_height="wrap_content"
 | 
				
			||||||
            android:layout_alignParentEnd="true"
 | 
					            android:layout_alignParentEnd="true"
 | 
				
			||||||
            android:layout_centerVertical="true"
 | 
					            android:layout_centerVertical="true"
 | 
				
			||||||
            android:fontFamily="@font/gmarket_sans_light"
 | 
					            android:fontFamily="@font/pretendard_regular"
 | 
				
			||||||
            android:text="전체보기"
 | 
					            android:text="전체보기"
 | 
				
			||||||
            android:textColor="@color/color_bbbbbb"
 | 
					            android:textColor="#78909C"
 | 
				
			||||||
            android:textSize="11.3sp" />
 | 
					            android:textSize="14sp" />
 | 
				
			||||||
    </RelativeLayout>
 | 
					    </RelativeLayout>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <androidx.recyclerview.widget.RecyclerView
 | 
					    <androidx.recyclerview.widget.RecyclerView
 | 
				
			||||||
        android:id="@+id/rv_suda_reservation"
 | 
					        android:id="@+id/rv_live_reservation"
 | 
				
			||||||
        android:layout_width="match_parent"
 | 
					        android:layout_width="match_parent"
 | 
				
			||||||
        android:layout_height="wrap_content"
 | 
					        android:layout_height="wrap_content"
 | 
				
			||||||
        android:layout_marginTop="28.3dp"
 | 
					        android:layout_marginTop="14dp"
 | 
				
			||||||
 | 
					        android:clipToPadding="false"
 | 
				
			||||||
        android:nestedScrollingEnabled="false"
 | 
					        android:nestedScrollingEnabled="false"
 | 
				
			||||||
 | 
					        android:paddingHorizontal="24dp"
 | 
				
			||||||
        android:visibility="gone" />
 | 
					        android:visibility="gone" />
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <LinearLayout
 | 
					    <LinearLayout
 | 
				
			||||||
        android:id="@+id/ll_no_items"
 | 
					        android:id="@+id/ll_no_items"
 | 
				
			||||||
        android:layout_width="match_parent"
 | 
					        android:layout_width="match_parent"
 | 
				
			||||||
        android:layout_height="wrap_content"
 | 
					        android:layout_height="wrap_content"
 | 
				
			||||||
        android:layout_marginHorizontal="13.3dp"
 | 
					        android:layout_marginHorizontal="24dp"
 | 
				
			||||||
        android:layout_marginVertical="28.3dp"
 | 
					        android:layout_marginVertical="28dp"
 | 
				
			||||||
        android:background="@drawable/bg_round_corner_4_7_13181b"
 | 
					        android:background="@drawable/bg_round_corner_16_263238"
 | 
				
			||||||
        android:gravity="center"
 | 
					        android:gravity="center"
 | 
				
			||||||
        android:orientation="vertical"
 | 
					        android:orientation="vertical"
 | 
				
			||||||
        android:paddingVertical="16.7dp"
 | 
					        android:paddingVertical="16.7dp"
 | 
				
			||||||
@@ -74,12 +76,12 @@
 | 
				
			|||||||
            android:layout_width="wrap_content"
 | 
					            android:layout_width="wrap_content"
 | 
				
			||||||
            android:layout_height="wrap_content"
 | 
					            android:layout_height="wrap_content"
 | 
				
			||||||
            android:layout_marginVertical="10dp"
 | 
					            android:layout_marginVertical="10dp"
 | 
				
			||||||
            android:fontFamily="@font/gmarket_sans_medium"
 | 
					            android:fontFamily="@font/pretendard_regular"
 | 
				
			||||||
            android:gravity="center"
 | 
					            android:gravity="center"
 | 
				
			||||||
            android:text="지금 예약중인 라이브가 없습니다.\n채널을 팔로잉 하고 라이브 알림을 받아 보세요."
 | 
					 | 
				
			||||||
            android:textColor="@color/color_bbbbbb"
 | 
					 | 
				
			||||||
            android:textSize="13sp"
 | 
					 | 
				
			||||||
            android:lineSpacingExtra="8dp"
 | 
					            android:lineSpacingExtra="8dp"
 | 
				
			||||||
 | 
					            android:text="지금 예약중인 라이브가 없습니다.\n채널을 팔로잉 하고 라이브 알림을 받아 보세요."
 | 
				
			||||||
 | 
					            android:textColor="@color/white"
 | 
				
			||||||
 | 
					            android:textSize="13sp"
 | 
				
			||||||
            tools:ignore="SmallSp" />
 | 
					            tools:ignore="SmallSp" />
 | 
				
			||||||
    </LinearLayout>
 | 
					    </LinearLayout>
 | 
				
			||||||
</LinearLayout>
 | 
					</LinearLayout>
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -4,53 +4,15 @@
 | 
				
			|||||||
    android:layout_height="wrap_content"
 | 
					    android:layout_height="wrap_content"
 | 
				
			||||||
    android:orientation="vertical">
 | 
					    android:orientation="vertical">
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <RelativeLayout
 | 
					 | 
				
			||||||
        android:layout_width="match_parent"
 | 
					 | 
				
			||||||
        android:layout_height="wrap_content">
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        <LinearLayout
 | 
					 | 
				
			||||||
            android:layout_width="wrap_content"
 | 
					 | 
				
			||||||
            android:layout_height="wrap_content"
 | 
					 | 
				
			||||||
            android:layout_centerVertical="true"
 | 
					 | 
				
			||||||
            android:orientation="horizontal">
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            <TextView
 | 
					 | 
				
			||||||
                android:layout_width="wrap_content"
 | 
					 | 
				
			||||||
                android:layout_height="wrap_content"
 | 
					 | 
				
			||||||
                android:fontFamily="@font/gmarket_sans_bold"
 | 
					 | 
				
			||||||
                android:text="추천 "
 | 
					 | 
				
			||||||
                android:textColor="@color/color_ff5c49"
 | 
					 | 
				
			||||||
                android:textSize="18.3sp" />
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            <TextView
 | 
					 | 
				
			||||||
                android:layout_width="wrap_content"
 | 
					 | 
				
			||||||
                android:layout_height="wrap_content"
 | 
					 | 
				
			||||||
                android:fontFamily="@font/gmarket_sans_bold"
 | 
					 | 
				
			||||||
                android:text="라이브"
 | 
					 | 
				
			||||||
                android:textColor="@color/color_eeeeee"
 | 
					 | 
				
			||||||
                android:textSize="18.3sp" />
 | 
					 | 
				
			||||||
        </LinearLayout>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        <ImageView
 | 
					 | 
				
			||||||
            android:id="@+id/iv_message"
 | 
					 | 
				
			||||||
            android:layout_width="wrap_content"
 | 
					 | 
				
			||||||
            android:layout_height="wrap_content"
 | 
					 | 
				
			||||||
            android:layout_alignParentEnd="true"
 | 
					 | 
				
			||||||
            android:layout_centerVertical="true"
 | 
					 | 
				
			||||||
            android:contentDescription="@null"
 | 
					 | 
				
			||||||
            android:src="@drawable/ic_message" />
 | 
					 | 
				
			||||||
    </RelativeLayout>
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    <com.zhpan.bannerview.BannerViewPager
 | 
					    <com.zhpan.bannerview.BannerViewPager
 | 
				
			||||||
        android:id="@+id/pager"
 | 
					        android:id="@+id/pager"
 | 
				
			||||||
        android:layout_width="match_parent"
 | 
					        android:layout_width="match_parent"
 | 
				
			||||||
        android:layout_height="wrap_content"
 | 
					        android:layout_height="wrap_content" />
 | 
				
			||||||
        android:layout_marginTop="26.7dp" />
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
    <com.zhpan.indicator.IndicatorView
 | 
					    <com.zhpan.indicator.IndicatorView
 | 
				
			||||||
        android:id="@+id/indicator2"
 | 
					        android:id="@+id/indicator2"
 | 
				
			||||||
        android:layout_width="match_parent"
 | 
					        android:layout_width="match_parent"
 | 
				
			||||||
        android:layout_height="wrap_content"
 | 
					        android:layout_height="wrap_content"
 | 
				
			||||||
        android:layout_gravity="center"
 | 
					        android:layout_gravity="center"
 | 
				
			||||||
        android:layout_marginTop="6.7dp" />
 | 
					        android:layout_marginTop="28dp" />
 | 
				
			||||||
</LinearLayout>
 | 
					</LinearLayout>
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user