diff --git a/app/src/main/java/kr/co/vividnext/sodalive/live/LiveFragment.kt b/app/src/main/java/kr/co/vividnext/sodalive/live/LiveFragment.kt index b0317a5..1c87ef1 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/live/LiveFragment.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/live/LiveFragment.kt @@ -51,6 +51,7 @@ import kr.co.vividnext.sodalive.live.room.dialog.LiveCancelDialog import kr.co.vividnext.sodalive.live.room.dialog.LivePaymentDialog import kr.co.vividnext.sodalive.live.room.dialog.LiveRoomPasswordDialog import kr.co.vividnext.sodalive.live.room.update.LiveRoomEditActivity +import kr.co.vividnext.sodalive.main.MainActivity import kr.co.vividnext.sodalive.message.MessageActivity import kr.co.vividnext.sodalive.settings.event.EventDetailActivity import kr.co.vividnext.sodalive.settings.notification.MemberRole @@ -105,11 +106,15 @@ class LiveFragment : BaseFragment(FragmentLiveBinding::infl setupCommunityPost() binding.llReviewLive.setOnClickListener { - startActivity( - Intent(requireContext(), AudioContentAllByThemeActivity::class.java).apply { - putExtra(Constants.EXTRA_THEME_ID, 7L) - } - ) + if (SharedPreferenceManager.token.isNotBlank()) { + startActivity( + Intent(requireContext(), AudioContentAllByThemeActivity::class.java).apply { + putExtra(Constants.EXTRA_THEME_ID, 7L) + } + ) + } else { + (requireActivity() as MainActivity).showLoginActivity() + } } message = "라이브를 불러오고 있습니다." @@ -155,8 +160,20 @@ class LiveFragment : BaseFragment(FragmentLiveBinding::infl @SuppressLint("NotifyDataSetChanged") private fun setupRecommendLive() { + binding.layoutRecommendLive.ivMessage.visibility = if ( + SharedPreferenceManager.token.isNotBlank() + ) { + View.VISIBLE + } else { + View.GONE + } + binding.layoutRecommendLive.ivMessage.setOnClickListener { - startActivity(Intent(requireContext(), MessageActivity::class.java)) + if (SharedPreferenceManager.token.isNotBlank()) { + startActivity(Intent(requireContext(), MessageActivity::class.java)) + } else { + (requireActivity() as MainActivity).showLoginActivity() + } } val layoutParams = binding @@ -176,11 +193,15 @@ class LiveFragment : BaseFragment(FragmentLiveBinding::infl binding.layoutRecommendLive.pager.apply { adapter = RecommendLiveAdapter(requireContext(), pagerWidth.roundToInt(), pagerHeight) { - startActivity( - Intent(requireContext(), UserProfileActivity::class.java).apply { - putExtra(Constants.EXTRA_USER_ID, it) - } - ) + if (SharedPreferenceManager.token.isNotBlank()) { + startActivity( + Intent(requireContext(), UserProfileActivity::class.java).apply { + putExtra(Constants.EXTRA_USER_ID, it) + } + ) + } else { + (requireActivity() as MainActivity).showLoginActivity() + } } as BaseBannerAdapter setLifecycleRegistry(lifecycle) @@ -215,14 +236,22 @@ class LiveFragment : BaseFragment(FragmentLiveBinding::infl private fun setupRecommendChannel() { liveRecommendChannelAdapter = LiveRecommendChannelAdapter( onClick = { - startActivity( - Intent(requireContext(), UserProfileActivity::class.java).apply { - putExtra(Constants.EXTRA_USER_ID, it) - } - ) + if (SharedPreferenceManager.token.isNotBlank()) { + startActivity( + Intent(requireContext(), UserProfileActivity::class.java).apply { + putExtra(Constants.EXTRA_USER_ID, it) + } + ) + } else { + (requireActivity() as MainActivity).showLoginActivity() + } }, onClickMore = { - startActivity(Intent(requireContext(), FollowingCreatorActivity::class.java)) + if (SharedPreferenceManager.token.isNotBlank()) { + startActivity(Intent(requireContext(), FollowingCreatorActivity::class.java)) + } else { + (requireActivity() as MainActivity).showLoginActivity() + } } ) @@ -264,8 +293,16 @@ class LiveFragment : BaseFragment(FragmentLiveBinding::infl }) binding.layoutRecommendChannel.rvRecommendChannel.adapter = liveRecommendChannelAdapter - binding.layoutRecommendChannel.ivSwitch.setOnClickListener { - viewModel.toggleIsFollowedCreatorLive() + + 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) { @@ -297,7 +334,11 @@ class LiveFragment : BaseFragment(FragmentLiveBinding::infl .layoutLiveNow .tvAllView .setOnClickListener { - startActivity(Intent(requireContext(), LiveNowAllActivity::class.java)) + if (SharedPreferenceManager.token.isNotBlank()) { + startActivity(Intent(requireContext(), LiveNowAllActivity::class.java)) + } else { + (requireActivity() as MainActivity).showLoginActivity() + } } binding @@ -389,20 +430,24 @@ class LiveFragment : BaseFragment(FragmentLiveBinding::infl .rvSudaReservation liveReservationAdapter = LiveReservationAdapter(isMain = true) { - val detailFragment = LiveRoomDetailFragment( - it.roomId, - onClickParticipant = {}, - onClickReservation = { reservationRoom(it.roomId) }, - onClickModify = { roomDetailResponse -> modifyLive(roomDetailResponse) }, - onClickStart = { startLive(it.roomId) }, - onClickCancel = { cancelLive(it.roomId) } - ) - if (detailFragment.isAdded) return@LiveReservationAdapter + if (SharedPreferenceManager.token.isNotBlank()) { + val detailFragment = LiveRoomDetailFragment( + it.roomId, + onClickParticipant = {}, + onClickReservation = { reservationRoom(it.roomId) }, + onClickModify = { roomDetailResponse -> modifyLive(roomDetailResponse) }, + onClickStart = { startLive(it.roomId) }, + onClickCancel = { cancelLive(it.roomId) } + ) + if (detailFragment.isAdded) return@LiveReservationAdapter - detailFragment.show( - requireActivity().supportFragmentManager, - detailFragment.tag - ) + detailFragment.show( + requireActivity().supportFragmentManager, + detailFragment.tag + ) + } else { + (requireActivity() as MainActivity).showLoginActivity() + } } recyclerView.layoutManager = LinearLayoutManager( @@ -465,9 +510,16 @@ class LiveFragment : BaseFragment(FragmentLiveBinding::infl } binding.layoutLiveReservation.tvAllView.setOnClickListener { - startActivity( - Intent(requireContext(), LiveReservationAllActivity::class.java) - ) + if (SharedPreferenceManager.token.isNotBlank()) { + startActivity( + Intent( + requireContext(), + LiveReservationAllActivity::class.java + ) + ) + } else { + (requireActivity() as MainActivity).showLoginActivity() + } } } @@ -480,17 +532,21 @@ class LiveFragment : BaseFragment(FragmentLiveBinding::infl binding.eventBannerSlider.apply { adapter = EventBannerAdapter(requireContext()) { - 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) + 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 setLifecycleRegistry(lifecycle) @@ -558,25 +614,29 @@ class LiveFragment : BaseFragment(FragmentLiveBinding::infl }) creatorCommunityAdapter = CreatorCommunityAdapter { - startActivity( - Intent( - requireActivity(), - CreatorCommunityAllActivity::class.java - ).apply { - putExtra(Constants.EXTRA_COMMUNITY_CREATOR_ID, it) - } - ) + if (SharedPreferenceManager.token.isNotBlank()) { + startActivity( + Intent( + requireActivity(), + CreatorCommunityAllActivity::class.java + ).apply { + putExtra(Constants.EXTRA_COMMUNITY_CREATOR_ID, it) + } + ) + } else { + (requireActivity() as MainActivity).showLoginActivity() + } } - binding.rvCommunityPost.adapter = creatorCommunityAdapter + recyclerView.adapter = creatorCommunityAdapter viewModel.communityPostItemLiveData.observe(viewLifecycleOwner) { if (it.isNotEmpty()) { - binding.rvCommunityPost.visibility = View.VISIBLE + recyclerView.visibility = View.VISIBLE creatorCommunityAdapter.items.clear() creatorCommunityAdapter.items.addAll(it) creatorCommunityAdapter.notifyDataSetChanged() } else { - binding.rvCommunityPost.visibility = View.GONE + recyclerView.visibility = View.GONE } } } diff --git a/app/src/main/java/kr/co/vividnext/sodalive/live/LiveViewModel.kt b/app/src/main/java/kr/co/vividnext/sodalive/live/LiveViewModel.kt index 612a085..d37af2a 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/live/LiveViewModel.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/live/LiveViewModel.kt @@ -179,7 +179,10 @@ class LiveViewModel( } else { getRecommendChannelList() } - getLatestPostListFromCreatorsYouFollow() + + if (SharedPreferenceManager.token.isNotBlank()) { + getLatestPostListFromCreatorsYouFollow() + } val liveNow = repository.roomList( status = LiveRoomStatus.NOW, diff --git a/app/src/main/java/kr/co/vividnext/sodalive/main/MainActivity.kt b/app/src/main/java/kr/co/vividnext/sodalive/main/MainActivity.kt index 79053a8..677d6fc 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/main/MainActivity.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/main/MainActivity.kt @@ -188,7 +188,10 @@ class MainActivity : BaseActivity(ActivityMainBinding::infl override fun onNewIntent(intent: Intent) { super.onNewIntent(intent) - executeDeeplink(intent) + + if (SharedPreferenceManager.token.isNotBlank()) { + executeDeeplink(intent) + } } override fun onCreate(savedInstanceState: Bundle?) { diff --git a/app/src/main/res/layout/fragment_live.xml b/app/src/main/res/layout/fragment_live.xml index e013b5d..cb8474e 100644 --- a/app/src/main/res/layout/fragment_live.xml +++ b/app/src/main/res/layout/fragment_live.xml @@ -75,7 +75,8 @@ android:id="@+id/rv_community_post" android:layout_width="match_parent" android:layout_height="wrap_content" - android:layout_marginTop="40dp" /> + android:layout_marginTop="40dp" + android:visibility="gone" />