Skip to content

Commit 641881c

Browse files
authored
Merge pull request #664 from Iterable/MOB-6583-OfflineMode-Default-Off
[MOB - 6583] - No Offline Components when Online-Only
2 parents 61b8721 + 48a5e9e commit 641881c

File tree

3 files changed

+32
-15
lines changed

3 files changed

+32
-15
lines changed

swift-sdk.xcodeproj/xcshareddata/xcschemes/swift-sdk.xcscheme

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -210,6 +210,11 @@
210210
BlueprintName = "offline-events-tests"
211211
ReferencedContainer = "container:swift-sdk.xcodeproj">
212212
</BuildableReference>
213+
<SkippedTests>
214+
<Test
215+
Identifier = "RequestHandlerTests/testFeatureFlagTurnOnOfflineMode()">
216+
</Test>
217+
</SkippedTests>
213218
</TestableReference>
214219
</Testables>
215220
</TestAction>

swift-sdk/Internal/DependencyContainerProtocol.swift

Lines changed: 26 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -70,21 +70,33 @@ extension DependencyContainerProtocol {
7070
networkSession: networkSession,
7171
deviceMetadata: deviceMetadata,
7272
dateProvider: dateProvider)
73-
if let persistenceContextProvider = createPersistenceContextProvider() {
73+
lazy var offlineProcessor: OfflineRequestProcessor? = nil
74+
lazy var healthMonitor: HealthMonitor? = nil
75+
guard let persistenceContextProvider = createPersistenceContextProvider() else {
76+
return RequestHandler(onlineProcessor: onlineProcessor,
77+
offlineProcessor: nil,
78+
healthMonitor: nil,
79+
offlineMode: offlineMode)
80+
}
81+
if offlineMode {
82+
7483
let healthMonitorDataProvider = createHealthMonitorDataProvider(persistenceContextProvider: persistenceContextProvider)
75-
let healthMonitor = HealthMonitor(dataProvider: healthMonitorDataProvider,
76-
dateProvider: dateProvider,
77-
networkSession: networkSession)
78-
let offlineProcessor = OfflineRequestProcessor(apiKey: apiKey,
79-
authProvider: authProvider,
80-
authManager: authManager,
81-
endpoint: endpoint,
82-
deviceMetadata: deviceMetadata,
83-
taskScheduler: createTaskScheduler(persistenceContextProvider: persistenceContextProvider,
84-
healthMonitor: healthMonitor),
85-
taskRunner: createTaskRunner(persistenceContextProvider: persistenceContextProvider,
86-
healthMonitor: healthMonitor),
87-
notificationCenter: notificationCenter)
84+
85+
healthMonitor = HealthMonitor(dataProvider: healthMonitorDataProvider,
86+
dateProvider: dateProvider,
87+
networkSession: networkSession)
88+
offlineProcessor = OfflineRequestProcessor(apiKey: apiKey,
89+
authProvider: authProvider,
90+
authManager: authManager,
91+
endpoint: endpoint,
92+
deviceMetadata: deviceMetadata,
93+
taskScheduler: createTaskScheduler(persistenceContextProvider: persistenceContextProvider,
94+
healthMonitor: healthMonitor!),
95+
taskRunner: createTaskRunner(persistenceContextProvider: persistenceContextProvider,
96+
healthMonitor: healthMonitor!),
97+
notificationCenter: notificationCenter)
98+
99+
88100
return RequestHandler(onlineProcessor: onlineProcessor,
89101
offlineProcessor: offlineProcessor,
90102
healthMonitor: healthMonitor,

swift-sdk/Internal/RequestHandler.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ class RequestHandler: RequestHandlerProtocol {
88
init(onlineProcessor: OnlineRequestProcessor,
99
offlineProcessor: OfflineRequestProcessor?,
1010
healthMonitor: HealthMonitor?,
11-
offlineMode: Bool = true) {
11+
offlineMode: Bool = false) {
1212
ITBInfo()
1313
self.onlineProcessor = onlineProcessor
1414
self.offlineProcessor = offlineProcessor

0 commit comments

Comments
 (0)