fix(home): title bar 메뉴 이동을 연결한다
This commit is contained in:
@@ -15,6 +15,9 @@ import kr.co.vividnext.sodalive.databinding.FragmentV2MainHomeBinding
|
|||||||
import kr.co.vividnext.sodalive.databinding.ViewSectionTitleBinding
|
import kr.co.vividnext.sodalive.databinding.ViewSectionTitleBinding
|
||||||
import kr.co.vividnext.sodalive.explorer.profile.creator_community.all.CreatorCommunityAllActivity
|
import kr.co.vividnext.sodalive.explorer.profile.creator_community.all.CreatorCommunityAllActivity
|
||||||
import kr.co.vividnext.sodalive.chat.talk.room.ChatRoomActivity
|
import kr.co.vividnext.sodalive.chat.talk.room.ChatRoomActivity
|
||||||
|
import kr.co.vividnext.sodalive.home.pushnotification.PushNotificationListActivity
|
||||||
|
import kr.co.vividnext.sodalive.mypage.can.charge.CanChargeActivity
|
||||||
|
import kr.co.vividnext.sodalive.search.SearchActivity
|
||||||
import kr.co.vividnext.sodalive.v2.creator.channel.CreatorChannelActivity
|
import kr.co.vividnext.sodalive.v2.creator.channel.CreatorChannelActivity
|
||||||
import kr.co.vividnext.sodalive.v2.live.onair.HomeOnAirLiveActivity
|
import kr.co.vividnext.sodalive.v2.live.onair.HomeOnAirLiveActivity
|
||||||
import kr.co.vividnext.sodalive.v2.main.chat.dm.DmChatRoomActivity
|
import kr.co.vividnext.sodalive.v2.main.chat.dm.DmChatRoomActivity
|
||||||
@@ -127,12 +130,31 @@ class HomeMainFragment : BaseFragment<FragmentV2MainHomeBinding>(
|
|||||||
setUpCreatorRankingAdapter()
|
setUpCreatorRankingAdapter()
|
||||||
setUpFollowingAdapters()
|
setUpFollowingAdapters()
|
||||||
setUpBusinessInfo()
|
setUpBusinessInfo()
|
||||||
|
setupTitleBarActions()
|
||||||
bindHomeRecommendationObservers()
|
bindHomeRecommendationObservers()
|
||||||
bindHomeCreatorRankingObservers()
|
bindHomeCreatorRankingObservers()
|
||||||
bindHomeFollowingObservers()
|
bindHomeFollowingObservers()
|
||||||
homeRecommendationViewModel.loadRecommendations()
|
homeRecommendationViewModel.loadRecommendations()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private fun setupTitleBarActions() {
|
||||||
|
binding.viewHomeTitleBar.ivTitleBarCash.setOnClickListener {
|
||||||
|
openWithLoginGuard(CanChargeActivity::class.java)
|
||||||
|
}
|
||||||
|
binding.viewHomeTitleBar.ivTitleBarSearch.setOnClickListener {
|
||||||
|
openWithLoginGuard(SearchActivity::class.java)
|
||||||
|
}
|
||||||
|
binding.viewHomeTitleBar.ivTitleBarBell.setOnClickListener {
|
||||||
|
openWithLoginGuard(PushNotificationListActivity::class.java)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun openWithLoginGuard(activityClass: Class<*>) {
|
||||||
|
ensureMainV2NavigationAllowed {
|
||||||
|
startActivity(Intent(requireContext(), activityClass))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private fun setUpBusinessInfo() {
|
private fun setUpBusinessInfo() {
|
||||||
val businessInfoText = binding.tvHomeBusinessInfo.text
|
val businessInfoText = binding.tvHomeBusinessInfo.text
|
||||||
HomeBusinessInfoBinder.bind(binding.tvHomeBusinessInfo)
|
HomeBusinessInfoBinder.bind(binding.tvHomeBusinessInfo)
|
||||||
|
|||||||
@@ -0,0 +1,29 @@
|
|||||||
|
package kr.co.vividnext.sodalive.v2.main.home
|
||||||
|
|
||||||
|
import org.junit.Assert.assertTrue
|
||||||
|
import org.junit.Test
|
||||||
|
import java.io.File
|
||||||
|
|
||||||
|
class HomeMainTitleBarActionSourceTest {
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun `홈 title bar 우측 아이콘은 기존 목적지로 이동한다`() {
|
||||||
|
val source = projectFile(
|
||||||
|
"app/src/main/java/kr/co/vividnext/sodalive/v2/main/home/HomeMainFragment.kt"
|
||||||
|
).readText()
|
||||||
|
|
||||||
|
assertTrue(source.contains("viewHomeTitleBar.ivTitleBarCash.setOnClickListener"))
|
||||||
|
assertTrue(source.contains("viewHomeTitleBar.ivTitleBarSearch.setOnClickListener"))
|
||||||
|
assertTrue(source.contains("viewHomeTitleBar.ivTitleBarBell.setOnClickListener"))
|
||||||
|
assertTrue(source.contains("ensureMainV2NavigationAllowed"))
|
||||||
|
assertTrue(source.contains("CanChargeActivity::class.java"))
|
||||||
|
assertTrue(source.contains("SearchActivity::class.java"))
|
||||||
|
assertTrue(source.contains("PushNotificationListActivity::class.java"))
|
||||||
|
}
|
||||||
|
|
||||||
|
private fun projectFile(relativePath: String): File {
|
||||||
|
val candidates = listOf(File(relativePath), File("../$relativePath"))
|
||||||
|
return candidates.firstOrNull { it.exists() }
|
||||||
|
?: error("Project file not found: $relativePath")
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user