Skip to content

Commit bc07a57

Browse files
committed
♻️ initViews, observeState 메서드를 이용하도록 변경
1 parent b08ae2b commit bc07a57

File tree

2 files changed

+66
-59
lines changed

2 files changed

+66
-59
lines changed

presentation/src/main/java/com/whyranoid/presentation/community/CommunityFragment.kt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,10 @@ internal class CommunityFragment :
1616

1717
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
1818
super.onViewCreated(view, savedInstanceState)
19+
initViews()
20+
}
1921

22+
private fun initViews() {
2023
val adapter = CommunityCategoryAdapter(this)
2124
setTabLayout(adapter)
2225
}

presentation/src/main/java/com/whyranoid/presentation/community/group/detail/GroupDetailFragment.kt

Lines changed: 63 additions & 59 deletions
Original file line numberDiff line numberDiff line change
@@ -25,12 +25,24 @@ internal class GroupDetailFragment :
2525
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
2626
super.onViewCreated(view, savedInstanceState)
2727

28+
initViews()
29+
observeState()
30+
}
31+
32+
private fun initViews() {
33+
binding.viewModel = viewModel
2834
setupMenu()
29-
handleEvent()
30-
setBindingData()
3135
setNotificationAdapter()
3236
}
3337

38+
private fun observeState() {
39+
viewLifecycleOwner.repeatWhenUiStarted {
40+
viewModel.eventFlow.collect { event ->
41+
handleEvent(event)
42+
}
43+
}
44+
}
45+
3446
private fun setupMenu() {
3547
viewLifecycleOwner.lifecycleScope.launch {
3648
with(binding.topAppBar) {
@@ -77,68 +89,60 @@ internal class GroupDetailFragment :
7789
}
7890
}
7991

80-
private fun handleEvent() {
81-
viewLifecycleOwner.repeatWhenUiStarted {
82-
viewModel.eventFlow.collect { event ->
83-
when (event) {
84-
Event.RecruitButtonClick -> {
85-
Snackbar.make(
86-
binding.root,
87-
getString(R.string.text_check_recruit),
88-
Snackbar.LENGTH_SHORT
89-
).setAction(R.string.text_recruit) {
90-
viewModel.onRecruitSnackBarButtonClick()
91-
}.show()
92-
}
93-
is Event.RecruitSnackBarButtonClick -> {
94-
if (event.isSuccess) {
95-
Snackbar.make(
96-
binding.root,
97-
getString(R.string.text_recruit_success),
98-
Snackbar.LENGTH_SHORT
99-
).show()
100-
} else {
101-
Snackbar.make(
102-
binding.root,
103-
getString(R.string.text_recruit_fail),
104-
Snackbar.LENGTH_SHORT
105-
).show()
106-
}
107-
}
108-
Event.ExitGroupButtonClick -> {
109-
Snackbar.make(
110-
binding.root,
111-
getString(R.string.text_check_exit_group),
112-
Snackbar.LENGTH_SHORT
113-
).setAction(getString(R.string.text_exit_group)) {
114-
viewModel.onExitGroupSnackBarButtonClick()
115-
}.show()
116-
}
117-
is Event.ExitGroupSnackBarButtonClick -> {
118-
if (event.isSuccess) {
119-
Snackbar.make(
120-
binding.root,
121-
getString(R.string.text_exit_group_success),
122-
Snackbar.LENGTH_SHORT
123-
).show()
124-
findNavController().popBackStack()
125-
} else {
126-
Snackbar.make(
127-
binding.root,
128-
getString(R.string.text_exit_group_fail),
129-
Snackbar.LENGTH_SHORT
130-
).show()
131-
}
132-
}
92+
private fun handleEvent(event: Event) {
93+
when (event) {
94+
Event.RecruitButtonClick -> {
95+
Snackbar.make(
96+
binding.root,
97+
getString(R.string.text_check_recruit),
98+
Snackbar.LENGTH_SHORT
99+
).setAction(R.string.text_recruit) {
100+
viewModel.onRecruitSnackBarButtonClick()
101+
}.show()
102+
}
103+
is Event.RecruitSnackBarButtonClick -> {
104+
if (event.isSuccess) {
105+
Snackbar.make(
106+
binding.root,
107+
getString(R.string.text_recruit_success),
108+
Snackbar.LENGTH_SHORT
109+
).show()
110+
} else {
111+
Snackbar.make(
112+
binding.root,
113+
getString(R.string.text_recruit_fail),
114+
Snackbar.LENGTH_SHORT
115+
).show()
116+
}
117+
}
118+
Event.ExitGroupButtonClick -> {
119+
Snackbar.make(
120+
binding.root,
121+
getString(R.string.text_check_exit_group),
122+
Snackbar.LENGTH_SHORT
123+
).setAction(getString(R.string.text_exit_group)) {
124+
viewModel.onExitGroupSnackBarButtonClick()
125+
}.show()
126+
}
127+
is Event.ExitGroupSnackBarButtonClick -> {
128+
if (event.isSuccess) {
129+
Snackbar.make(
130+
binding.root,
131+
getString(R.string.text_exit_group_success),
132+
Snackbar.LENGTH_SHORT
133+
).show()
134+
findNavController().popBackStack()
135+
} else {
136+
Snackbar.make(
137+
binding.root,
138+
getString(R.string.text_exit_group_fail),
139+
Snackbar.LENGTH_SHORT
140+
).show()
133141
}
134142
}
135143
}
136144
}
137145

138-
private fun setBindingData() {
139-
binding.viewModel = viewModel
140-
}
141-
142146
private fun setNotificationAdapter() {
143147
viewLifecycleOwner.lifecycleScope.launch {
144148
val uid = viewModel.getUidUseCase()

0 commit comments

Comments
 (0)