Skip to content

Commit e520590

Browse files
authored
Merge pull request #14773 from woocommerce/woomob-1447-woo-poslocal-catalog-handle-manual-sync-errors-in-pos
[Woo POS][Local Catalog] Sync error dialog in Settings
2 parents 319c3a7 + c68fa9f commit e520590

18 files changed

+491
-10
lines changed

WooCommerce/src/main/kotlin/com/woocommerce/android/ui/woopos/home/WooPosHomeChildToParentCommunication.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,10 @@ sealed class ChildToParentEvent {
9999
val discountAmount: BigDecimal,
100100
)
101101
}
102+
103+
sealed class SettingsEvent : ChildToParentEvent() {
104+
data class ShowSyncErrorDialog(val errorMessage: String) : SettingsEvent()
105+
}
102106
}
103107

104108
interface WooPosChildrenToParentEventReceiver {

WooCommerce/src/main/kotlin/com/woocommerce/android/ui/woopos/home/WooPosHomeParentToChildCommunication.kt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,10 @@ sealed class ParentToChildrenEvent {
9090
val discountAmount: BigDecimal,
9191
)
9292
}
93+
94+
sealed class SettingsEvent : ParentToChildrenEvent() {
95+
data object RetrySyncRequested : SettingsEvent()
96+
}
9397
}
9498

9599
interface WooPosParentToChildrenEventReceiver {

WooCommerce/src/main/kotlin/com/woocommerce/android/ui/woopos/home/WooPosHomeViewModel.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -250,6 +250,8 @@ class WooPosHomeViewModel @Inject constructor(
250250
ChildToParentEvent.RefreshProductList -> {
251251
sendEventToChildren(ParentToChildrenEvent.RefreshProductList)
252252
}
253+
254+
is ChildToParentEvent.SettingsEvent -> Unit
253255
}
254256
}
255257
}

WooCommerce/src/main/kotlin/com/woocommerce/android/ui/woopos/home/cart/WooPosCartViewModel.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -216,7 +216,8 @@ class WooPosCartViewModel @Inject constructor(
216216
ParentToChildrenEvent.SearchEvent.Finished,
217217
ParentToChildrenEvent.SearchEvent.Started,
218218
ParentToChildrenEvent.RefreshProductList,
219-
is ParentToChildrenEvent.CouponsRemoved -> Unit
219+
is ParentToChildrenEvent.CouponsRemoved,
220+
is ParentToChildrenEvent.SettingsEvent -> Unit
220221

221222
is ParentToChildrenEvent.CouponsValidationFailed -> {
222223
onCouponsValidationFails()

WooCommerce/src/main/kotlin/com/woocommerce/android/ui/woopos/home/items/WooPosItemsSearchHelper.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@ class WooPosItemsSearchHelper @Inject constructor(
6868
is ParentToChildrenEvent.RemoveCouponsClicked -> Unit
6969
is ParentToChildrenEvent.CouponsValidationFailed -> Unit
7070
is ParentToChildrenEvent.OrderSuccessfullyPaid -> Unit
71+
is ParentToChildrenEvent.SettingsEvent -> Unit
7172
}
7273
}
7374
}

WooCommerce/src/main/kotlin/com/woocommerce/android/ui/woopos/home/items/WooPosItemsViewModel.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,8 @@ class WooPosItemsViewModel @Inject constructor(
117117
ParentToChildrenEvent.SearchEvent.Finished,
118118
is ParentToChildrenEvent.SearchEvent.RecentSearchSelected,
119119
ParentToChildrenEvent.SearchEvent.Started,
120-
is ParentToChildrenEvent.BarcodeEvent -> Unit
120+
is ParentToChildrenEvent.BarcodeEvent,
121+
is ParentToChildrenEvent.SettingsEvent -> Unit
121122

122123
is ParentToChildrenEvent.OrderSuccessfullyPaid -> _viewState.value = initialState()
123124

WooCommerce/src/main/kotlin/com/woocommerce/android/ui/woopos/home/items/products/WooPosProductsInDbDataSource.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ import kotlinx.coroutines.flow.flow
99
import kotlinx.coroutines.flow.flowOn
1010
import kotlinx.coroutines.flow.map
1111
import kotlinx.coroutines.withContext
12+
import org.wordpress.android.fluxc.model.LocalOrRemoteId
1213
import org.wordpress.android.fluxc.store.pos.localcatalog.WooPosLocalCatalogStore
1314
import javax.inject.Inject
1415

@@ -20,7 +21,7 @@ class WooPosProductsInDbDataSource @Inject constructor(
2021

2122
private fun getProductsFromDatabaseFlow(): Flow<List<WooPosProductModel>> {
2223
val siteModel = selectedSite.getOrNull() ?: return flow { emit(emptyList()) }
23-
val siteId = org.wordpress.android.fluxc.model.LocalOrRemoteId.LocalId(siteModel.id)
24+
val siteId = LocalOrRemoteId.LocalId(siteModel.id)
2425

2526
return posLocalCatalogStore.observeProducts(siteId)
2627
.map { result ->

WooCommerce/src/main/kotlin/com/woocommerce/android/ui/woopos/home/items/products/WooPosProductsViewModel.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -91,7 +91,8 @@ class WooPosProductsViewModel @Inject constructor(
9191
is ParentToChildrenEvent.SearchEvent.ChangedQuery,
9292
ParentToChildrenEvent.SearchEvent.Finished,
9393
is ParentToChildrenEvent.SearchEvent.RecentSearchSelected,
94-
ParentToChildrenEvent.SearchEvent.Started -> Unit
94+
ParentToChildrenEvent.SearchEvent.Started,
95+
is ParentToChildrenEvent.SettingsEvent -> Unit
9596
}
9697
}
9798
}

WooCommerce/src/main/kotlin/com/woocommerce/android/ui/woopos/home/items/search/WooPosItemsSearchViewModel.kt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -193,6 +193,7 @@ class WooPosItemsSearchViewModel @Inject constructor(
193193
is ParentToChildrenEvent.CouponsRemoved -> Unit
194194
is ParentToChildrenEvent.RefreshProductList -> Unit
195195
is ParentToChildrenEvent.CouponsValidationFailed -> Unit
196+
is ParentToChildrenEvent.SettingsEvent -> Unit
196197
is ParentToChildrenEvent.ItemClickedInItemsList -> {
197198
if (event.itemData is ItemClickedData.Product.Variation && searchHelper.isSearchOpen()) {
198199
storeRecentSearch()

WooCommerce/src/main/kotlin/com/woocommerce/android/ui/woopos/home/totals/WooPosTotalsViewModel.kt

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -325,7 +325,8 @@ class WooPosTotalsViewModel @Inject constructor(
325325
ParentToChildrenEvent.RemoveCouponsClicked,
326326
ParentToChildrenEvent.RefreshProductList,
327327
ParentToChildrenEvent.CouponsValidationFailed,
328-
is ParentToChildrenEvent.BarcodeEvent -> Unit
328+
is ParentToChildrenEvent.BarcodeEvent,
329+
is ParentToChildrenEvent.SettingsEvent -> Unit
329330
}
330331
}
331332
}

0 commit comments

Comments
 (0)