fix(home): title bar 메뉴 이동을 연결한다

This commit is contained in:
2026-06-30 15:46:55 +09:00
parent 1aef4b1d89
commit d1a0cf27a7
2 changed files with 51 additions and 0 deletions

View File

@@ -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)

View File

@@ -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")
}
}