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.explorer.profile.creator_community.all.CreatorCommunityAllActivity
|
||||
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.live.onair.HomeOnAirLiveActivity
|
||||
import kr.co.vividnext.sodalive.v2.main.chat.dm.DmChatRoomActivity
|
||||
@@ -127,12 +130,31 @@ class HomeMainFragment : BaseFragment<FragmentV2MainHomeBinding>(
|
||||
setUpCreatorRankingAdapter()
|
||||
setUpFollowingAdapters()
|
||||
setUpBusinessInfo()
|
||||
setupTitleBarActions()
|
||||
bindHomeRecommendationObservers()
|
||||
bindHomeCreatorRankingObservers()
|
||||
bindHomeFollowingObservers()
|
||||
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() {
|
||||
val businessInfoText = binding.tvHomeBusinessInfo.text
|
||||
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