Skip to content

Commit 8032ce2

Browse files
committed
[CHORE] : 함수화 수정#54
1 parent 729be6e commit 8032ce2

File tree

5 files changed

+53
-40
lines changed

5 files changed

+53
-40
lines changed

Diff for: presentation/src/main/java/com/velogm/presentation/ui/addtag/AddTagFragment.kt

+18-19
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@ import com.velogm.presentation.ui.addtag.dialog.DeleteDialogFragment
2020
import dagger.hilt.android.AndroidEntryPoint
2121
import kotlinx.coroutines.flow.launchIn
2222
import kotlinx.coroutines.flow.onEach
23-
import timber.log.Timber
2423

2524
@AndroidEntryPoint
2625
class AddTagFragment : BindingFragment<FragmentAddTagBinding>(R.layout.fragment_add_tag) {
@@ -31,24 +30,11 @@ class AddTagFragment : BindingFragment<FragmentAddTagBinding>(R.layout.fragment_
3130
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
3231
super.onViewCreated(view, savedInstanceState)
3332
setNavigation()
33+
setAdapter()
3434
collectMyTagListData()
3535
collectPopularTagListData()
3636
addTag()
3737
collectEventData()
38-
myTagAdapter = AddTagAdapter(deleteTagClick = {
39-
Timber.tag("deleteTag").d(it.tag)
40-
val dialog = DeleteDialogFragment(
41-
deleteTag = {
42-
viewModel.deleteTag(it.tag)
43-
}
44-
)
45-
dialog.show(childFragmentManager, "delete")
46-
})
47-
binding.rvAddTagList.adapter = myTagAdapter
48-
popularTagAdapter = PopularTagAdapter(tagClick = {
49-
viewModel.addTag(it.tag)
50-
})
51-
binding.rvAddTagPopularList.adapter = popularTagAdapter
5238
//QA임시 코드
5339
popularTagAdapter.submitList(
5440
listOf<TagModel>
@@ -72,6 +58,23 @@ class AddTagFragment : BindingFragment<FragmentAddTagBinding>(R.layout.fragment_
7258
}
7359
}
7460

61+
private fun setAdapter() {
62+
myTagAdapter = AddTagAdapter(deleteTagClick = {
63+
val dialog = DeleteDialogFragment(
64+
deleteTag = {
65+
viewModel.deleteTag(it.tag)
66+
}
67+
)
68+
dialog.show(childFragmentManager, "delete")
69+
})
70+
binding.rvAddTagList.adapter = myTagAdapter
71+
popularTagAdapter = PopularTagAdapter(tagClick = {
72+
viewModel.addTag(it.tag)
73+
})
74+
binding.rvAddTagPopularList.adapter = popularTagAdapter
75+
}
76+
77+
7578
private fun collectMyTagListData() {
7679
viewModel.tagListData.flowWithLifecycle(lifecycle).onEach {
7780
when (it) {
@@ -87,9 +90,6 @@ class AddTagFragment : BindingFragment<FragmentAddTagBinding>(R.layout.fragment_
8790
private fun collectPopularTagListData() {
8891
viewModel.tagPopularListData.flowWithLifecycle(lifecycle).onEach {
8992
when (it) {
90-
is UiState.Loading -> {
91-
}
92-
9393
is UiState.Success -> {
9494
popularTagAdapter.submitList(it.data)
9595
}
@@ -120,7 +120,6 @@ class AddTagFragment : BindingFragment<FragmentAddTagBinding>(R.layout.fragment_
120120
toast("태그가 추가 되었습니다.")
121121
viewModel.getTag()
122122
}
123-
124123
else -> {}
125124
}
126125
}.launchIn(lifecycleScope)

Diff for: presentation/src/main/java/com/velogm/presentation/ui/addtag/AddTagViewModel.kt

+6-6
Original file line numberDiff line numberDiff line change
@@ -56,17 +56,17 @@ class AddTagViewModel @Inject constructor(
5656
}
5757
}
5858

59-
fun deleteTag(tag:String) = viewModelScope.launch {
59+
fun deleteTag(tag: String) = viewModelScope.launch {
6060
deleteTagUseCase(tag).collect {
61-
_eventData.value=UiState.Success(true)
61+
_eventData.value = UiState.Success(true)
6262
}
63-
_eventData.value=UiState.Loading
63+
_eventData.value = UiState.Loading
6464
}
6565

66-
fun addTag(tag:String) = viewModelScope.launch {
66+
fun addTag(tag: String) = viewModelScope.launch {
6767
addTagUseCase(tag).collect {
68-
_eventData.value=UiState.Success(true)
68+
_eventData.value = UiState.Success(true)
6969
}
70-
_eventData.value=UiState.Loading
70+
_eventData.value = UiState.Loading
7171
}
7272
}

Diff for: presentation/src/main/java/com/velogm/presentation/ui/home/HomeFragment.kt

+12-5
Original file line numberDiff line numberDiff line change
@@ -28,20 +28,27 @@ class HomeFragment : BindingFragment<FragmentHomeBinding>(R.layout.fragment_home
2828
private val viewModel by viewModels<HomeViewModel>()
2929
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
3030
super.onViewCreated(view, savedInstanceState)
31-
viewModel.getTag()
31+
32+
navigateBack()
33+
initAdapter()
34+
collectTagListData()
35+
moveToAddTag()
36+
}
37+
38+
private fun navigateBack() {
3239
binding.ivSearchBtn.setOnClickListener {
3340
findNavController().navigate(
3441
R.id.navigation_home_to_home_search, bundleOf(
3542
)
3643
)
3744
}
38-
collectTagListData()
39-
moveToAddTag()
45+
}
46+
47+
private fun initAdapter() {
4048
homeCollectionAdapter = HomeCollectionAdapter(childFragmentManager, lifecycle)
4149
viewPager = binding.pager
42-
viewPager.offscreenPageLimit=6
50+
viewPager.offscreenPageLimit = 6
4351
viewPager.adapter = homeCollectionAdapter
44-
4552
}
4653

4754
override fun onResume() {

Diff for: presentation/src/main/java/com/velogm/presentation/ui/home/HomeViewModel.kt

+4
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,10 @@ class HomeViewModel @Inject constructor(
2121

2222
private val _tagListData = MutableStateFlow<UiState<List<TagModel>>>(UiState.Loading)
2323
val tagListData: StateFlow<UiState<List<TagModel>>> = _tagListData.asStateFlow()
24+
25+
init {
26+
getTag()
27+
}
2428
fun getTag() = viewModelScope.launch {
2529
getTagUseCase().collect {
2630
val tagList = it.toTagModelEntity()

Diff for: presentation/src/main/java/com/velogm/presentation/ui/home/screenhome/ScreenHomeSlidePageFragment.kt

+13-10
Original file line numberDiff line numberDiff line change
@@ -32,16 +32,7 @@ class ScreenHomeSlidePageFragment :
3232

3333
val data = arguments?.getString("data")
3434
collectData(data)
35-
postAdapter = PostAdapter(bookMarkClick = {
36-
val intent = Intent(requireContext(), WebViewActivity::class.java).apply {
37-
putExtra("url", it.url)
38-
putExtra("followName", it.name)
39-
putExtra("subscribed", it.subscribed)
40-
}
41-
startActivity(intent)
42-
})
43-
binding.rvPostList.adapter = postAdapter
44-
35+
initAdapter()
4536
collectPostListData(data)
4637
}
4738

@@ -53,6 +44,18 @@ class ScreenHomeSlidePageFragment :
5344
}
5445
}
5546

47+
private fun initAdapter() {
48+
postAdapter = PostAdapter(bookMarkClick = {
49+
val intent = Intent(requireContext(), WebViewActivity::class.java).apply {
50+
putExtra("url", it.url)
51+
putExtra("followName", it.name)
52+
putExtra("subscribed", it.subscribed)
53+
}
54+
startActivity(intent)
55+
})
56+
binding.rvPostList.adapter = postAdapter
57+
}
58+
5659
private fun collectPostListData(data: String?) {
5760
viewModel.postListData.flowWithLifecycle(lifecycle).onEach {
5861
when (it) {

0 commit comments

Comments
 (0)