File tree Expand file tree Collapse file tree 2 files changed +13
-4
lines changed
WooCommerce/Classes/Tools/Connectivity Expand file tree Collapse file tree 2 files changed +13
-4
lines changed Original file line number Diff line number Diff line change @@ -3,8 +3,11 @@ import Foundation
33/// Interface for the observing connectivity
44///
55protocol ConnectivityObserver {
6- /// Starts the observer with a listener.
7- func startObserving( listener: @escaping ( ConnectivityStatus ) -> Void )
6+ /// Starts the connectivity observer.
7+ func startObserving( )
8+
9+ /// Updates callback block for when connectivity changes.
10+ func updateListener( _ listener: @escaping ( ConnectivityStatus ) -> Void )
811
912 /// Stops the observer.
1013 func stopObserving( )
Original file line number Diff line number Diff line change @@ -12,15 +12,21 @@ final class DefaultConnectivityObserver: ConnectivityObserver {
1212 self . networkMonitor = networkMonitor
1313 }
1414
15- func startObserving( listener: @escaping ( ConnectivityStatus ) -> Void ) {
15+ func startObserving( ) {
16+ networkMonitor. start ( queue: observingQueue)
17+ }
18+
19+ func updateListener( _ listener: @escaping ( ConnectivityStatus ) -> Void ) {
20+ if networkMonitor. pathUpdateHandler == nil {
21+ startObserving ( )
22+ }
1623 networkMonitor. pathUpdateHandler = { [ weak self] path in
1724 guard let self = self else { return }
1825 let connectivityStatus = self . connectivityStatus ( from: path)
1926 DispatchQueue . main. async {
2027 listener ( connectivityStatus)
2128 }
2229 }
23- networkMonitor. start ( queue: observingQueue)
2430 }
2531
2632 func stopObserving( ) {
You can’t perform that action at this time.
0 commit comments