Skip to content

Commit 14e1032

Browse files
committed
Update Swift code
1 parent fc11a19 commit 14e1032

File tree

5 files changed

+126
-152
lines changed

5 files changed

+126
-152
lines changed

iOS_SDK/OneSignalSDK/OneSignalLiveActivities/Source/Executors/OSLiveActivitiesExecutor.swift

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -212,15 +212,13 @@ class OSLiveActivitiesExecutor: OSPushSubscriptionObserver {
212212
} onFailure: { error in
213213
// NOTE: No longer running under `requestDispatch` DispatchQueue!
214214
OneSignalLog.onesignalLog(.LL_VERBOSE, message: "OneSignal.LiveActivities request failed with error \(error.debugDescription)")
215-
if let nsError = error as? NSError {
216-
let responseType = OSNetworkingUtils.getResponseStatusType(nsError.code)
217-
if responseType != .retryable {
218-
self.requestDispatch.async {
219-
// Failed, no retry. Remove the key from the cache entirely so we don't try again.
220-
cache.remove(request)
221-
}
222-
return
215+
let responseType = OSNetworkingUtils.getResponseStatusType(error.code)
216+
if responseType != .retryable {
217+
self.requestDispatch.async {
218+
// Failed, no retry. Remove the key from the cache entirely so we don't try again.
219+
cache.remove(request)
223220
}
221+
return
224222
}
225223
// retryable failures will stay in the cache, and will retry the next time the app starts
226224
}

iOS_SDK/OneSignalSDK/OneSignalUser/Source/Executors/OSIdentityOperationExecutor.swift

Lines changed: 24 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -218,28 +218,26 @@ class OSIdentityOperationExecutor: OSOperationExecutor {
218218
} onFailure: { error in
219219
OneSignalLog.onesignalLog(.LL_ERROR, message: "OSIdentityOperationExecutor add aliases request failed with error: \(error.debugDescription)")
220220
self.dispatchQueue.async {
221-
if let nsError = error as? NSError {
222-
let responseType = OSNetworkingUtils.getResponseStatusType(nsError.code)
223-
if responseType == .missing {
224-
// Remove from cache and queue
225-
self.addRequestQueue.removeAll(where: { $0 == request})
226-
OneSignalUserDefaults.initShared().saveCodeableData(forKey: OS_IDENTITY_EXECUTOR_ADD_REQUEST_QUEUE_KEY, withValue: self.addRequestQueue)
227-
// Logout if the user in the SDK is the same
228-
guard OneSignalUserManagerImpl.sharedInstance.isCurrentUser(request.identityModel)
229-
else {
230-
if inBackground {
231-
OSBackgroundTaskManager.endBackgroundTask(backgroundTaskIdentifier)
232-
}
233-
return
221+
let responseType = OSNetworkingUtils.getResponseStatusType(error.code)
222+
if responseType == .missing {
223+
// Remove from cache and queue
224+
self.addRequestQueue.removeAll(where: { $0 == request})
225+
OneSignalUserDefaults.initShared().saveCodeableData(forKey: OS_IDENTITY_EXECUTOR_ADD_REQUEST_QUEUE_KEY, withValue: self.addRequestQueue)
226+
// Logout if the user in the SDK is the same
227+
guard OneSignalUserManagerImpl.sharedInstance.isCurrentUser(request.identityModel)
228+
else {
229+
if inBackground {
230+
OSBackgroundTaskManager.endBackgroundTask(backgroundTaskIdentifier)
234231
}
235-
// The subscription has been deleted along with the user, so remove the subscription_id but keep the same push subscription model
236-
OneSignalUserManagerImpl.sharedInstance.pushSubscriptionModel?.subscriptionId = nil
237-
OneSignalUserManagerImpl.sharedInstance._logout()
238-
} else if responseType != .retryable {
239-
// Fail, no retry, remove from cache and queue
240-
self.addRequestQueue.removeAll(where: { $0 == request})
241-
OneSignalUserDefaults.initShared().saveCodeableData(forKey: OS_IDENTITY_EXECUTOR_ADD_REQUEST_QUEUE_KEY, withValue: self.addRequestQueue)
232+
return
242233
}
234+
// The subscription has been deleted along with the user, so remove the subscription_id but keep the same push subscription model
235+
OneSignalUserManagerImpl.sharedInstance.pushSubscriptionModel?.subscriptionId = nil
236+
OneSignalUserManagerImpl.sharedInstance._logout()
237+
} else if responseType != .retryable {
238+
// Fail, no retry, remove from cache and queue
239+
self.addRequestQueue.removeAll(where: { $0 == request})
240+
OneSignalUserDefaults.initShared().saveCodeableData(forKey: OS_IDENTITY_EXECUTOR_ADD_REQUEST_QUEUE_KEY, withValue: self.addRequestQueue)
243241
}
244242
if inBackground {
245243
OSBackgroundTaskManager.endBackgroundTask(backgroundTaskIdentifier)
@@ -277,14 +275,12 @@ class OSIdentityOperationExecutor: OSOperationExecutor {
277275
} onFailure: { error in
278276
OneSignalLog.onesignalLog(.LL_ERROR, message: "OSIdentityOperationExecutor remove alias request failed with error: \(error.debugDescription)")
279277
self.dispatchQueue.async {
280-
if let nsError = error as? NSError {
281-
let responseType = OSNetworkingUtils.getResponseStatusType(nsError.code)
282-
if responseType != .retryable {
283-
// Fail, no retry, remove from cache and queue
284-
// A response of .missing could mean the alias doesn't exist on this user OR this user has been deleted
285-
self.removeRequestQueue.removeAll(where: { $0 == request})
286-
OneSignalUserDefaults.initShared().saveCodeableData(forKey: OS_IDENTITY_EXECUTOR_REMOVE_REQUEST_QUEUE_KEY, withValue: self.removeRequestQueue)
287-
}
278+
let responseType = OSNetworkingUtils.getResponseStatusType(error.code)
279+
if responseType != .retryable {
280+
// Fail, no retry, remove from cache and queue
281+
// A response of .missing could mean the alias doesn't exist on this user OR this user has been deleted
282+
self.removeRequestQueue.removeAll(where: { $0 == request})
283+
OneSignalUserDefaults.initShared().saveCodeableData(forKey: OS_IDENTITY_EXECUTOR_REMOVE_REQUEST_QUEUE_KEY, withValue: self.removeRequestQueue)
288284
}
289285
if inBackground {
290286
OSBackgroundTaskManager.endBackgroundTask(backgroundTaskIdentifier)

iOS_SDK/OneSignalSDK/OneSignalUser/Source/Executors/OSPropertyOperationExecutor.swift

Lines changed: 18 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -273,28 +273,26 @@ class OSPropertyOperationExecutor: OSOperationExecutor {
273273
} onFailure: { error in
274274
OneSignalLog.onesignalLog(.LL_ERROR, message: "OSPropertyOperationExecutor update properties request failed with error: \(error.debugDescription)")
275275
self.dispatchQueue.async {
276-
if let nsError = error as? NSError {
277-
let responseType = OSNetworkingUtils.getResponseStatusType(nsError.code)
278-
if responseType == .missing {
279-
// remove from cache and queue
280-
self.updateRequestQueue.removeAll(where: { $0 == request})
281-
OneSignalUserDefaults.initShared().saveCodeableData(forKey: OS_PROPERTIES_EXECUTOR_UPDATE_REQUEST_QUEUE_KEY, withValue: self.updateRequestQueue)
282-
// Logout if the user in the SDK is the same
283-
guard OneSignalUserManagerImpl.sharedInstance.isCurrentUser(request.identityModel)
284-
else {
285-
if inBackground {
286-
OSBackgroundTaskManager.endBackgroundTask(backgroundTaskIdentifier)
287-
}
288-
return
276+
let responseType = OSNetworkingUtils.getResponseStatusType(error.code)
277+
if responseType == .missing {
278+
// remove from cache and queue
279+
self.updateRequestQueue.removeAll(where: { $0 == request})
280+
OneSignalUserDefaults.initShared().saveCodeableData(forKey: OS_PROPERTIES_EXECUTOR_UPDATE_REQUEST_QUEUE_KEY, withValue: self.updateRequestQueue)
281+
// Logout if the user in the SDK is the same
282+
guard OneSignalUserManagerImpl.sharedInstance.isCurrentUser(request.identityModel)
283+
else {
284+
if inBackground {
285+
OSBackgroundTaskManager.endBackgroundTask(backgroundTaskIdentifier)
289286
}
290-
// The subscription has been deleted along with the user, so remove the subscription_id but keep the same push subscription model
291-
OneSignalUserManagerImpl.sharedInstance.pushSubscriptionModel?.subscriptionId = nil
292-
OneSignalUserManagerImpl.sharedInstance._logout()
293-
} else if responseType != .retryable {
294-
// Fail, no retry, remove from cache and queue
295-
self.updateRequestQueue.removeAll(where: { $0 == request})
296-
OneSignalUserDefaults.initShared().saveCodeableData(forKey: OS_PROPERTIES_EXECUTOR_UPDATE_REQUEST_QUEUE_KEY, withValue: self.updateRequestQueue)
287+
return
297288
}
289+
// The subscription has been deleted along with the user, so remove the subscription_id but keep the same push subscription model
290+
OneSignalUserManagerImpl.sharedInstance.pushSubscriptionModel?.subscriptionId = nil
291+
OneSignalUserManagerImpl.sharedInstance._logout()
292+
} else if responseType != .retryable {
293+
// Fail, no retry, remove from cache and queue
294+
self.updateRequestQueue.removeAll(where: { $0 == request})
295+
OneSignalUserDefaults.initShared().saveCodeableData(forKey: OS_PROPERTIES_EXECUTOR_UPDATE_REQUEST_QUEUE_KEY, withValue: self.updateRequestQueue)
298296
}
299297
if inBackground {
300298
OSBackgroundTaskManager.endBackgroundTask(backgroundTaskIdentifier)

iOS_SDK/OneSignalSDK/OneSignalUser/Source/Executors/OSSubscriptionOperationExecutor.swift

Lines changed: 28 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -321,27 +321,25 @@ class OSSubscriptionOperationExecutor: OSOperationExecutor {
321321
} onFailure: { error in
322322
OneSignalLog.onesignalLog(.LL_ERROR, message: "OSSubscriptionOperationExecutor create subscription request failed with error: \(error.debugDescription)")
323323
self.dispatchQueue.async {
324-
if let nsError = error as? NSError {
325-
let responseType = OSNetworkingUtils.getResponseStatusType(nsError.code)
326-
if responseType == .missing {
327-
self.addRequestQueue.removeAll(where: { $0 == request})
328-
OneSignalUserDefaults.initShared().saveCodeableData(forKey: OS_SUBSCRIPTION_EXECUTOR_ADD_REQUEST_QUEUE_KEY, withValue: self.addRequestQueue)
329-
// Logout if the user in the SDK is the same
330-
guard OneSignalUserManagerImpl.sharedInstance.isCurrentUser(request.identityModel)
331-
else {
332-
if inBackground {
333-
OSBackgroundTaskManager.endBackgroundTask(backgroundTaskIdentifier)
334-
}
335-
return
324+
let responseType = OSNetworkingUtils.getResponseStatusType(error.code)
325+
if responseType == .missing {
326+
self.addRequestQueue.removeAll(where: { $0 == request})
327+
OneSignalUserDefaults.initShared().saveCodeableData(forKey: OS_SUBSCRIPTION_EXECUTOR_ADD_REQUEST_QUEUE_KEY, withValue: self.addRequestQueue)
328+
// Logout if the user in the SDK is the same
329+
guard OneSignalUserManagerImpl.sharedInstance.isCurrentUser(request.identityModel)
330+
else {
331+
if inBackground {
332+
OSBackgroundTaskManager.endBackgroundTask(backgroundTaskIdentifier)
336333
}
337-
// The subscription has been deleted along with the user, so remove the subscription_id but keep the same push subscription model
338-
OneSignalUserManagerImpl.sharedInstance.pushSubscriptionModel?.subscriptionId = nil
339-
OneSignalUserManagerImpl.sharedInstance._logout()
340-
} else if responseType != .retryable {
341-
// Fail, no retry, remove from cache and queue
342-
self.addRequestQueue.removeAll(where: { $0 == request})
343-
OneSignalUserDefaults.initShared().saveCodeableData(forKey: OS_SUBSCRIPTION_EXECUTOR_ADD_REQUEST_QUEUE_KEY, withValue: self.addRequestQueue)
334+
return
344335
}
336+
// The subscription has been deleted along with the user, so remove the subscription_id but keep the same push subscription model
337+
OneSignalUserManagerImpl.sharedInstance.pushSubscriptionModel?.subscriptionId = nil
338+
OneSignalUserManagerImpl.sharedInstance._logout()
339+
} else if responseType != .retryable {
340+
// Fail, no retry, remove from cache and queue
341+
self.addRequestQueue.removeAll(where: { $0 == request})
342+
OneSignalUserDefaults.initShared().saveCodeableData(forKey: OS_SUBSCRIPTION_EXECUTOR_ADD_REQUEST_QUEUE_KEY, withValue: self.addRequestQueue)
345343
}
346344
if inBackground {
347345
OSBackgroundTaskManager.endBackgroundTask(backgroundTaskIdentifier)
@@ -379,14 +377,12 @@ class OSSubscriptionOperationExecutor: OSOperationExecutor {
379377
} onFailure: { error in
380378
OneSignalLog.onesignalLog(.LL_ERROR, message: "OSSubscriptionOperationExecutor delete subscription request failed with error: \(error.debugDescription)")
381379
self.dispatchQueue.async {
382-
if let nsError = error as? NSError {
383-
let responseType = OSNetworkingUtils.getResponseStatusType(nsError.code)
384-
if responseType != .retryable {
385-
// Fail, no retry, remove from cache and queue
386-
// If this request returns a missing status, that is ok as this is a delete request
387-
self.removeRequestQueue.removeAll(where: { $0 == request})
388-
OneSignalUserDefaults.initShared().saveCodeableData(forKey: OS_SUBSCRIPTION_EXECUTOR_REMOVE_REQUEST_QUEUE_KEY, withValue: self.removeRequestQueue)
389-
}
380+
let responseType = OSNetworkingUtils.getResponseStatusType(error.code)
381+
if responseType != .retryable {
382+
// Fail, no retry, remove from cache and queue
383+
// If this request returns a missing status, that is ok as this is a delete request
384+
self.removeRequestQueue.removeAll(where: { $0 == request})
385+
OneSignalUserDefaults.initShared().saveCodeableData(forKey: OS_SUBSCRIPTION_EXECUTOR_REMOVE_REQUEST_QUEUE_KEY, withValue: self.removeRequestQueue)
390386
}
391387
if inBackground {
392388
OSBackgroundTaskManager.endBackgroundTask(backgroundTaskIdentifier)
@@ -437,13 +433,11 @@ class OSSubscriptionOperationExecutor: OSOperationExecutor {
437433
} onFailure: { error in
438434
OneSignalLog.onesignalLog(.LL_ERROR, message: "OSSubscriptionOperationExecutor update subscription request failed with error: \(error.debugDescription)")
439435
self.dispatchQueue.async {
440-
if let nsError = error as? NSError {
441-
let responseType = OSNetworkingUtils.getResponseStatusType(nsError.code)
442-
if responseType != .retryable {
443-
// Fail, no retry, remove from cache and queue
444-
self.updateRequestQueue.removeAll(where: { $0 == request})
445-
OneSignalUserDefaults.initShared().saveCodeableData(forKey: OS_SUBSCRIPTION_EXECUTOR_UPDATE_REQUEST_QUEUE_KEY, withValue: self.updateRequestQueue)
446-
}
436+
let responseType = OSNetworkingUtils.getResponseStatusType(error.code)
437+
if responseType != .retryable {
438+
// Fail, no retry, remove from cache and queue
439+
self.updateRequestQueue.removeAll(where: { $0 == request})
440+
OneSignalUserDefaults.initShared().saveCodeableData(forKey: OS_SUBSCRIPTION_EXECUTOR_UPDATE_REQUEST_QUEUE_KEY, withValue: self.updateRequestQueue)
447441
}
448442
if inBackground {
449443
OSBackgroundTaskManager.endBackgroundTask(backgroundTaskIdentifier)

0 commit comments

Comments
 (0)