@@ -62,19 +62,33 @@ class HomeActivity : BindingActivity<ActivityHomeBinding>(R.layout.activity_home
62
62
binding.ivHomeMyPage.setOnClickListener {
63
63
moveToMypage()
64
64
}
65
+
66
+ binding.ivHomeSearch.setOnClickListener {
67
+ viewModel.getSearch(binding.etHomeSearch.text.toString())
68
+ }
69
+
70
+ binding.cgHomeCoffeeingTypeFilter.setOnCheckedChangeListener { _, checkedId ->
71
+ when (binding.cgHomeCoffeeingTypeFilter.checkedChipId) {
72
+ R .id.chip_home_coffeeing_original -> viewModel.setFilterType(" original" )
73
+ R .id.chip_home_coffeeing_friend -> viewModel.setFilterType(" friend" )
74
+ R .id.chip_home_coffeeing_tour -> viewModel.setFilterType(" tour" )
75
+ R .id.chip_home_coffeeing_worker -> viewModel.setFilterType(" worker" )
76
+ R .id.chip_home_coffeeing_beginner -> viewModel.setFilterType(" beginner" )
77
+ else -> viewModel.setFilterType(" original" )
78
+ }
79
+ }
65
80
}
66
81
67
82
private fun addObservers () {
68
83
viewModel.homeSort.observe(this ) { homeSortType ->
69
84
binding.tvHomeSort.text =
70
- viewModel.homeSort.value?.sortType ? : HomeSortType . RECENT .sortType
85
+ viewModel.homeSort.value?.sortType ? : " 최신순 "
71
86
}
72
87
}
73
88
74
89
private fun collectData () {
75
90
viewModel.homeList.flowWithLifecycle(lifecycle).onEach {
76
91
homeCoffeeingAdapter.submitList(viewModel.homeList.value)
77
- viewModel.getHomeList()
78
92
79
93
if (viewModel.homeList.value.isNullOrEmpty()) {
80
94
binding.rvHomeCoffeeing.visibility = View .INVISIBLE
@@ -88,13 +102,24 @@ class HomeActivity : BindingActivity<ActivityHomeBinding>(R.layout.activity_home
88
102
viewModel.likeState.flowWithLifecycle(lifecycle).onEach {
89
103
viewModel.getHomeList()
90
104
}.launchIn(lifecycleScope)
105
+
106
+ viewModel.filterType.flowWithLifecycle(lifecycle).onEach {
107
+ viewModel.filterType.value?.let { tag ->
108
+ viewModel.getFilter(tag)
109
+ }
110
+ }.launchIn(lifecycleScope)
91
111
}
92
112
93
113
private fun showHomeSortDialog () {
94
114
viewModel.homeSort.value?.let {
95
115
HomeSortBottomSheetDialog (
96
116
currentSortType = it,
97
- sort = { sortType -> viewModel.setHomeSort(sortType) }
117
+ sort = { sortType -> viewModel.setHomeSort(sortType) },
118
+ onDialogClosed = {
119
+ viewModel.getSort(
120
+ viewModel.homeSort.value?.sortType ? : " 최신순"
121
+ )
122
+ }
98
123
).show(supportFragmentManager, HOME_SORT_DIALOG )
99
124
}
100
125
}
0 commit comments