@@ -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