Skip to content

Commit 1827033

Browse files
committed
Added a few guards to StorePickerCoordinator
1 parent 09c2f66 commit 1827033

File tree

2 files changed

+16
-4
lines changed

2 files changed

+16
-4
lines changed

WooCommerce/Classes/AppDelegate.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -346,6 +346,7 @@ extension AppDelegate {
346346
return
347347
}
348348

349+
DDLogInfo("💬 Authenticated user does not have default store — launching store picker.")
349350
storePickerCoordinator = StorePickerCoordinator(navigationController, config: .standard)
350351
storePickerCoordinator?.start()
351352
}

WooCommerce/Classes/Authentication/Epilogue/StorePickerCoordinator.swift

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -46,12 +46,23 @@ extension StorePickerCoordinator: StorePickerViewControllerDelegate {
4646
onCompletion()
4747
return
4848
}
49+
guard storeID != StoresManager.shared.sessionManager.defaultStoreID else {
50+
onCompletion()
51+
return
52+
}
4953

5054
logOutOfCurrentStore(onCompletion: onCompletion)
5155
}
5256

53-
func didSelectStore(with siteID: Int) {
54-
finalizeStoreSelection(siteID)
57+
func didSelectStore(with storeID: Int) {
58+
guard selectedConfiguration == .switchingStores else {
59+
return
60+
}
61+
guard storeID != StoresManager.shared.sessionManager.defaultStoreID else {
62+
return
63+
}
64+
65+
finalizeStoreSelection(storeID)
5566
presentStoreSwitchedNotice()
5667
onDismiss?()
5768
}
@@ -107,8 +118,8 @@ private extension StorePickerCoordinator {
107118
}
108119
}
109120

110-
func finalizeStoreSelection(_ siteID: Int) {
111-
StoresManager.shared.updateDefaultStore(storeID: siteID)
121+
func finalizeStoreSelection(_ storeID: Int) {
122+
StoresManager.shared.updateDefaultStore(storeID: storeID)
112123

113124
// We need to call refreshUserData() here because the user selected
114125
// their default store and tracks should to know about it.

0 commit comments

Comments
 (0)