@@ -11,7 +11,9 @@ import com.woocommerce.android.ui.woopos.home.items.WooPosItemSelectionViewState
11
11
import com.woocommerce.android.ui.woopos.home.items.WooPosItemsViewModel
12
12
import com.woocommerce.android.ui.woopos.home.items.WooPosPaginationState
13
13
import com.woocommerce.android.ui.woopos.util.WooPosGetCachedStoreCurrency
14
+ import com.woocommerce.android.ui.woopos.util.analytics.WooPosAnalyticsEvent.Event.ItemAddedToCart
14
15
import com.woocommerce.android.ui.woopos.util.analytics.WooPosAnalyticsEventConstant
16
+ import com.woocommerce.android.ui.woopos.util.analytics.WooPosAnalyticsEventConstant.ItemsListSourceType
15
17
import com.woocommerce.android.ui.woopos.util.format.WooPosCouponsFormatter
16
18
import dagger.hilt.android.lifecycle.HiltViewModel
17
19
import kotlinx.coroutines.Job
@@ -56,7 +58,7 @@ class WooPosCouponsSearchViewModel @Inject constructor(
56
58
when (event) {
57
59
WooPosCouponsSearchUiEvent .OnNextPageRequested -> onEndOfListReached()
58
60
is WooPosCouponsSearchUiEvent .OnCouponClicked -> {
59
- handleCouponClicked(event.coupon, WooPosAnalyticsEventConstant . ItemsListSourceType . SEARCH_RESULT )
61
+ handleCouponClicked(coupon = event.coupon,)
60
62
}
61
63
62
64
WooPosCouponsSearchUiEvent .LoadingErrorRetryButtonClicked -> handleLoadingErrorRetryClick()
@@ -113,40 +115,31 @@ class WooPosCouponsSearchViewModel @Inject constructor(
113
115
paginationState = WooPosPaginationState .Loading
114
116
)
115
117
116
- try {
117
- val result = dataSource.loadMore()
118
- if (result.isSuccess) {
119
- val coupons = dataSource.couponsFlow.stateIn(viewModelScope).value
120
- _viewState .value = coupons.toContentState(
121
- currentState.searchQuery,
122
- WooPosPaginationState .None
123
- )
124
- } else {
125
- _viewState .value = currentState.copy(
126
- paginationState = WooPosPaginationState .Error
127
- )
128
- }
129
- } catch (e: Exception ) {
118
+ val result = dataSource.loadMore()
119
+ if (result.isSuccess) {
120
+ val coupons = dataSource.couponsFlow.stateIn(viewModelScope).value
121
+ _viewState .value = coupons.toContentState(
122
+ currentState.searchQuery,
123
+ WooPosPaginationState .None
124
+ )
125
+ } else {
130
126
_viewState .value = currentState.copy(
131
127
paginationState = WooPosPaginationState .Error
132
128
)
133
129
}
134
130
}
135
131
}
136
132
137
- private fun handleCouponClicked (
138
- coupon : WooPosItemSelectionViewState .Coupon ,
139
- sourceType : WooPosAnalyticsEventConstant .ItemsListSourceType
140
- ) {
133
+ private fun handleCouponClicked (coupon : WooPosItemSelectionViewState .Coupon ) {
141
134
viewModelScope.launch {
142
135
val itemData = WooPosItemsViewModel .ItemClickedData .Coupon (coupon.id, coupon.name)
143
136
childToParentEventSender.sendToParent(
144
137
ChildToParentEvent .ItemClickedInProductSelector (
145
138
itemData = itemData,
146
- eventForTracking = com.woocommerce.android.ui.woopos.util.analytics. WooPosAnalyticsEvent . Event . ItemAddedToCart (
139
+ eventForTracking = ItemAddedToCart (
147
140
item = itemData,
148
141
source = WooPosAnalyticsEventConstant .ItemsListSource .COUPON ,
149
- sourceType = sourceType
142
+ sourceType = ItemsListSourceType . SEARCH_RESULT
150
143
)
151
144
)
152
145
)
0 commit comments