Skip to content

Commit 5e81b3d

Browse files
committed
Persist executor queues on start / init
* The executors read from cache but did not re-persist the new data if some requests or deltas were removed
1 parent c83dbb1 commit 5e81b3d

File tree

4 files changed

+11
-2
lines changed

4 files changed

+11
-2
lines changed

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

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ class OSIdentityOperationExecutor: OSOperationExecutor {
4949
}
5050
}
5151
self.deltaQueue = deltaQueue
52+
OneSignalUserDefaults.initShared().saveCodeableData(forKey: OS_IDENTITY_EXECUTOR_DELTA_QUEUE_KEY, withValue: self.deltaQueue)
5253
} else {
5354
OneSignalLog.onesignalLog(.LL_ERROR, message: "OSIdentityOperationExecutor error encountered reading from cache for \(OS_IDENTITY_EXECUTOR_DELTA_QUEUE_KEY)")
5455
}
@@ -70,6 +71,7 @@ class OSIdentityOperationExecutor: OSOperationExecutor {
7071
}
7172
}
7273
self.addRequestQueue = addRequestQueue
74+
OneSignalUserDefaults.initShared().saveCodeableData(forKey: OS_IDENTITY_EXECUTOR_ADD_REQUEST_QUEUE_KEY, withValue: self.addRequestQueue)
7375
} else {
7476
OneSignalLog.onesignalLog(.LL_ERROR, message: "OSIdentityOperationExecutor error encountered reading from cache for \(OS_IDENTITY_EXECUTOR_ADD_REQUEST_QUEUE_KEY)")
7577
}
@@ -89,6 +91,7 @@ class OSIdentityOperationExecutor: OSOperationExecutor {
8991
}
9092
}
9193
self.removeRequestQueue = removeRequestQueue
94+
OneSignalUserDefaults.initShared().saveCodeableData(forKey: OS_IDENTITY_EXECUTOR_REMOVE_REQUEST_QUEUE_KEY, withValue: self.removeRequestQueue)
9295
} else {
9396
OneSignalLog.onesignalLog(.LL_ERROR, message: "OSIdentityOperationExecutor error encountered reading from cache for \(OS_IDENTITY_EXECUTOR_REMOVE_REQUEST_QUEUE_KEY)")
9497
}

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

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ class OSPropertyOperationExecutor: OSOperationExecutor {
5252
}
5353
}
5454
self.deltaQueue = deltaQueue
55+
OneSignalUserDefaults.initShared().saveCodeableData(forKey: OS_PROPERTIES_EXECUTOR_DELTA_QUEUE_KEY, withValue: self.deltaQueue)
5556
} else {
5657
OneSignalLog.onesignalLog(.LL_ERROR, message: "OSPropertyOperationExecutor error encountered reading from cache for \(OS_PROPERTIES_EXECUTOR_DELTA_QUEUE_KEY)")
5758
}
@@ -77,6 +78,7 @@ class OSPropertyOperationExecutor: OSOperationExecutor {
7778
}
7879
}
7980
self.updateRequestQueue = updateRequestQueue
81+
OneSignalUserDefaults.initShared().saveCodeableData(forKey: OS_PROPERTIES_EXECUTOR_UPDATE_REQUEST_QUEUE_KEY, withValue: self.updateRequestQueue)
8082
} else {
8183
OneSignalLog.onesignalLog(.LL_ERROR, message: "OSPropertyOperationExecutor error encountered reading from cache for \(OS_PROPERTIES_EXECUTOR_UPDATE_REQUEST_QUEUE_KEY)")
8284
}

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

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ class OSSubscriptionOperationExecutor: OSOperationExecutor {
5151
}
5252
}
5353
self.deltaQueue = deltaQueue
54+
OneSignalUserDefaults.initShared().saveCodeableData(forKey: OS_SUBSCRIPTION_EXECUTOR_DELTA_QUEUE_KEY, withValue: self.deltaQueue)
5455
} else {
5556
OneSignalLog.onesignalLog(.LL_ERROR, message: "OSSubscriptionOperationExecutor error encountered reading from cache for \(OS_SUBSCRIPTION_EXECUTOR_DELTA_QUEUE_KEY)")
5657
}
@@ -87,6 +88,7 @@ class OSSubscriptionOperationExecutor: OSOperationExecutor {
8788
requestQueue.append(request)
8889
}
8990
self.addRequestQueue = requestQueue
91+
OneSignalUserDefaults.initShared().saveCodeableData(forKey: OS_SUBSCRIPTION_EXECUTOR_ADD_REQUEST_QUEUE_KEY, withValue: self.addRequestQueue)
9092
} else {
9193
OneSignalLog.onesignalLog(.LL_ERROR, message: "OSSubscriptionOperationExecutor error encountered reading from cache for \(OS_SUBSCRIPTION_EXECUTOR_ADD_REQUEST_QUEUE_KEY)")
9294
}
@@ -106,6 +108,7 @@ class OSSubscriptionOperationExecutor: OSOperationExecutor {
106108
}
107109
}
108110
self.removeRequestQueue = removeRequestQueue
111+
OneSignalUserDefaults.initShared().saveCodeableData(forKey: OS_SUBSCRIPTION_EXECUTOR_REMOVE_REQUEST_QUEUE_KEY, withValue: self.removeRequestQueue)
109112
} else {
110113
OneSignalLog.onesignalLog(.LL_ERROR, message: "OSSubscriptionOperationExecutor error encountered reading from cache for \(OS_SUBSCRIPTION_EXECUTOR_REMOVE_REQUEST_QUEUE_KEY)")
111114
}
@@ -125,6 +128,7 @@ class OSSubscriptionOperationExecutor: OSOperationExecutor {
125128
}
126129
}
127130
self.updateRequestQueue = updateRequestQueue
131+
OneSignalUserDefaults.initShared().saveCodeableData(forKey: OS_SUBSCRIPTION_EXECUTOR_UPDATE_REQUEST_QUEUE_KEY, withValue: self.updateRequestQueue)
128132
} else {
129133
OneSignalLog.onesignalLog(.LL_ERROR, message: "OSSubscriptionOperationExecutor error encountered reading from cache for \(OS_SUBSCRIPTION_EXECUTOR_UPDATE_REQUEST_QUEUE_KEY)")
130134
}

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ class OSUserExecutor {
105105
}
106106
}
107107
self.userRequestQueue = userRequestQueue
108-
108+
OneSignalUserDefaults.initShared().saveCodeableData(forKey: OS_USER_EXECUTOR_USER_REQUEST_QUEUE_KEY, withValue: self.userRequestQueue)
109109
// Read unfinished Transfer Subscription requests from cache, if any...
110110
if let transferSubscriptionRequestQueue = OneSignalUserDefaults.initShared().getSavedCodeableData(forKey: OS_USER_EXECUTOR_TRANSFER_SUBSCRIPTION_REQUEST_QUEUE_KEY, defaultValue: []) as? [OSRequestTransferSubscription] {
111111
// We only care about the last transfer subscription request
@@ -124,7 +124,7 @@ class OSUserExecutor {
124124
} else {
125125
OneSignalLog.onesignalLog(.LL_ERROR, message: "OSUserExecutor error encountered reading from cache for \(OS_USER_EXECUTOR_TRANSFER_SUBSCRIPTION_REQUEST_QUEUE_KEY)")
126126
}
127-
127+
OneSignalUserDefaults.initShared().saveCodeableData(forKey: OS_USER_EXECUTOR_TRANSFER_SUBSCRIPTION_REQUEST_QUEUE_KEY, withValue: self.transferSubscriptionRequestQueue)
128128
executePendingRequests()
129129
}
130130

0 commit comments

Comments
 (0)