Skip to content

Commit 3317d49

Browse files
committed
Rather handle in didDisappear
1 parent 257d8eb commit 3317d49

File tree

5 files changed

+19
-5
lines changed

5 files changed

+19
-5
lines changed

WooCommerce/Classes/Authentication/AuthenticatedWebViewController.swift

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -123,6 +123,11 @@ final class AuthenticatedWebViewController: UIViewController {
123123
viewModel.handleDismissal()
124124
}
125125
}
126+
127+
override func viewDidDisappear(_ animated: Bool) {
128+
viewModel.handleDisappear()
129+
super.viewDidDisappear(animated)
130+
}
126131
}
127132

128133
private extension AuthenticatedWebViewController {

WooCommerce/Classes/Authentication/AuthenticatedWebViewModel.swift

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,9 @@ protocol AuthenticatedWebViewModel {
2222
/// Triggered when the web view is dismissed
2323
func handleDismissal()
2424

25+
/// Triggered when the web view is disappeared
26+
func handleDisappear()
27+
2528
/// Triggered when the web view redirects to a new URL
2629
func handleRedirect(for url: URL?)
2730

@@ -53,6 +56,10 @@ extension AuthenticatedWebViewModel {
5356
func didFailProvisionalNavigation(with error: Error) {
5457
// NO-OP
5558
}
59+
60+
func handleDisappear () {
61+
// NO-OP
62+
}
5663
}
5764

5865
// MARK: - Helper methods

WooCommerce/Classes/Authentication/WPAdminWebViewModel.swift

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,10 @@ class WPAdminWebViewModel: AuthenticatedWebViewModel, WebviewReloadable {
2020
// no-op
2121
}
2222

23+
func handleDisappear() {
24+
// no-op
25+
}
26+
2327
func handleRedirect(for url: URL?) {
2428
guard let url else {
2529
return

WooCommerce/Classes/Extensions/UIViewController+Navigation.swift

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,7 @@ extension UIViewController {
88
var isBeingDismissedInAnyWay: Bool {
99
isMovingFromParent ||
1010
isBeingDismissed ||
11-
navigationController?.isBeingDismissed == true ||
12-
navigationController?.isMovingFromParent == true
11+
navigationController?.isBeingDismissed == true
1312
}
1413

1514
/// Async/await version of the UIKit `dismiss(animated:)`.

WooCommerce/Classes/Routing/ProductDetail/Coordinator/ProductDetailWebCoordinator.swift

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@ class ProductDetailWebCoordinator: NSObject {
1818
onDismiss()
1919
}
2020
let webViewController = AuthenticatedWebViewController(viewModel: viewModel)
21-
2221
return webViewController
2322
}
2423
}
@@ -31,8 +30,8 @@ fileprivate class AdminWebViewModel: WPAdminWebViewModel {
3130
super.init(title: title, initialURL: initialURL)
3231
}
3332

34-
override func handleDismissal() {
33+
override func handleDisappear() {
3534
onDismiss()
36-
super.handleDismissal()
35+
super.handleDisappear()
3736
}
3837
}

0 commit comments

Comments
 (0)