@@ -118,6 +118,7 @@ class RegionEventsSessionManager {
118118 if retryCount < numberOfRetries {
119119 let count = retryCount + 1
120120 ConnectButtonController . synchronizationLog ( " Failed to upload region events: \( events) . Will retry \( numberOfRetries - retryCount) more times. " )
121+
121122 DispatchQueue . main. asyncAfter ( deadline: . now( ) + self . exponentialBackoffTiming ( for: count) ) {
122123 self . upload ( events: events,
123124 credentialProvider: credentialProvider,
@@ -186,8 +187,6 @@ final class LocationService: NSObject, SynchronizationSubscriber {
186187 private let sessionManager : RegionEventsSessionManager
187188 /// The `EventPublisher<SynchronizationTriggerEvent>` that handles publishing synchronization events to listeners
188189 private let regionEventTriggerPublisher : EventPublisher < SynchronizationTriggerEvent >
189- /// Determines whether or not a 0.1 second delay should be applied before publishing synchronization events
190- private let applyDelayOnSyncTrigger : Bool
191190
192191 struct Constants {
193192 static let SanityThreshold = 20
@@ -201,21 +200,18 @@ final class LocationService: NSObject, SynchronizationSubscriber {
201200 /// - connectionsRegistry: An instance of `ConnectionsRegistry` that determines which connections are currently being monitored by the SDK.
202201 /// - sessionManager: An instance of `RegionEventsSessionManager` that uploads region events to the backend.
203202 /// - eventPublisher: An instance of `EventPublisher<SynchronizationTriggerEvent>` that handles publishing sync events to listeners.
204- /// - applyDelayOnSyncTrigger: Determines whether or not a 0.1 second delay should be applied to trigger syncs. Defaults to `true`.
205203 /// - Returns: An initialized instance of `LocationService`.
206204 init ( regionsMonitor: RegionsMonitor ,
207205 regionEventsRegistry: RegionEventsRegistry ,
208206 connectionsRegistry: ConnectionsRegistry ,
209207 sessionManager: RegionEventsSessionManager ,
210- eventPublisher: EventPublisher < SynchronizationTriggerEvent > ,
211- applyDelayOnSyncTrigger: Bool = true ) {
208+ eventPublisher: EventPublisher < SynchronizationTriggerEvent > ) {
212209 self . regionsMonitor = regionsMonitor
213210 self . regionEventsRegistry = regionEventsRegistry
214211 self . connectionsRegistry = connectionsRegistry
215212 self . sessionManager = sessionManager
216213 self . regionEventTriggerPublisher = eventPublisher
217214
218- self . applyDelayOnSyncTrigger = applyDelayOnSyncTrigger
219215 super. init ( )
220216 }
221217
@@ -275,21 +271,14 @@ final class LocationService: NSObject, SynchronizationSubscriber {
275271 let event = RegionEvent ( kind: kind, triggerSubscriptionId: region. identifier)
276272 regionEventsRegistry. add ( event)
277273
278- let closure = {
279- let event = SynchronizationTriggerEvent ( source: . regionsUpdate,
280- completionHandler: nil )
281-
282- self . regionEventTriggerPublisher. onNext ( event)
283-
284- if let backgroundTaskIdentifier = backgroundTaskIdentifier, backgroundTaskIdentifier != UIBackgroundTaskIdentifier . invalid {
285- UIApplication . shared. endBackgroundTask ( backgroundTaskIdentifier)
286- }
287- }
288-
289- if applyDelayOnSyncTrigger {
290- DispatchQueue . main. asyncAfter ( deadline: . now( ) + 0.1 , execute: closure)
291- } else {
292- closure ( )
274+ let triggerEvent = SynchronizationTriggerEvent ( source: . regionsUpdate,
275+ completionHandler: nil )
276+
277+ self . regionEventTriggerPublisher. onNext ( triggerEvent)
278+
279+ if let backgroundTaskIdentifier = backgroundTaskIdentifier,
280+ backgroundTaskIdentifier != UIBackgroundTaskIdentifier . invalid {
281+ UIApplication . shared. endBackgroundTask ( backgroundTaskIdentifier)
293282 }
294283 }
295284
0 commit comments