Skip to content

Commit 7fee14d

Browse files
committed
[chore] #192 MapBrandFilterToggle 이벤트 로깅 reduce 구문 외부로 이동
1 parent fc269fd commit 7fee14d

1 file changed

Lines changed: 16 additions & 15 deletions

File tree

  • feature/map/impl/src/main/java/com/neki/android/feature/map/impl

feature/map/impl/src/main/java/com/neki/android/feature/map/impl/MapViewModel.kt

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -89,7 +89,7 @@ class MapViewModel @Inject constructor(
8989
MapIntent.ClickInfoIcon -> reduce { copy(isShowInfoTooltip = true) }
9090
MapIntent.DismissInfoTooltip -> reduce { copy(isShowInfoTooltip = false) }
9191
MapIntent.ClickToMapChip -> reduce { copy(dragLevel = DragLevel.FIRST) }
92-
is MapIntent.ClickVerticalBrand -> handleClickBrand(intent.brand, reduce)
92+
is MapIntent.ClickVerticalBrand -> handleClickBrand(intent.brand, state, reduce)
9393
is MapIntent.ClickNearPhotoBooth -> handleClickNearPhotoBooth(intent.photoBooth, reduce, postSideEffect)
9494
MapIntent.ClickClosePhotoBoothCard -> reduce {
9595
copy(
@@ -191,24 +191,25 @@ class MapViewModel @Inject constructor(
191191

192192
private fun handleClickBrand(
193193
clickedBrand: Brand,
194+
state: MapState,
194195
reduce: (MapState.() -> MapState) -> Unit,
195196
) {
196-
reduce {
197-
val updatedBrands = brands.map { brand ->
198-
if (brand == clickedBrand) {
199-
brand.copy(isChecked = !brand.isChecked)
200-
} else {
201-
brand
202-
}
197+
val updatedBrands = state.brands.map { brand ->
198+
if (brand == clickedBrand) {
199+
brand.copy(isChecked = !brand.isChecked)
200+
} else {
201+
brand
203202
}
203+
}
204+
analyticsLogger.log(
205+
MapAnalyticsEvent.MapBrandFilterToggle(
206+
action = if (clickedBrand.isChecked) "deselect" else "select",
207+
selectedCount = updatedBrands.count { it.isChecked },
208+
brandName = clickedBrand.name,
209+
),
210+
)
211+
reduce {
204212
val checkedBrandNames = updatedBrands.filter { it.isChecked }.map { it.name }
205-
analyticsLogger.log(
206-
MapAnalyticsEvent.MapBrandFilterToggle(
207-
action = if (clickedBrand.isChecked) "deselect" else "select",
208-
selectedCount = updatedBrands.count { it.isChecked },
209-
brandName = clickedBrand.name,
210-
),
211-
)
212213
copy(
213214
brands = updatedBrands.toImmutableList(),
214215
mapMarkers = mapMarkers.map { photoBooth ->

0 commit comments

Comments
 (0)