Skip to content

Commit 23acc0c

Browse files
committed
[DELETE] : ADD TAG viewmodel 로직 삭제 #54
1 parent 4268072 commit 23acc0c

File tree

3 files changed

+8
-16
lines changed

3 files changed

+8
-16
lines changed
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
package com.velogm.domain.usecase
22

3+
import com.velogm.domain.OutResult
34
import com.velogm.domain.model.Tag
45
import com.velogm.domain.repository.TagRepository
56
import kotlinx.coroutines.flow.Flow
67

78
class GetTagUseCase(
89
private val repository: TagRepository
910
) {
10-
suspend operator fun invoke(): Flow<List<Tag>> =
11+
suspend operator fun invoke(): Flow<OutResult<List<Tag>>> =
1112
repository.getTag()
1213
}

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

+6-2
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import android.os.Bundle
44
import android.view.KeyEvent
55
import android.view.View
66
import android.view.inputmethod.EditorInfo
7+
import androidx.fragment.app.activityViewModels
78
import androidx.fragment.app.viewModels
89
import androidx.lifecycle.flowWithLifecycle
910
import androidx.lifecycle.lifecycleScope
@@ -17,6 +18,7 @@ import com.velogm.presentation.model.TagModel
1718
import com.velogm.presentation.ui.addtag.adapter.AddTagAdapter
1819
import com.velogm.presentation.ui.addtag.adapter.PopularTagAdapter
1920
import com.velogm.presentation.ui.addtag.dialog.DeleteDialogFragment
21+
import com.velogm.presentation.ui.signin.SignViewModel
2022
import dagger.hilt.android.AndroidEntryPoint
2123
import kotlinx.coroutines.flow.launchIn
2224
import kotlinx.coroutines.flow.onEach
@@ -27,6 +29,8 @@ class AddTagFragment : BindingFragment<FragmentAddTagBinding>(R.layout.fragment_
2729
private lateinit var myTagAdapter: AddTagAdapter
2830
private lateinit var popularTagAdapter: PopularTagAdapter
2931
private val viewModel by viewModels<AddTagViewModel>()
32+
private val parentViewModel by activityViewModels<SignViewModel>()
33+
3034
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
3135
super.onViewCreated(view, savedInstanceState)
3236
setNavigation()
@@ -76,7 +80,7 @@ class AddTagFragment : BindingFragment<FragmentAddTagBinding>(R.layout.fragment_
7680

7781

7882
private fun collectMyTagListData() {
79-
viewModel.tagListData.flowWithLifecycle(lifecycle).onEach {
83+
parentViewModel.tagListData.flowWithLifecycle(lifecycle).onEach {
8084
when (it) {
8185
is UiState.Success -> {
8286
myTagAdapter.submitList(it.data)
@@ -118,7 +122,7 @@ class AddTagFragment : BindingFragment<FragmentAddTagBinding>(R.layout.fragment_
118122
when (it) {
119123
is UiState.Success -> {
120124
toast("태그가 추가 되었습니다.")
121-
viewModel.getTag()
125+
parentViewModel.getTag()
122126
}
123127
else -> {}
124128
}

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

-13
Original file line numberDiff line numberDiff line change
@@ -19,15 +19,11 @@ import javax.inject.Inject
1919

2020
@HiltViewModel
2121
class AddTagViewModel @Inject constructor(
22-
private val getTagUseCase: GetTagUseCase,
2322
private val getPopularTagUseCase: GetPopularTagUseCase,
2423
private val deleteTagUseCase: DeleteTagUseCase,
2524
private val addTagUseCase: AddTagUseCase
2625
) : ViewModel() {
2726

28-
private val _tagListData = MutableStateFlow<UiState<List<TagModel>>>(UiState.Loading)
29-
val tagListData: StateFlow<UiState<List<TagModel>>> = _tagListData.asStateFlow()
30-
3127
private val _tagPopularListData = MutableStateFlow<UiState<List<TagModel>>>(UiState.Loading)
3228
val tagPopularListData: StateFlow<UiState<List<TagModel>>> = _tagPopularListData.asStateFlow()
3329

@@ -37,15 +33,6 @@ class AddTagViewModel @Inject constructor(
3733

3834
init {
3935
getPopularTag()
40-
getTag()
41-
}
42-
43-
fun getTag() = viewModelScope.launch {
44-
getTagUseCase().collect {
45-
val tagList = it.toTagModelEntity()
46-
_tagListData.value = UiState.Success(tagList)
47-
Timber.d(it.toString())
48-
}
4936
}
5037

5138
fun getPopularTag() = viewModelScope.launch {

0 commit comments

Comments
 (0)