From 0bb5749014c4d3e82f47f9a39f94f6d8b06d613a Mon Sep 17 00:00:00 2001 From: Rishav Gupta Date: Mon, 10 Jul 2023 11:45:20 +0530 Subject: [PATCH 01/14] renamed Clickstream to ClickstreamLib --- Clickstream.podspec => ClickstreamLib.podspec | 4 +- .../project.pbxproj | 1546 +++++++++-------- .../contents.xcworkspacedata | 0 .../xcshareddata/IDEWorkspaceChecks.plist | 0 .../xcschemes/ClickstreamLib.xcscheme | 14 +- .../contents.xcworkspacedata | 5 +- .../xcshareddata/IDEWorkspaceChecks.plist | 0 .../xcshareddata/WorkspaceSettings.xcsettings | 8 + .../Core/ClickStreamDependenciesTests.swift | 2 +- ClickstreamTests/Core/ClickStreamTests.swift | 2 +- .../Core/Entities/EventBatchTests.swift | 2 +- .../Core/Entities/EventTests.swift | 2 +- .../Core/Mocks/MockConstants.swift | 2 +- .../EventProcessorDependenciesTests.swift | 2 +- .../EventProcessorTest.swift | 2 +- .../AppStateNotifierServiceTests.swift | 2 +- .../Data/Persistence/DatabaseDAOTests.swift | 2 +- .../EventBatchProcessorTests.swift | 2 +- .../EventCreatorTests.swift | 2 +- .../EventSchedulerDependenciesTests.swift | 2 +- .../EventWarehouserTests.swift | 2 +- .../Mocks/AppStateNotifierMock.swift | 2 +- .../Mocks/BatchSizeRegulatorMock.swift | 2 +- .../SchedulerServiceTests.swift | 2 +- .../SortedArrayTests.swift | 2 +- .../Utilities/DispatchQueue+Detection.swift | 2 +- .../NetworkManagerDependenciesTests.swift | 2 +- .../Infrastructure/NetworkBuilderTests.swift | 2 +- .../Infrastructure/NetworkServiceTests.swift | 2 +- .../Infrastructure/RetryMechanismTests.swift | 2 +- .../Mocks/NetworkReachabilityMock.swift | 2 +- .../Mocks/SocketHandlerMock.swift | 2 +- .../Models/EventRequestTests.swift | 2 +- .../Utilities/DeviceStatusNotifierTests.swift | 2 +- .../Utilities/KeepAliveServiceTests.swift | 3 +- Example/Example.xcodeproj/project.pbxproj | 4 +- Example/Example/src/AnalyticsManager.swift | 2 +- Example/Example/src/Contracts/App.pb.swift | 2 +- Example/Example/src/Contracts/Device.pb.swift | 2 +- Example/Example/src/Contracts/User.pb.swift | 2 +- Podfile | 6 +- Podfile.lock | 4 +- .../Contracts/EteExperiment.pb.swift | 0 .../Contracts/Event.pb.swift | 0 .../Contracts/EventRequest.pb.swift | 0 .../Contracts/EventResponse.pb.swift | 0 .../Core/Data/Constants/Constants.swift | 0 .../Constraints/ClickStreamConstraints.swift | 0 .../ClickStreamEventClassification.swift | 0 .../Core/Data/Utilities/DeviceInfo.swift | 0 .../Data/Utilities/JSONStringDecoder.swift | 0 .../Core/Data/Utilities/Logger.swift | 0 .../Utilities/Reachability+Extension.swift | 0 .../ClickstreamDependencies.swift | 0 .../Domain/Entities/ClickstreamEvent.swift | 0 .../Core/Domain/Entities/Event.swift | 0 .../Core/Domain/Entities/EventBatch.swift | 0 .../Core/Interface/ClickStream.swift | 0 .../EventProcessor/Core/EventClassifier.swift | 0 .../EventProcessor/Core/EventProcessor.swift | 0 .../Core/EventProcessorDependencies.swift | 0 .../Core/EventBatchCreator.swift | 0 .../Core/EventBatchProcessor.swift | 0 .../Core/EventSchedulerDependencies.swift | 0 .../EventScheduler/Core/EventWarehouser.swift | 0 .../Database/DatabaseHandler.swift | 0 .../Data/Persistence/DatabaseDAO.swift | 0 .../Protocols/DatabasePersistable.swift | 0 .../Domain/Protocols/TableDefinable.swift | 0 .../Utilities/AppStateNotifierService.swift | 0 .../Utilities/EventBatchSizeRegulator.swift | 0 .../Utilities/SchedulerService.swift | 0 .../Utilities/SortedArray.swift | 0 .../NetworkManagerDependencies.swift | 0 .../NetworkManager/Core/NetworkBuilder.swift | 0 .../NetworkManager/Core/RetryMechanism.swift | 0 .../ProtoConvertible/ProtoConvertible.swift | 0 .../Domain/Entities/EventRequest.swift | 0 .../NetworkService/Connectable.swift | 0 .../NetworkService/NetworkConfiguration.swift | 0 .../NetworkService/NetworkService.swift | 0 .../Infrastructure/Sockets/Heartbeat.swift | 0 .../Sockets/SocketHandler.swift | 0 .../Infrastructure/Utilities/Atomic.swift | 0 .../Utilities/DeviceStatusNotifier.swift | 0 .../DispatchSourceTimer+RepeatingTimer.swift | 0 .../Utilities/KeepAliveService.swift | 0 .../Utilities/NetworkReachability.swift | 0 .../Sources/Compression/Compression.swift | 0 .../Sources/Compression/WSCompression.swift | 0 .../Sources/DataBytes/Data+Extensions.swift | 0 .../Sources/Engine/Engine.swift | 0 .../Sources/Engine/NativeEngine.swift | 0 .../Sources/Engine/WSEngine.swift | 0 .../Framer/FoundationHTTPHandler.swift | 0 .../Framer/FoundationHTTPServerHandler.swift | 0 .../Sources/Framer/FrameCollector.swift | 0 .../Sources/Framer/Framer.swift | 0 .../Sources/Framer/HTTPHandler.swift | 0 .../Sources/Framer/StringHTTPHandler.swift | 0 .../Sources/Security/FoundationSecurity.swift | 0 .../Sources/Security/Security.swift | 0 .../Sources/Server/Server.swift | 0 .../Sources/Server/WebSocketServer.swift | 0 .../Sources/Starscream/WebSocket.swift | 0 .../Transport/FoundationTransport.swift | 0 .../Sources/Transport/TCPTransport.swift | 0 .../Sources/Transport/Transport.swift | 0 auto_version_bump.py | 6 +- 109 files changed, 845 insertions(+), 815 deletions(-) rename Clickstream.podspec => ClickstreamLib.podspec (96%) rename {Clickstream.xcodeproj => ClickstreamLib.xcodeproj}/project.pbxproj (55%) rename {Clickstream.xcodeproj => ClickstreamLib.xcodeproj}/project.xcworkspace/contents.xcworkspacedata (100%) rename {Clickstream.xcodeproj => ClickstreamLib.xcodeproj}/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist (100%) rename Clickstream.xcodeproj/xcshareddata/xcschemes/Clickstream.xcscheme => ClickstreamLib.xcodeproj/xcshareddata/xcschemes/ClickstreamLib.xcscheme (85%) rename {Clickstream.xcworkspace => ClickstreamLib.xcworkspace}/contents.xcworkspacedata (60%) rename {Clickstream.xcworkspace => ClickstreamLib.xcworkspace}/xcshareddata/IDEWorkspaceChecks.plist (100%) create mode 100644 ClickstreamLib.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings rename Sources/{Clickstream => ClickstreamLib}/Contracts/EteExperiment.pb.swift (100%) rename Sources/{Clickstream => ClickstreamLib}/Contracts/Event.pb.swift (100%) rename Sources/{Clickstream => ClickstreamLib}/Contracts/EventRequest.pb.swift (100%) rename Sources/{Clickstream => ClickstreamLib}/Contracts/EventResponse.pb.swift (100%) rename Sources/{Clickstream => ClickstreamLib}/Core/Data/Constants/Constants.swift (100%) rename Sources/{Clickstream => ClickstreamLib}/Core/Data/Constraints/ClickStreamConstraints.swift (100%) rename Sources/{Clickstream => ClickstreamLib}/Core/Data/Constraints/ClickStreamEventClassification.swift (100%) rename Sources/{Clickstream => ClickstreamLib}/Core/Data/Utilities/DeviceInfo.swift (100%) rename Sources/{Clickstream => ClickstreamLib}/Core/Data/Utilities/JSONStringDecoder.swift (100%) rename Sources/{Clickstream => ClickstreamLib}/Core/Data/Utilities/Logger.swift (100%) rename Sources/{Clickstream => ClickstreamLib}/Core/Data/Utilities/Reachability+Extension.swift (100%) rename Sources/{Clickstream => ClickstreamLib}/Core/Dependencies/ClickstreamDependencies.swift (100%) rename Sources/{Clickstream => ClickstreamLib}/Core/Domain/Entities/ClickstreamEvent.swift (100%) rename Sources/{Clickstream => ClickstreamLib}/Core/Domain/Entities/Event.swift (100%) rename Sources/{Clickstream => ClickstreamLib}/Core/Domain/Entities/EventBatch.swift (100%) rename Sources/{Clickstream => ClickstreamLib}/Core/Interface/ClickStream.swift (100%) rename Sources/{Clickstream => ClickstreamLib}/EventProcessor/Core/EventClassifier.swift (100%) rename Sources/{Clickstream => ClickstreamLib}/EventProcessor/Core/EventProcessor.swift (100%) rename Sources/{Clickstream => ClickstreamLib}/EventProcessor/Core/EventProcessorDependencies.swift (100%) rename Sources/{Clickstream => ClickstreamLib}/EventScheduler/Core/EventBatchCreator.swift (100%) rename Sources/{Clickstream => ClickstreamLib}/EventScheduler/Core/EventBatchProcessor.swift (100%) rename Sources/{Clickstream => ClickstreamLib}/EventScheduler/Core/EventSchedulerDependencies.swift (100%) rename Sources/{Clickstream => ClickstreamLib}/EventScheduler/Core/EventWarehouser.swift (100%) rename Sources/{Clickstream => ClickstreamLib}/EventScheduler/Data/Persistence/Database/DatabaseHandler.swift (100%) rename Sources/{Clickstream => ClickstreamLib}/EventScheduler/Data/Persistence/DatabaseDAO.swift (100%) rename Sources/{Clickstream => ClickstreamLib}/EventScheduler/Domain/Protocols/DatabasePersistable.swift (100%) rename Sources/{Clickstream => ClickstreamLib}/EventScheduler/Domain/Protocols/TableDefinable.swift (100%) rename Sources/{Clickstream => ClickstreamLib}/EventScheduler/Infrastructure/Utilities/AppStateNotifierService.swift (100%) rename Sources/{Clickstream => ClickstreamLib}/EventScheduler/Infrastructure/Utilities/EventBatchSizeRegulator.swift (100%) rename Sources/{Clickstream => ClickstreamLib}/EventScheduler/Infrastructure/Utilities/SchedulerService.swift (100%) rename Sources/{Clickstream => ClickstreamLib}/EventScheduler/Infrastructure/Utilities/SortedArray.swift (100%) rename Sources/{Clickstream => ClickstreamLib}/NetworkManager/Core/Dependencies/NetworkManagerDependencies.swift (100%) rename Sources/{Clickstream => ClickstreamLib}/NetworkManager/Core/NetworkBuilder.swift (100%) rename Sources/{Clickstream => ClickstreamLib}/NetworkManager/Core/RetryMechanism.swift (100%) rename Sources/{Clickstream => ClickstreamLib}/NetworkManager/Data/ProtoConvertible/ProtoConvertible.swift (100%) rename Sources/{Clickstream => ClickstreamLib}/NetworkManager/Domain/Entities/EventRequest.swift (100%) rename Sources/{Clickstream => ClickstreamLib}/NetworkManager/Infrastructure/NetworkService/Connectable.swift (100%) rename Sources/{Clickstream => ClickstreamLib}/NetworkManager/Infrastructure/NetworkService/NetworkConfiguration.swift (100%) rename Sources/{Clickstream => ClickstreamLib}/NetworkManager/Infrastructure/NetworkService/NetworkService.swift (100%) rename Sources/{Clickstream => ClickstreamLib}/NetworkManager/Infrastructure/Sockets/Heartbeat.swift (100%) rename Sources/{Clickstream => ClickstreamLib}/NetworkManager/Infrastructure/Sockets/SocketHandler.swift (100%) rename Sources/{Clickstream => ClickstreamLib}/NetworkManager/Infrastructure/Utilities/Atomic.swift (100%) rename Sources/{Clickstream => ClickstreamLib}/NetworkManager/Infrastructure/Utilities/DeviceStatusNotifier.swift (100%) rename Sources/{Clickstream => ClickstreamLib}/NetworkManager/Infrastructure/Utilities/DispatchSourceTimer+RepeatingTimer.swift (100%) rename Sources/{Clickstream => ClickstreamLib}/NetworkManager/Infrastructure/Utilities/KeepAliveService.swift (100%) rename Sources/{Clickstream => ClickstreamLib}/NetworkManager/Infrastructure/Utilities/NetworkReachability.swift (100%) rename Sources/{Clickstream => ClickstreamLib}/ThirdPartyLibraries/Sources/Compression/Compression.swift (100%) rename Sources/{Clickstream => ClickstreamLib}/ThirdPartyLibraries/Sources/Compression/WSCompression.swift (100%) rename Sources/{Clickstream => ClickstreamLib}/ThirdPartyLibraries/Sources/DataBytes/Data+Extensions.swift (100%) rename Sources/{Clickstream => ClickstreamLib}/ThirdPartyLibraries/Sources/Engine/Engine.swift (100%) rename Sources/{Clickstream => ClickstreamLib}/ThirdPartyLibraries/Sources/Engine/NativeEngine.swift (100%) rename Sources/{Clickstream => ClickstreamLib}/ThirdPartyLibraries/Sources/Engine/WSEngine.swift (100%) rename Sources/{Clickstream => ClickstreamLib}/ThirdPartyLibraries/Sources/Framer/FoundationHTTPHandler.swift (100%) rename Sources/{Clickstream => ClickstreamLib}/ThirdPartyLibraries/Sources/Framer/FoundationHTTPServerHandler.swift (100%) rename Sources/{Clickstream => ClickstreamLib}/ThirdPartyLibraries/Sources/Framer/FrameCollector.swift (100%) rename Sources/{Clickstream => ClickstreamLib}/ThirdPartyLibraries/Sources/Framer/Framer.swift (100%) rename Sources/{Clickstream => ClickstreamLib}/ThirdPartyLibraries/Sources/Framer/HTTPHandler.swift (100%) rename Sources/{Clickstream => ClickstreamLib}/ThirdPartyLibraries/Sources/Framer/StringHTTPHandler.swift (100%) rename Sources/{Clickstream => ClickstreamLib}/ThirdPartyLibraries/Sources/Security/FoundationSecurity.swift (100%) rename Sources/{Clickstream => ClickstreamLib}/ThirdPartyLibraries/Sources/Security/Security.swift (100%) rename Sources/{Clickstream => ClickstreamLib}/ThirdPartyLibraries/Sources/Server/Server.swift (100%) rename Sources/{Clickstream => ClickstreamLib}/ThirdPartyLibraries/Sources/Server/WebSocketServer.swift (100%) rename Sources/{Clickstream => ClickstreamLib}/ThirdPartyLibraries/Sources/Starscream/WebSocket.swift (100%) rename Sources/{Clickstream => ClickstreamLib}/ThirdPartyLibraries/Sources/Transport/FoundationTransport.swift (100%) rename Sources/{Clickstream => ClickstreamLib}/ThirdPartyLibraries/Sources/Transport/TCPTransport.swift (100%) rename Sources/{Clickstream => ClickstreamLib}/ThirdPartyLibraries/Sources/Transport/Transport.swift (100%) diff --git a/Clickstream.podspec b/ClickstreamLib.podspec similarity index 96% rename from Clickstream.podspec rename to ClickstreamLib.podspec index 08b68f1..3fd884e 100644 --- a/Clickstream.podspec +++ b/ClickstreamLib.podspec @@ -7,8 +7,8 @@ # Pod::Spec.new do |s| - s.name = "Clickstream" - s.version = "1.1.22" + s.name = "ClickstreamLib" + s.version = "2.0.1" s.summary = "Real time Analytics SDK" s.description = "Clickstream is an event agnostic, real-time data ingestion analytics SDK" diff --git a/Clickstream.xcodeproj/project.pbxproj b/ClickstreamLib.xcodeproj/project.pbxproj similarity index 55% rename from Clickstream.xcodeproj/project.pbxproj rename to ClickstreamLib.xcodeproj/project.pbxproj index 714a350..5025296 100644 --- a/Clickstream.xcodeproj/project.pbxproj +++ b/ClickstreamLib.xcodeproj/project.pbxproj @@ -7,72 +7,7 @@ objects = { /* Begin PBXBuildFile section */ - 681EAB4124897822003AB41A /* AppStateNotifierMock.swift in Sources */ = {isa = PBXBuildFile; fileRef = 681EAB4024897822003AB41A /* AppStateNotifierMock.swift */; }; - 68316329260CB2690095DBCA /* BatchSizeRegulatorMock.swift in Sources */ = {isa = PBXBuildFile; fileRef = 68316328260CB2690095DBCA /* BatchSizeRegulatorMock.swift */; }; - 68316339260DC7D00095DBCA /* DatabaseMock.swift in Sources */ = {isa = PBXBuildFile; fileRef = 68316338260DC7D00095DBCA /* DatabaseMock.swift */; }; - 6831635F261218F90095DBCA /* RetryMechanismTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6831635E261218F90095DBCA /* RetryMechanismTests.swift */; }; - 687B2A2A246AA756008F2805 /* NetworkReachabilityMock.swift in Sources */ = {isa = PBXBuildFile; fileRef = 687B2A29246AA756008F2805 /* NetworkReachabilityMock.swift */; }; - 68E19FB8247D42100074A790 /* DispatchQueue+Detection.swift in Sources */ = {isa = PBXBuildFile; fileRef = 68E19FB5247D42100074A790 /* DispatchQueue+Detection.swift */; }; - 68E7BD202456E6F10072549A /* libClickstream.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68E7BADF244F08C00072549A /* libClickstream.a */; }; - 68E7BD87246028CF0072549A /* SocketHandlerMock.swift in Sources */ = {isa = PBXBuildFile; fileRef = 68E7BD86246028CF0072549A /* SocketHandlerMock.swift */; }; - 9A6AEC9C2A43835A000A1D1D /* MockConstants.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9A6AEC9B2A43835A000A1D1D /* MockConstants.swift */; }; - 9AF0C758280DEC8C00E39A12 /* ClickStreamTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9AB88AA0251B00030092659B /* ClickStreamTests.swift */; }; - 9AF0C759280DEC9600E39A12 /* EventTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9AA23CFA24A5978B001BE490 /* EventTests.swift */; }; - 9AF0C75A280DECBD00E39A12 /* EventBatchTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9AA23D0024A5A1A7001BE490 /* EventBatchTests.swift */; }; - 9AF0C75B280DECBF00E39A12 /* ClickStreamDependenciesTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9AA23D0B24AA5536001BE490 /* ClickStreamDependenciesTests.swift */; }; - 9AF0C75C280DECC200E39A12 /* EventProcessorTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9AA23CF524A33B4C001BE490 /* EventProcessorTest.swift */; }; - 9AF0C75D280DECC400E39A12 /* EventProcessorDependenciesTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9AA23D1024AB2801001BE490 /* EventProcessorDependenciesTests.swift */; }; - 9AF0C75E280DECD600E39A12 /* EventCreatorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 68E19FB3247D42100074A790 /* EventCreatorTests.swift */; }; - 9AF0C75F280DECD800E39A12 /* SchedulerServiceTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 68E19FB2247D420F0074A790 /* SchedulerServiceTests.swift */; }; - 9AF0C760280DECDC00E39A12 /* SortedArrayTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9AAFBAE924754CEF009BFDFB /* SortedArrayTests.swift */; }; - 9AF0C761280DECDE00E39A12 /* EventBatchProcessorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 681EAB3E248972E6003AB41A /* EventBatchProcessorTests.swift */; }; - 9AF0C762280DECE100E39A12 /* EventWarehouserTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6831AFD8248E5265004596CC /* EventWarehouserTests.swift */; }; - 9AF0C763280DECE300E39A12 /* EventSchedulerDependenciesTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9AA23D0524A9D6CC001BE490 /* EventSchedulerDependenciesTests.swift */; }; - 9AF0C764280DECE500E39A12 /* AppStateNotifierServiceTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9AA23D0924AA297E001BE490 /* AppStateNotifierServiceTests.swift */; }; - 9AF0C765280DECE800E39A12 /* NetworkManagerDependenciesTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9AA23D0E24AB1696001BE490 /* NetworkManagerDependenciesTests.swift */; }; - 9AF0C766280DECEB00E39A12 /* DeviceStatusNotifierTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9AA23D0324A99DCE001BE490 /* DeviceStatusNotifierTests.swift */; }; - 9AF0C767280DECEE00E39A12 /* NetworkServiceTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 68E7BD89246034F90072549A /* NetworkServiceTests.swift */; }; - 9AF0C768280DECF000E39A12 /* NetworkBuilderTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 68E7BD8B246184310072549A /* NetworkBuilderTests.swift */; }; - BD5E7BD42A0B94BF000F5678 /* Transport.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD5E7BB92A0B94BF000F5678 /* Transport.swift */; }; - BD5E7BD52A0B94BF000F5678 /* Transport.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD5E7BB92A0B94BF000F5678 /* Transport.swift */; }; - BD5E7BD62A0B94BF000F5678 /* FoundationTransport.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD5E7BBA2A0B94BF000F5678 /* FoundationTransport.swift */; }; - BD5E7BD72A0B94BF000F5678 /* FoundationTransport.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD5E7BBA2A0B94BF000F5678 /* FoundationTransport.swift */; }; - BD5E7BD82A0B94BF000F5678 /* TCPTransport.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD5E7BBB2A0B94BF000F5678 /* TCPTransport.swift */; }; - BD5E7BD92A0B94BF000F5678 /* TCPTransport.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD5E7BBB2A0B94BF000F5678 /* TCPTransport.swift */; }; - BD5E7BDA2A0B94BF000F5678 /* Security.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD5E7BBD2A0B94BF000F5678 /* Security.swift */; }; - BD5E7BDB2A0B94BF000F5678 /* Security.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD5E7BBD2A0B94BF000F5678 /* Security.swift */; }; - BD5E7BDC2A0B94BF000F5678 /* FoundationSecurity.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD5E7BBE2A0B94BF000F5678 /* FoundationSecurity.swift */; }; - BD5E7BDD2A0B94BF000F5678 /* FoundationSecurity.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD5E7BBE2A0B94BF000F5678 /* FoundationSecurity.swift */; }; - BD5E7BDE2A0B94BF000F5678 /* Data+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD5E7BC02A0B94BF000F5678 /* Data+Extensions.swift */; }; - BD5E7BDF2A0B94BF000F5678 /* Data+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD5E7BC02A0B94BF000F5678 /* Data+Extensions.swift */; }; - BD5E7BE02A0B94BF000F5678 /* Server.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD5E7BC22A0B94BF000F5678 /* Server.swift */; }; - BD5E7BE12A0B94BF000F5678 /* Server.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD5E7BC22A0B94BF000F5678 /* Server.swift */; }; - BD5E7BE22A0B94BF000F5678 /* WebSocketServer.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD5E7BC32A0B94BF000F5678 /* WebSocketServer.swift */; }; - BD5E7BE32A0B94BF000F5678 /* WebSocketServer.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD5E7BC32A0B94BF000F5678 /* WebSocketServer.swift */; }; - BD5E7BE42A0B94BF000F5678 /* FoundationHTTPHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD5E7BC52A0B94BF000F5678 /* FoundationHTTPHandler.swift */; }; - BD5E7BE52A0B94BF000F5678 /* FoundationHTTPHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD5E7BC52A0B94BF000F5678 /* FoundationHTTPHandler.swift */; }; - BD5E7BE62A0B94BF000F5678 /* HTTPHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD5E7BC62A0B94BF000F5678 /* HTTPHandler.swift */; }; - BD5E7BE72A0B94BF000F5678 /* HTTPHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD5E7BC62A0B94BF000F5678 /* HTTPHandler.swift */; }; - BD5E7BE82A0B94BF000F5678 /* FrameCollector.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD5E7BC72A0B94BF000F5678 /* FrameCollector.swift */; }; - BD5E7BE92A0B94BF000F5678 /* FrameCollector.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD5E7BC72A0B94BF000F5678 /* FrameCollector.swift */; }; - BD5E7BEA2A0B94BF000F5678 /* StringHTTPHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD5E7BC82A0B94BF000F5678 /* StringHTTPHandler.swift */; }; - BD5E7BEB2A0B94BF000F5678 /* StringHTTPHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD5E7BC82A0B94BF000F5678 /* StringHTTPHandler.swift */; }; - BD5E7BEC2A0B94BF000F5678 /* FoundationHTTPServerHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD5E7BC92A0B94BF000F5678 /* FoundationHTTPServerHandler.swift */; }; - BD5E7BED2A0B94BF000F5678 /* FoundationHTTPServerHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD5E7BC92A0B94BF000F5678 /* FoundationHTTPServerHandler.swift */; }; - BD5E7BEE2A0B94BF000F5678 /* Framer.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD5E7BCA2A0B94BF000F5678 /* Framer.swift */; }; - BD5E7BEF2A0B94BF000F5678 /* Framer.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD5E7BCA2A0B94BF000F5678 /* Framer.swift */; }; - BD5E7BF02A0B94BF000F5678 /* Compression.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD5E7BCC2A0B94BF000F5678 /* Compression.swift */; }; - BD5E7BF12A0B94BF000F5678 /* Compression.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD5E7BCC2A0B94BF000F5678 /* Compression.swift */; }; - BD5E7BF22A0B94BF000F5678 /* WSCompression.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD5E7BCD2A0B94BF000F5678 /* WSCompression.swift */; }; - BD5E7BF32A0B94BF000F5678 /* WSCompression.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD5E7BCD2A0B94BF000F5678 /* WSCompression.swift */; }; - BD5E7BF42A0B94BF000F5678 /* WebSocket.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD5E7BCF2A0B94BF000F5678 /* WebSocket.swift */; }; - BD5E7BF52A0B94BF000F5678 /* WebSocket.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD5E7BCF2A0B94BF000F5678 /* WebSocket.swift */; }; - BD5E7BF62A0B94BF000F5678 /* Engine.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD5E7BD12A0B94BF000F5678 /* Engine.swift */; }; - BD5E7BF72A0B94BF000F5678 /* Engine.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD5E7BD12A0B94BF000F5678 /* Engine.swift */; }; - BD5E7BF82A0B94BF000F5678 /* NativeEngine.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD5E7BD22A0B94BF000F5678 /* NativeEngine.swift */; }; - BD5E7BF92A0B94BF000F5678 /* NativeEngine.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD5E7BD22A0B94BF000F5678 /* NativeEngine.swift */; }; - BD5E7BFA2A0B94BF000F5678 /* WSEngine.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD5E7BD32A0B94BF000F5678 /* WSEngine.swift */; }; - BD5E7BFB2A0B94BF000F5678 /* WSEngine.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD5E7BD32A0B94BF000F5678 /* WSEngine.swift */; }; + 68E7BD202456E6F10072549A /* libClickstreamLib.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 68E7BADF244F08C00072549A /* libClickstreamLib.a */; }; BD6BDB6829FBC1360006B04A /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = BD6BDB3E29FBC1360006B04A /* Assets.xcassets */; }; BD6BDB6929FBC1360006B04A /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = BD6BDB3E29FBC1360006B04A /* Assets.xcassets */; }; BD6BDB6A29FBC1360006B04A /* RadioLabelTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD6BDB4129FBC1360006B04A /* RadioLabelTableViewCell.swift */; }; @@ -129,100 +64,168 @@ BD6BDB9D29FBC1360006B04A /* HealthTrackerDTO.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD6BDB6429FBC1360006B04A /* HealthTrackerDTO.swift */; }; BD6BDB9E29FBC1360006B04A /* CSCommonPropertiesDTO.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD6BDB6529FBC1360006B04A /* CSCommonPropertiesDTO.swift */; }; BD6BDB9F29FBC1360006B04A /* CSCommonPropertiesDTO.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD6BDB6529FBC1360006B04A /* CSCommonPropertiesDTO.swift */; }; - BD8AF61A287ED1CC002DD402 /* NetworkBuilder.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF59B287ED1CB002DD402 /* NetworkBuilder.swift */; }; - BD8AF61B287ED1CC002DD402 /* NetworkBuilder.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF59B287ED1CB002DD402 /* NetworkBuilder.swift */; }; - BD8AF61C287ED1CC002DD402 /* RetryMechanism.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF59C287ED1CB002DD402 /* RetryMechanism.swift */; }; - BD8AF61D287ED1CC002DD402 /* RetryMechanism.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF59C287ED1CB002DD402 /* RetryMechanism.swift */; }; - BD8AF61E287ED1CC002DD402 /* NetworkManagerDependencies.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF59E287ED1CB002DD402 /* NetworkManagerDependencies.swift */; }; - BD8AF61F287ED1CC002DD402 /* NetworkManagerDependencies.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF59E287ED1CB002DD402 /* NetworkManagerDependencies.swift */; }; - BD8AF620287ED1CC002DD402 /* Heartbeat.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF5A1287ED1CB002DD402 /* Heartbeat.swift */; }; - BD8AF621287ED1CC002DD402 /* Heartbeat.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF5A1287ED1CB002DD402 /* Heartbeat.swift */; }; - BD8AF622287ED1CC002DD402 /* SocketHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF5A2287ED1CB002DD402 /* SocketHandler.swift */; }; - BD8AF623287ED1CC002DD402 /* SocketHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF5A2287ED1CB002DD402 /* SocketHandler.swift */; }; - BD8AF626287ED1CC002DD402 /* NetworkService.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF5A5287ED1CB002DD402 /* NetworkService.swift */; }; - BD8AF627287ED1CC002DD402 /* NetworkService.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF5A5287ED1CB002DD402 /* NetworkService.swift */; }; - BD8AF628287ED1CC002DD402 /* Connectable.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF5A6287ED1CB002DD402 /* Connectable.swift */; }; - BD8AF629287ED1CC002DD402 /* Connectable.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF5A6287ED1CB002DD402 /* Connectable.swift */; }; - BD8AF62A287ED1CC002DD402 /* NetworkConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF5A7287ED1CB002DD402 /* NetworkConfiguration.swift */; }; - BD8AF62B287ED1CC002DD402 /* NetworkConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF5A7287ED1CB002DD402 /* NetworkConfiguration.swift */; }; - BD8AF62C287ED1CC002DD402 /* Atomic.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF5A9287ED1CB002DD402 /* Atomic.swift */; }; - BD8AF62D287ED1CC002DD402 /* Atomic.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF5A9287ED1CB002DD402 /* Atomic.swift */; }; - BD8AF62E287ED1CC002DD402 /* DeviceStatusNotifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF5AA287ED1CB002DD402 /* DeviceStatusNotifier.swift */; }; - BD8AF62F287ED1CC002DD402 /* DeviceStatusNotifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF5AA287ED1CB002DD402 /* DeviceStatusNotifier.swift */; }; - BD8AF630287ED1CC002DD402 /* NetworkReachability.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF5AB287ED1CB002DD402 /* NetworkReachability.swift */; }; - BD8AF631287ED1CC002DD402 /* NetworkReachability.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF5AB287ED1CB002DD402 /* NetworkReachability.swift */; }; - BD8AF632287ED1CC002DD402 /* DispatchSourceTimer+RepeatingTimer.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF5AC287ED1CB002DD402 /* DispatchSourceTimer+RepeatingTimer.swift */; }; - BD8AF633287ED1CC002DD402 /* DispatchSourceTimer+RepeatingTimer.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF5AC287ED1CB002DD402 /* DispatchSourceTimer+RepeatingTimer.swift */; }; - BD8AF634287ED1CC002DD402 /* KeepAliveService.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF5AD287ED1CB002DD402 /* KeepAliveService.swift */; }; - BD8AF635287ED1CC002DD402 /* KeepAliveService.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF5AD287ED1CB002DD402 /* KeepAliveService.swift */; }; - BD8AF636287ED1CC002DD402 /* ProtoConvertible.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF5B0287ED1CB002DD402 /* ProtoConvertible.swift */; }; - BD8AF637287ED1CC002DD402 /* ProtoConvertible.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF5B0287ED1CB002DD402 /* ProtoConvertible.swift */; }; - BD8AF638287ED1CC002DD402 /* EventRequest.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF5B3287ED1CB002DD402 /* EventRequest.swift */; }; - BD8AF639287ED1CC002DD402 /* EventRequest.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF5B3287ED1CB002DD402 /* EventRequest.swift */; }; - BD8AF63A287ED1CC002DD402 /* ClickStream.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF5B6287ED1CB002DD402 /* ClickStream.swift */; }; - BD8AF63B287ED1CC002DD402 /* ClickStream.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF5B6287ED1CB002DD402 /* ClickStream.swift */; }; - BD8AF63C287ED1CC002DD402 /* ClickstreamDependencies.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF5B8287ED1CB002DD402 /* ClickstreamDependencies.swift */; }; - BD8AF63D287ED1CC002DD402 /* ClickstreamDependencies.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF5B8287ED1CB002DD402 /* ClickstreamDependencies.swift */; }; - BD8AF63E287ED1CC002DD402 /* ClickStreamConstraints.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF5BB287ED1CB002DD402 /* ClickStreamConstraints.swift */; }; - BD8AF63F287ED1CC002DD402 /* ClickStreamConstraints.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF5BB287ED1CB002DD402 /* ClickStreamConstraints.swift */; }; - BD8AF640287ED1CC002DD402 /* ClickStreamEventClassification.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF5BC287ED1CB002DD402 /* ClickStreamEventClassification.swift */; }; - BD8AF641287ED1CC002DD402 /* ClickStreamEventClassification.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF5BC287ED1CB002DD402 /* ClickStreamEventClassification.swift */; }; - BD8AF642287ED1CC002DD402 /* Constants.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF5BE287ED1CB002DD402 /* Constants.swift */; }; - BD8AF643287ED1CC002DD402 /* Constants.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF5BE287ED1CB002DD402 /* Constants.swift */; }; - BD8AF644287ED1CC002DD402 /* Reachability+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF5C0287ED1CB002DD402 /* Reachability+Extension.swift */; }; - BD8AF645287ED1CC002DD402 /* Reachability+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF5C0287ED1CB002DD402 /* Reachability+Extension.swift */; }; - BD8AF646287ED1CC002DD402 /* JSONStringDecoder.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF5C1287ED1CB002DD402 /* JSONStringDecoder.swift */; }; - BD8AF647287ED1CC002DD402 /* JSONStringDecoder.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF5C1287ED1CB002DD402 /* JSONStringDecoder.swift */; }; - BD8AF648287ED1CC002DD402 /* Logger.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF5C2287ED1CB002DD402 /* Logger.swift */; }; - BD8AF649287ED1CC002DD402 /* Logger.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF5C2287ED1CB002DD402 /* Logger.swift */; }; - BD8AF64A287ED1CC002DD402 /* DeviceInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF5C3287ED1CB002DD402 /* DeviceInfo.swift */; }; - BD8AF64B287ED1CC002DD402 /* DeviceInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF5C3287ED1CB002DD402 /* DeviceInfo.swift */; }; - BD8AF64C287ED1CC002DD402 /* Event.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF5C6287ED1CB002DD402 /* Event.swift */; }; - BD8AF64D287ED1CC002DD402 /* Event.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF5C6287ED1CB002DD402 /* Event.swift */; }; - BD8AF64E287ED1CC002DD402 /* ClickstreamEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF5C7287ED1CB002DD402 /* ClickstreamEvent.swift */; }; - BD8AF64F287ED1CC002DD402 /* ClickstreamEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF5C7287ED1CB002DD402 /* ClickstreamEvent.swift */; }; - BD8AF650287ED1CC002DD402 /* EventBatch.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF5C8287ED1CB002DD402 /* EventBatch.swift */; }; - BD8AF651287ED1CC002DD402 /* EventBatch.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF5C8287ED1CB002DD402 /* EventBatch.swift */; }; - BD8AF652287ED1CC002DD402 /* EventRequest.pb.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF5CA287ED1CB002DD402 /* EventRequest.pb.swift */; }; - BD8AF653287ED1CC002DD402 /* EventRequest.pb.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF5CA287ED1CB002DD402 /* EventRequest.pb.swift */; }; - BD8AF654287ED1CC002DD402 /* EventResponse.pb.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF5CB287ED1CB002DD402 /* EventResponse.pb.swift */; }; - BD8AF655287ED1CC002DD402 /* EventResponse.pb.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF5CB287ED1CB002DD402 /* EventResponse.pb.swift */; }; - BD8AF656287ED1CC002DD402 /* Event.pb.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF5CC287ED1CB002DD402 /* Event.pb.swift */; }; - BD8AF657287ED1CC002DD402 /* Event.pb.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF5CC287ED1CB002DD402 /* Event.pb.swift */; }; - BD8AF658287ED1CC002DD402 /* EventBatchCreator.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF5CF287ED1CB002DD402 /* EventBatchCreator.swift */; }; - BD8AF659287ED1CC002DD402 /* EventBatchCreator.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF5CF287ED1CB002DD402 /* EventBatchCreator.swift */; }; - BD8AF65A287ED1CC002DD402 /* EventSchedulerDependencies.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF5D0287ED1CB002DD402 /* EventSchedulerDependencies.swift */; }; - BD8AF65B287ED1CC002DD402 /* EventSchedulerDependencies.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF5D0287ED1CB002DD402 /* EventSchedulerDependencies.swift */; }; - BD8AF65C287ED1CC002DD402 /* EventWarehouser.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF5D1287ED1CB002DD402 /* EventWarehouser.swift */; }; - BD8AF65D287ED1CC002DD402 /* EventWarehouser.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF5D1287ED1CB002DD402 /* EventWarehouser.swift */; }; - BD8AF65E287ED1CC002DD402 /* EventBatchProcessor.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF5D2287ED1CB002DD402 /* EventBatchProcessor.swift */; }; - BD8AF65F287ED1CC002DD402 /* EventBatchProcessor.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF5D2287ED1CB002DD402 /* EventBatchProcessor.swift */; }; - BD8AF660287ED1CC002DD402 /* AppStateNotifierService.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF5D5287ED1CB002DD402 /* AppStateNotifierService.swift */; }; - BD8AF661287ED1CC002DD402 /* AppStateNotifierService.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF5D5287ED1CB002DD402 /* AppStateNotifierService.swift */; }; - BD8AF662287ED1CC002DD402 /* EventBatchSizeRegulator.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF5D6287ED1CB002DD402 /* EventBatchSizeRegulator.swift */; }; - BD8AF663287ED1CC002DD402 /* EventBatchSizeRegulator.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF5D6287ED1CB002DD402 /* EventBatchSizeRegulator.swift */; }; - BD8AF664287ED1CC002DD402 /* SchedulerService.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF5D7287ED1CB002DD402 /* SchedulerService.swift */; }; - BD8AF665287ED1CC002DD402 /* SchedulerService.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF5D7287ED1CB002DD402 /* SchedulerService.swift */; }; - BD8AF666287ED1CC002DD402 /* SortedArray.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF5D8287ED1CB002DD402 /* SortedArray.swift */; }; - BD8AF667287ED1CC002DD402 /* SortedArray.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF5D8287ED1CB002DD402 /* SortedArray.swift */; }; - BD8AF668287ED1CC002DD402 /* DatabaseHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF5DC287ED1CB002DD402 /* DatabaseHandler.swift */; }; - BD8AF669287ED1CC002DD402 /* DatabaseHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF5DC287ED1CB002DD402 /* DatabaseHandler.swift */; }; - BD8AF66A287ED1CC002DD402 /* DatabaseDAO.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF5DD287ED1CB002DD402 /* DatabaseDAO.swift */; }; - BD8AF66B287ED1CC002DD402 /* DatabaseDAO.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF5DD287ED1CB002DD402 /* DatabaseDAO.swift */; }; - BD8AF66C287ED1CC002DD402 /* TableDefinable.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF5E0287ED1CB002DD402 /* TableDefinable.swift */; }; - BD8AF66D287ED1CC002DD402 /* TableDefinable.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF5E0287ED1CB002DD402 /* TableDefinable.swift */; }; - BD8AF66E287ED1CC002DD402 /* DatabasePersistable.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF5E1287ED1CB002DD402 /* DatabasePersistable.swift */; }; - BD8AF66F287ED1CC002DD402 /* DatabasePersistable.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF5E1287ED1CB002DD402 /* DatabasePersistable.swift */; }; - BD8AF672287ED1CC002DD402 /* EventClassifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF5E5287ED1CB002DD402 /* EventClassifier.swift */; }; - BD8AF673287ED1CC002DD402 /* EventClassifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF5E5287ED1CB002DD402 /* EventClassifier.swift */; }; - BD8AF674287ED1CC002DD402 /* EventProcessor.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF5E6287ED1CB002DD402 /* EventProcessor.swift */; }; - BD8AF675287ED1CC002DD402 /* EventProcessor.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF5E6287ED1CB002DD402 /* EventProcessor.swift */; }; - BD8AF676287ED1CC002DD402 /* EventProcessorDependencies.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF5E7287ED1CB002DD402 /* EventProcessorDependencies.swift */; }; - BD8AF677287ED1CC002DD402 /* EventProcessorDependencies.swift in Sources */ = {isa = PBXBuildFile; fileRef = BD8AF5E7287ED1CB002DD402 /* EventProcessorDependencies.swift */; }; BDDC872229E6AF580024ED8C /* FileManagerOverride.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDDC872129E6AF580024ED8C /* FileManagerOverride.swift */; }; BDDC872329E6AF580024ED8C /* FileManagerOverride.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDDC872129E6AF580024ED8C /* FileManagerOverride.swift */; }; - BDDC873629E7D6AC0024ED8C /* EteExperiment.pb.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDDC873529E7D6AC0024ED8C /* EteExperiment.pb.swift */; }; - BDDC873729E7D6AC0024ED8C /* EteExperiment.pb.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDDC873529E7D6AC0024ED8C /* EteExperiment.pb.swift */; }; + BDE4676F2A5BD24500BFA976 /* MockConstants.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467452A5BD24400BFA976 /* MockConstants.swift */; }; + BDE467702A5BD24500BFA976 /* ClickStreamTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467462A5BD24400BFA976 /* ClickStreamTests.swift */; }; + BDE467712A5BD24500BFA976 /* ClickStreamDependenciesTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467472A5BD24400BFA976 /* ClickStreamDependenciesTests.swift */; }; + BDE467722A5BD24500BFA976 /* EventBatchTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467492A5BD24500BFA976 /* EventBatchTests.swift */; }; + BDE467732A5BD24500BFA976 /* EventTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE4674A2A5BD24500BFA976 /* EventTests.swift */; }; + BDE467742A5BD24500BFA976 /* AppStateNotifierMock.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE4674D2A5BD24500BFA976 /* AppStateNotifierMock.swift */; }; + BDE467752A5BD24500BFA976 /* BatchSizeRegulatorMock.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE4674E2A5BD24500BFA976 /* BatchSizeRegulatorMock.swift */; }; + BDE467762A5BD24500BFA976 /* DatabaseMock.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE4674F2A5BD24500BFA976 /* DatabaseMock.swift */; }; + BDE467772A5BD24500BFA976 /* EventBatchProcessorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467502A5BD24500BFA976 /* EventBatchProcessorTests.swift */; }; + BDE467782A5BD24500BFA976 /* EventSchedulerDependenciesTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467512A5BD24500BFA976 /* EventSchedulerDependenciesTests.swift */; }; + BDE467792A5BD24500BFA976 /* AppStateNotifierServiceTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467522A5BD24500BFA976 /* AppStateNotifierServiceTests.swift */; }; + BDE4677A2A5BD24500BFA976 /* DispatchQueue+Detection.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467542A5BD24500BFA976 /* DispatchQueue+Detection.swift */; }; + BDE4677B2A5BD24500BFA976 /* SchedulerServiceTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467552A5BD24500BFA976 /* SchedulerServiceTests.swift */; }; + BDE4677C2A5BD24500BFA976 /* SortedArrayTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467562A5BD24500BFA976 /* SortedArrayTests.swift */; }; + BDE4677D2A5BD24500BFA976 /* EventWarehouserTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467572A5BD24500BFA976 /* EventWarehouserTests.swift */; }; + BDE4677E2A5BD24500BFA976 /* DatabaseDAOTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE4675A2A5BD24500BFA976 /* DatabaseDAOTests.swift */; }; + BDE4677F2A5BD24500BFA976 /* EventCreatorTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE4675B2A5BD24500BFA976 /* EventCreatorTests.swift */; }; + BDE467812A5BD24500BFA976 /* EventProcessorTest.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE4675E2A5BD24500BFA976 /* EventProcessorTest.swift */; }; + BDE467822A5BD24500BFA976 /* EventProcessorDependenciesTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE4675F2A5BD24500BFA976 /* EventProcessorDependenciesTests.swift */; }; + BDE467832A5BD24500BFA976 /* NetworkReachabilityMock.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467622A5BD24500BFA976 /* NetworkReachabilityMock.swift */; }; + BDE467842A5BD24500BFA976 /* SocketHandlerMock.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467632A5BD24500BFA976 /* SocketHandlerMock.swift */; }; + BDE467852A5BD24500BFA976 /* NetworkManagerDependenciesTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467652A5BD24500BFA976 /* NetworkManagerDependenciesTests.swift */; }; + BDE467862A5BD24500BFA976 /* EventRequestTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467672A5BD24500BFA976 /* EventRequestTests.swift */; }; + BDE467872A5BD24500BFA976 /* KeepAliveServiceTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467692A5BD24500BFA976 /* KeepAliveServiceTests.swift */; }; + BDE467882A5BD24500BFA976 /* DeviceStatusNotifierTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE4676A2A5BD24500BFA976 /* DeviceStatusNotifierTests.swift */; }; + BDE467892A5BD24500BFA976 /* NetworkBuilderTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE4676C2A5BD24500BFA976 /* NetworkBuilderTests.swift */; }; + BDE4678A2A5BD24500BFA976 /* NetworkServiceTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE4676D2A5BD24500BFA976 /* NetworkServiceTests.swift */; }; + BDE4678B2A5BD24500BFA976 /* RetryMechanismTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE4676E2A5BD24500BFA976 /* RetryMechanismTests.swift */; }; + BDE467F92A5BD72000BFA976 /* NetworkBuilder.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE4678F2A5BD72000BFA976 /* NetworkBuilder.swift */; }; + BDE467FA2A5BD72000BFA976 /* NetworkBuilder.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE4678F2A5BD72000BFA976 /* NetworkBuilder.swift */; }; + BDE467FB2A5BD72000BFA976 /* RetryMechanism.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467902A5BD72000BFA976 /* RetryMechanism.swift */; }; + BDE467FC2A5BD72000BFA976 /* RetryMechanism.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467902A5BD72000BFA976 /* RetryMechanism.swift */; }; + BDE467FD2A5BD72000BFA976 /* NetworkManagerDependencies.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467922A5BD72000BFA976 /* NetworkManagerDependencies.swift */; }; + BDE467FE2A5BD72000BFA976 /* NetworkManagerDependencies.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467922A5BD72000BFA976 /* NetworkManagerDependencies.swift */; }; + BDE467FF2A5BD72000BFA976 /* Heartbeat.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467952A5BD72000BFA976 /* Heartbeat.swift */; }; + BDE468002A5BD72000BFA976 /* Heartbeat.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467952A5BD72000BFA976 /* Heartbeat.swift */; }; + BDE468012A5BD72000BFA976 /* SocketHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467962A5BD72000BFA976 /* SocketHandler.swift */; }; + BDE468022A5BD72000BFA976 /* SocketHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467962A5BD72000BFA976 /* SocketHandler.swift */; }; + BDE468032A5BD72000BFA976 /* NetworkService.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467982A5BD72000BFA976 /* NetworkService.swift */; }; + BDE468042A5BD72000BFA976 /* NetworkService.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467982A5BD72000BFA976 /* NetworkService.swift */; }; + BDE468052A5BD72000BFA976 /* Connectable.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467992A5BD72000BFA976 /* Connectable.swift */; }; + BDE468062A5BD72000BFA976 /* Connectable.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467992A5BD72000BFA976 /* Connectable.swift */; }; + BDE468072A5BD72000BFA976 /* NetworkConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE4679A2A5BD72000BFA976 /* NetworkConfiguration.swift */; }; + BDE468082A5BD72000BFA976 /* NetworkConfiguration.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE4679A2A5BD72000BFA976 /* NetworkConfiguration.swift */; }; + BDE468092A5BD72000BFA976 /* Atomic.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE4679C2A5BD72000BFA976 /* Atomic.swift */; }; + BDE4680A2A5BD72000BFA976 /* Atomic.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE4679C2A5BD72000BFA976 /* Atomic.swift */; }; + BDE4680B2A5BD72000BFA976 /* DeviceStatusNotifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE4679D2A5BD72000BFA976 /* DeviceStatusNotifier.swift */; }; + BDE4680C2A5BD72000BFA976 /* DeviceStatusNotifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE4679D2A5BD72000BFA976 /* DeviceStatusNotifier.swift */; }; + BDE4680D2A5BD72000BFA976 /* NetworkReachability.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE4679E2A5BD72000BFA976 /* NetworkReachability.swift */; }; + BDE4680E2A5BD72000BFA976 /* NetworkReachability.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE4679E2A5BD72000BFA976 /* NetworkReachability.swift */; }; + BDE4680F2A5BD72000BFA976 /* DispatchSourceTimer+RepeatingTimer.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE4679F2A5BD72000BFA976 /* DispatchSourceTimer+RepeatingTimer.swift */; }; + BDE468102A5BD72000BFA976 /* DispatchSourceTimer+RepeatingTimer.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE4679F2A5BD72000BFA976 /* DispatchSourceTimer+RepeatingTimer.swift */; }; + BDE468112A5BD72000BFA976 /* KeepAliveService.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467A02A5BD72000BFA976 /* KeepAliveService.swift */; }; + BDE468122A5BD72000BFA976 /* KeepAliveService.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467A02A5BD72000BFA976 /* KeepAliveService.swift */; }; + BDE468132A5BD72000BFA976 /* ProtoConvertible.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467A32A5BD72000BFA976 /* ProtoConvertible.swift */; }; + BDE468142A5BD72000BFA976 /* ProtoConvertible.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467A32A5BD72000BFA976 /* ProtoConvertible.swift */; }; + BDE468152A5BD72000BFA976 /* EventRequest.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467A62A5BD72000BFA976 /* EventRequest.swift */; }; + BDE468162A5BD72000BFA976 /* EventRequest.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467A62A5BD72000BFA976 /* EventRequest.swift */; }; + BDE468172A5BD72000BFA976 /* ClickStream.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467A92A5BD72000BFA976 /* ClickStream.swift */; }; + BDE468182A5BD72000BFA976 /* ClickStream.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467A92A5BD72000BFA976 /* ClickStream.swift */; }; + BDE468192A5BD72000BFA976 /* ClickstreamDependencies.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467AB2A5BD72000BFA976 /* ClickstreamDependencies.swift */; }; + BDE4681A2A5BD72000BFA976 /* ClickstreamDependencies.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467AB2A5BD72000BFA976 /* ClickstreamDependencies.swift */; }; + BDE4681B2A5BD72000BFA976 /* ClickStreamConstraints.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467AE2A5BD72000BFA976 /* ClickStreamConstraints.swift */; }; + BDE4681C2A5BD72000BFA976 /* ClickStreamConstraints.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467AE2A5BD72000BFA976 /* ClickStreamConstraints.swift */; }; + BDE4681D2A5BD72000BFA976 /* ClickStreamEventClassification.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467AF2A5BD72000BFA976 /* ClickStreamEventClassification.swift */; }; + BDE4681E2A5BD72000BFA976 /* ClickStreamEventClassification.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467AF2A5BD72000BFA976 /* ClickStreamEventClassification.swift */; }; + BDE4681F2A5BD72000BFA976 /* Constants.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467B12A5BD72000BFA976 /* Constants.swift */; }; + BDE468202A5BD72000BFA976 /* Constants.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467B12A5BD72000BFA976 /* Constants.swift */; }; + BDE468212A5BD72000BFA976 /* Reachability+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467B32A5BD72000BFA976 /* Reachability+Extension.swift */; }; + BDE468222A5BD72000BFA976 /* Reachability+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467B32A5BD72000BFA976 /* Reachability+Extension.swift */; }; + BDE468232A5BD72000BFA976 /* JSONStringDecoder.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467B42A5BD72000BFA976 /* JSONStringDecoder.swift */; }; + BDE468242A5BD72000BFA976 /* JSONStringDecoder.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467B42A5BD72000BFA976 /* JSONStringDecoder.swift */; }; + BDE468252A5BD72000BFA976 /* Logger.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467B52A5BD72000BFA976 /* Logger.swift */; }; + BDE468262A5BD72000BFA976 /* Logger.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467B52A5BD72000BFA976 /* Logger.swift */; }; + BDE468272A5BD72000BFA976 /* DeviceInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467B62A5BD72000BFA976 /* DeviceInfo.swift */; }; + BDE468282A5BD72000BFA976 /* DeviceInfo.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467B62A5BD72000BFA976 /* DeviceInfo.swift */; }; + BDE468292A5BD72000BFA976 /* Event.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467B92A5BD72000BFA976 /* Event.swift */; }; + BDE4682A2A5BD72000BFA976 /* Event.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467B92A5BD72000BFA976 /* Event.swift */; }; + BDE4682B2A5BD72000BFA976 /* ClickstreamEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467BA2A5BD72000BFA976 /* ClickstreamEvent.swift */; }; + BDE4682C2A5BD72000BFA976 /* ClickstreamEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467BA2A5BD72000BFA976 /* ClickstreamEvent.swift */; }; + BDE4682D2A5BD72000BFA976 /* EventBatch.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467BB2A5BD72000BFA976 /* EventBatch.swift */; }; + BDE4682E2A5BD72000BFA976 /* EventBatch.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467BB2A5BD72000BFA976 /* EventBatch.swift */; }; + BDE4682F2A5BD72000BFA976 /* EventRequest.pb.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467BD2A5BD72000BFA976 /* EventRequest.pb.swift */; }; + BDE468302A5BD72000BFA976 /* EventRequest.pb.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467BD2A5BD72000BFA976 /* EventRequest.pb.swift */; }; + BDE468312A5BD72000BFA976 /* EteExperiment.pb.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467BE2A5BD72000BFA976 /* EteExperiment.pb.swift */; }; + BDE468322A5BD72000BFA976 /* EteExperiment.pb.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467BE2A5BD72000BFA976 /* EteExperiment.pb.swift */; }; + BDE468332A5BD72000BFA976 /* EventResponse.pb.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467BF2A5BD72000BFA976 /* EventResponse.pb.swift */; }; + BDE468342A5BD72000BFA976 /* EventResponse.pb.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467BF2A5BD72000BFA976 /* EventResponse.pb.swift */; }; + BDE468352A5BD72000BFA976 /* Event.pb.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467C02A5BD72000BFA976 /* Event.pb.swift */; }; + BDE468362A5BD72000BFA976 /* Event.pb.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467C02A5BD72000BFA976 /* Event.pb.swift */; }; + BDE468372A5BD72000BFA976 /* Transport.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467C42A5BD72000BFA976 /* Transport.swift */; }; + BDE468382A5BD72000BFA976 /* Transport.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467C42A5BD72000BFA976 /* Transport.swift */; }; + BDE468392A5BD72000BFA976 /* FoundationTransport.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467C52A5BD72000BFA976 /* FoundationTransport.swift */; }; + BDE4683A2A5BD72000BFA976 /* FoundationTransport.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467C52A5BD72000BFA976 /* FoundationTransport.swift */; }; + BDE4683B2A5BD72000BFA976 /* TCPTransport.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467C62A5BD72000BFA976 /* TCPTransport.swift */; }; + BDE4683C2A5BD72000BFA976 /* TCPTransport.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467C62A5BD72000BFA976 /* TCPTransport.swift */; }; + BDE4683D2A5BD72000BFA976 /* Security.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467C82A5BD72000BFA976 /* Security.swift */; }; + BDE4683E2A5BD72000BFA976 /* Security.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467C82A5BD72000BFA976 /* Security.swift */; }; + BDE4683F2A5BD72000BFA976 /* FoundationSecurity.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467C92A5BD72000BFA976 /* FoundationSecurity.swift */; }; + BDE468402A5BD72000BFA976 /* FoundationSecurity.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467C92A5BD72000BFA976 /* FoundationSecurity.swift */; }; + BDE468412A5BD72000BFA976 /* Data+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467CB2A5BD72000BFA976 /* Data+Extensions.swift */; }; + BDE468422A5BD72000BFA976 /* Data+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467CB2A5BD72000BFA976 /* Data+Extensions.swift */; }; + BDE468432A5BD72000BFA976 /* Server.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467CD2A5BD72000BFA976 /* Server.swift */; }; + BDE468442A5BD72000BFA976 /* Server.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467CD2A5BD72000BFA976 /* Server.swift */; }; + BDE468452A5BD72000BFA976 /* WebSocketServer.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467CE2A5BD72000BFA976 /* WebSocketServer.swift */; }; + BDE468462A5BD72000BFA976 /* WebSocketServer.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467CE2A5BD72000BFA976 /* WebSocketServer.swift */; }; + BDE468472A5BD72000BFA976 /* FoundationHTTPHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467D02A5BD72000BFA976 /* FoundationHTTPHandler.swift */; }; + BDE468482A5BD72000BFA976 /* FoundationHTTPHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467D02A5BD72000BFA976 /* FoundationHTTPHandler.swift */; }; + BDE468492A5BD72000BFA976 /* HTTPHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467D12A5BD72000BFA976 /* HTTPHandler.swift */; }; + BDE4684A2A5BD72000BFA976 /* HTTPHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467D12A5BD72000BFA976 /* HTTPHandler.swift */; }; + BDE4684B2A5BD72000BFA976 /* FrameCollector.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467D22A5BD72000BFA976 /* FrameCollector.swift */; }; + BDE4684C2A5BD72000BFA976 /* FrameCollector.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467D22A5BD72000BFA976 /* FrameCollector.swift */; }; + BDE4684D2A5BD72000BFA976 /* StringHTTPHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467D32A5BD72000BFA976 /* StringHTTPHandler.swift */; }; + BDE4684E2A5BD72000BFA976 /* StringHTTPHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467D32A5BD72000BFA976 /* StringHTTPHandler.swift */; }; + BDE4684F2A5BD72000BFA976 /* FoundationHTTPServerHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467D42A5BD72000BFA976 /* FoundationHTTPServerHandler.swift */; }; + BDE468502A5BD72000BFA976 /* FoundationHTTPServerHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467D42A5BD72000BFA976 /* FoundationHTTPServerHandler.swift */; }; + BDE468512A5BD72000BFA976 /* Framer.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467D52A5BD72000BFA976 /* Framer.swift */; }; + BDE468522A5BD72000BFA976 /* Framer.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467D52A5BD72000BFA976 /* Framer.swift */; }; + BDE468532A5BD72000BFA976 /* Compression.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467D72A5BD72000BFA976 /* Compression.swift */; }; + BDE468542A5BD72000BFA976 /* Compression.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467D72A5BD72000BFA976 /* Compression.swift */; }; + BDE468552A5BD72000BFA976 /* WSCompression.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467D82A5BD72000BFA976 /* WSCompression.swift */; }; + BDE468562A5BD72000BFA976 /* WSCompression.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467D82A5BD72000BFA976 /* WSCompression.swift */; }; + BDE468572A5BD72000BFA976 /* WebSocket.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467DA2A5BD72000BFA976 /* WebSocket.swift */; }; + BDE468582A5BD72000BFA976 /* WebSocket.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467DA2A5BD72000BFA976 /* WebSocket.swift */; }; + BDE468592A5BD72000BFA976 /* Engine.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467DC2A5BD72000BFA976 /* Engine.swift */; }; + BDE4685A2A5BD72000BFA976 /* Engine.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467DC2A5BD72000BFA976 /* Engine.swift */; }; + BDE4685B2A5BD72000BFA976 /* NativeEngine.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467DD2A5BD72000BFA976 /* NativeEngine.swift */; }; + BDE4685C2A5BD72000BFA976 /* NativeEngine.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467DD2A5BD72000BFA976 /* NativeEngine.swift */; }; + BDE4685D2A5BD72000BFA976 /* WSEngine.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467DE2A5BD72000BFA976 /* WSEngine.swift */; }; + BDE4685E2A5BD72000BFA976 /* WSEngine.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467DE2A5BD72000BFA976 /* WSEngine.swift */; }; + BDE4685F2A5BD72000BFA976 /* EventBatchCreator.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467E12A5BD72000BFA976 /* EventBatchCreator.swift */; }; + BDE468602A5BD72000BFA976 /* EventBatchCreator.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467E12A5BD72000BFA976 /* EventBatchCreator.swift */; }; + BDE468612A5BD72000BFA976 /* EventSchedulerDependencies.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467E22A5BD72000BFA976 /* EventSchedulerDependencies.swift */; }; + BDE468622A5BD72000BFA976 /* EventSchedulerDependencies.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467E22A5BD72000BFA976 /* EventSchedulerDependencies.swift */; }; + BDE468632A5BD72000BFA976 /* EventWarehouser.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467E32A5BD72000BFA976 /* EventWarehouser.swift */; }; + BDE468642A5BD72000BFA976 /* EventWarehouser.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467E32A5BD72000BFA976 /* EventWarehouser.swift */; }; + BDE468652A5BD72000BFA976 /* EventBatchProcessor.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467E42A5BD72000BFA976 /* EventBatchProcessor.swift */; }; + BDE468662A5BD72000BFA976 /* EventBatchProcessor.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467E42A5BD72000BFA976 /* EventBatchProcessor.swift */; }; + BDE468672A5BD72000BFA976 /* AppStateNotifierService.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467E72A5BD72000BFA976 /* AppStateNotifierService.swift */; }; + BDE468682A5BD72000BFA976 /* AppStateNotifierService.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467E72A5BD72000BFA976 /* AppStateNotifierService.swift */; }; + BDE468692A5BD72000BFA976 /* EventBatchSizeRegulator.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467E82A5BD72000BFA976 /* EventBatchSizeRegulator.swift */; }; + BDE4686A2A5BD72000BFA976 /* EventBatchSizeRegulator.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467E82A5BD72000BFA976 /* EventBatchSizeRegulator.swift */; }; + BDE4686B2A5BD72000BFA976 /* SchedulerService.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467E92A5BD72000BFA976 /* SchedulerService.swift */; }; + BDE4686C2A5BD72000BFA976 /* SchedulerService.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467E92A5BD72000BFA976 /* SchedulerService.swift */; }; + BDE4686D2A5BD72000BFA976 /* SortedArray.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467EA2A5BD72000BFA976 /* SortedArray.swift */; }; + BDE4686E2A5BD72000BFA976 /* SortedArray.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467EA2A5BD72000BFA976 /* SortedArray.swift */; }; + BDE4686F2A5BD72000BFA976 /* DatabaseHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467EE2A5BD72000BFA976 /* DatabaseHandler.swift */; }; + BDE468702A5BD72000BFA976 /* DatabaseHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467EE2A5BD72000BFA976 /* DatabaseHandler.swift */; }; + BDE468712A5BD72000BFA976 /* DatabaseDAO.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467EF2A5BD72000BFA976 /* DatabaseDAO.swift */; }; + BDE468722A5BD72000BFA976 /* DatabaseDAO.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467EF2A5BD72000BFA976 /* DatabaseDAO.swift */; }; + BDE468732A5BD72000BFA976 /* TableDefinable.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467F22A5BD72000BFA976 /* TableDefinable.swift */; }; + BDE468742A5BD72000BFA976 /* TableDefinable.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467F22A5BD72000BFA976 /* TableDefinable.swift */; }; + BDE468752A5BD72000BFA976 /* DatabasePersistable.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467F32A5BD72000BFA976 /* DatabasePersistable.swift */; }; + BDE468762A5BD72000BFA976 /* DatabasePersistable.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467F32A5BD72000BFA976 /* DatabasePersistable.swift */; }; + BDE468772A5BD72000BFA976 /* EventClassifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467F62A5BD72000BFA976 /* EventClassifier.swift */; }; + BDE468782A5BD72000BFA976 /* EventClassifier.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467F62A5BD72000BFA976 /* EventClassifier.swift */; }; + BDE468792A5BD72000BFA976 /* EventProcessor.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467F72A5BD72000BFA976 /* EventProcessor.swift */; }; + BDE4687A2A5BD72000BFA976 /* EventProcessor.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467F72A5BD72000BFA976 /* EventProcessor.swift */; }; + BDE4687B2A5BD72000BFA976 /* EventProcessorDependencies.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467F82A5BD72000BFA976 /* EventProcessorDependencies.swift */; }; + BDE4687C2A5BD72000BFA976 /* EventProcessorDependencies.swift in Sources */ = {isa = PBXBuildFile; fileRef = BDE467F82A5BD72000BFA976 /* EventProcessorDependencies.swift */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -248,54 +251,8 @@ /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ - 681EAB3E248972E6003AB41A /* EventBatchProcessorTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; name = EventBatchProcessorTests.swift; path = ClickStreamTests/EventSchedulerTests/EventBatchProcessorTests.swift; sourceTree = SOURCE_ROOT; }; - 681EAB4024897822003AB41A /* AppStateNotifierMock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppStateNotifierMock.swift; sourceTree = ""; }; - 68316328260CB2690095DBCA /* BatchSizeRegulatorMock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BatchSizeRegulatorMock.swift; sourceTree = ""; }; - 68316338260DC7D00095DBCA /* DatabaseMock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DatabaseMock.swift; sourceTree = ""; }; - 6831635E261218F90095DBCA /* RetryMechanismTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RetryMechanismTests.swift; sourceTree = ""; }; - 6831AFD8248E5265004596CC /* EventWarehouserTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EventWarehouserTests.swift; sourceTree = ""; }; - 687B2A29246AA756008F2805 /* NetworkReachabilityMock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NetworkReachabilityMock.swift; sourceTree = ""; }; - 68E19FB2247D420F0074A790 /* SchedulerServiceTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SchedulerServiceTests.swift; sourceTree = ""; }; - 68E19FB3247D42100074A790 /* EventCreatorTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EventCreatorTests.swift; sourceTree = ""; }; - 68E19FB5247D42100074A790 /* DispatchQueue+Detection.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "DispatchQueue+Detection.swift"; sourceTree = ""; }; - 68E7BADF244F08C00072549A /* libClickstream.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libClickstream.a; sourceTree = BUILT_PRODUCTS_DIR; }; + 68E7BADF244F08C00072549A /* libClickstreamLib.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libClickstreamLib.a; sourceTree = BUILT_PRODUCTS_DIR; }; 68E7BD1B2456E6F10072549A /* ClickstreamTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = ClickstreamTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; - 68E7BD1F2456E6F10072549A /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 68E7BD86246028CF0072549A /* SocketHandlerMock.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SocketHandlerMock.swift; sourceTree = ""; }; - 68E7BD89246034F90072549A /* NetworkServiceTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NetworkServiceTests.swift; sourceTree = ""; }; - 68E7BD8B246184310072549A /* NetworkBuilderTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NetworkBuilderTests.swift; sourceTree = ""; }; - 9A6AEC9B2A43835A000A1D1D /* MockConstants.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MockConstants.swift; sourceTree = ""; }; - 9AA23CF524A33B4C001BE490 /* EventProcessorTest.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EventProcessorTest.swift; sourceTree = ""; }; - 9AA23CFA24A5978B001BE490 /* EventTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EventTests.swift; sourceTree = ""; }; - 9AA23D0024A5A1A7001BE490 /* EventBatchTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EventBatchTests.swift; sourceTree = ""; }; - 9AA23D0324A99DCE001BE490 /* DeviceStatusNotifierTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DeviceStatusNotifierTests.swift; sourceTree = ""; }; - 9AA23D0524A9D6CC001BE490 /* EventSchedulerDependenciesTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EventSchedulerDependenciesTests.swift; sourceTree = ""; }; - 9AA23D0924AA297E001BE490 /* AppStateNotifierServiceTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppStateNotifierServiceTests.swift; sourceTree = ""; }; - 9AA23D0B24AA5536001BE490 /* ClickStreamDependenciesTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ClickStreamDependenciesTests.swift; sourceTree = ""; }; - 9AA23D0E24AB1696001BE490 /* NetworkManagerDependenciesTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NetworkManagerDependenciesTests.swift; sourceTree = ""; }; - 9AA23D1024AB2801001BE490 /* EventProcessorDependenciesTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EventProcessorDependenciesTests.swift; sourceTree = ""; }; - 9AAFBAE924754CEF009BFDFB /* SortedArrayTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SortedArrayTests.swift; sourceTree = ""; }; - 9AB88AA0251B00030092659B /* ClickStreamTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ClickStreamTests.swift; sourceTree = ""; }; - BD5E7BB92A0B94BF000F5678 /* Transport.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Transport.swift; sourceTree = ""; }; - BD5E7BBA2A0B94BF000F5678 /* FoundationTransport.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FoundationTransport.swift; sourceTree = ""; }; - BD5E7BBB2A0B94BF000F5678 /* TCPTransport.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TCPTransport.swift; sourceTree = ""; }; - BD5E7BBD2A0B94BF000F5678 /* Security.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Security.swift; sourceTree = ""; }; - BD5E7BBE2A0B94BF000F5678 /* FoundationSecurity.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FoundationSecurity.swift; sourceTree = ""; }; - BD5E7BC02A0B94BF000F5678 /* Data+Extensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Data+Extensions.swift"; sourceTree = ""; }; - BD5E7BC22A0B94BF000F5678 /* Server.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Server.swift; sourceTree = ""; }; - BD5E7BC32A0B94BF000F5678 /* WebSocketServer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WebSocketServer.swift; sourceTree = ""; }; - BD5E7BC52A0B94BF000F5678 /* FoundationHTTPHandler.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FoundationHTTPHandler.swift; sourceTree = ""; }; - BD5E7BC62A0B94BF000F5678 /* HTTPHandler.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HTTPHandler.swift; sourceTree = ""; }; - BD5E7BC72A0B94BF000F5678 /* FrameCollector.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FrameCollector.swift; sourceTree = ""; }; - BD5E7BC82A0B94BF000F5678 /* StringHTTPHandler.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StringHTTPHandler.swift; sourceTree = ""; }; - BD5E7BC92A0B94BF000F5678 /* FoundationHTTPServerHandler.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FoundationHTTPServerHandler.swift; sourceTree = ""; }; - BD5E7BCA2A0B94BF000F5678 /* Framer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Framer.swift; sourceTree = ""; }; - BD5E7BCC2A0B94BF000F5678 /* Compression.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Compression.swift; sourceTree = ""; }; - BD5E7BCD2A0B94BF000F5678 /* WSCompression.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WSCompression.swift; sourceTree = ""; }; - BD5E7BCF2A0B94BF000F5678 /* WebSocket.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WebSocket.swift; sourceTree = ""; }; - BD5E7BD12A0B94BF000F5678 /* Engine.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Engine.swift; sourceTree = ""; }; - BD5E7BD22A0B94BF000F5678 /* NativeEngine.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NativeEngine.swift; sourceTree = ""; }; - BD5E7BD32A0B94BF000F5678 /* WSEngine.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WSEngine.swift; sourceTree = ""; }; BD6BDB3E29FBC1360006B04A /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; BD6BDB4129FBC1360006B04A /* RadioLabelTableViewCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RadioLabelTableViewCell.swift; sourceTree = ""; }; BD6BDB4229FBC1360006B04A /* FilterTextFieldTableViewCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FilterTextFieldTableViewCell.swift; sourceTree = ""; }; @@ -324,53 +281,102 @@ BD6BDB6329FBC1360006B04A /* ClickStreamHealthConfigurations.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ClickStreamHealthConfigurations.swift; sourceTree = ""; }; BD6BDB6429FBC1360006B04A /* HealthTrackerDTO.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HealthTrackerDTO.swift; sourceTree = ""; }; BD6BDB6529FBC1360006B04A /* CSCommonPropertiesDTO.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CSCommonPropertiesDTO.swift; sourceTree = ""; }; - BD8AF59B287ED1CB002DD402 /* NetworkBuilder.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NetworkBuilder.swift; sourceTree = ""; }; - BD8AF59C287ED1CB002DD402 /* RetryMechanism.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RetryMechanism.swift; sourceTree = ""; }; - BD8AF59E287ED1CB002DD402 /* NetworkManagerDependencies.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NetworkManagerDependencies.swift; sourceTree = ""; }; - BD8AF5A1287ED1CB002DD402 /* Heartbeat.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Heartbeat.swift; sourceTree = ""; }; - BD8AF5A2287ED1CB002DD402 /* SocketHandler.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SocketHandler.swift; sourceTree = ""; }; - BD8AF5A5287ED1CB002DD402 /* NetworkService.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NetworkService.swift; sourceTree = ""; }; - BD8AF5A6287ED1CB002DD402 /* Connectable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Connectable.swift; sourceTree = ""; }; - BD8AF5A7287ED1CB002DD402 /* NetworkConfiguration.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NetworkConfiguration.swift; sourceTree = ""; }; - BD8AF5A9287ED1CB002DD402 /* Atomic.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Atomic.swift; sourceTree = ""; }; - BD8AF5AA287ED1CB002DD402 /* DeviceStatusNotifier.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DeviceStatusNotifier.swift; sourceTree = ""; }; - BD8AF5AB287ED1CB002DD402 /* NetworkReachability.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NetworkReachability.swift; sourceTree = ""; }; - BD8AF5AC287ED1CB002DD402 /* DispatchSourceTimer+RepeatingTimer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "DispatchSourceTimer+RepeatingTimer.swift"; sourceTree = ""; }; - BD8AF5AD287ED1CB002DD402 /* KeepAliveService.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = KeepAliveService.swift; sourceTree = ""; }; - BD8AF5B0287ED1CB002DD402 /* ProtoConvertible.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ProtoConvertible.swift; sourceTree = ""; }; - BD8AF5B3287ED1CB002DD402 /* EventRequest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EventRequest.swift; sourceTree = ""; }; - BD8AF5B6287ED1CB002DD402 /* ClickStream.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ClickStream.swift; sourceTree = ""; }; - BD8AF5B8287ED1CB002DD402 /* ClickstreamDependencies.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ClickstreamDependencies.swift; sourceTree = ""; }; - BD8AF5BB287ED1CB002DD402 /* ClickStreamConstraints.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ClickStreamConstraints.swift; sourceTree = ""; }; - BD8AF5BC287ED1CB002DD402 /* ClickStreamEventClassification.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ClickStreamEventClassification.swift; sourceTree = ""; }; - BD8AF5BE287ED1CB002DD402 /* Constants.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Constants.swift; sourceTree = ""; }; - BD8AF5C0287ED1CB002DD402 /* Reachability+Extension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Reachability+Extension.swift"; sourceTree = ""; }; - BD8AF5C1287ED1CB002DD402 /* JSONStringDecoder.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = JSONStringDecoder.swift; sourceTree = ""; }; - BD8AF5C2287ED1CB002DD402 /* Logger.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Logger.swift; sourceTree = ""; }; - BD8AF5C3287ED1CB002DD402 /* DeviceInfo.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DeviceInfo.swift; sourceTree = ""; }; - BD8AF5C6287ED1CB002DD402 /* Event.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Event.swift; sourceTree = ""; }; - BD8AF5C7287ED1CB002DD402 /* ClickstreamEvent.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ClickstreamEvent.swift; sourceTree = ""; }; - BD8AF5C8287ED1CB002DD402 /* EventBatch.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EventBatch.swift; sourceTree = ""; }; - BD8AF5CA287ED1CB002DD402 /* EventRequest.pb.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EventRequest.pb.swift; sourceTree = ""; }; - BD8AF5CB287ED1CB002DD402 /* EventResponse.pb.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EventResponse.pb.swift; sourceTree = ""; }; - BD8AF5CC287ED1CB002DD402 /* Event.pb.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Event.pb.swift; sourceTree = ""; }; - BD8AF5CF287ED1CB002DD402 /* EventBatchCreator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EventBatchCreator.swift; sourceTree = ""; }; - BD8AF5D0287ED1CB002DD402 /* EventSchedulerDependencies.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EventSchedulerDependencies.swift; sourceTree = ""; }; - BD8AF5D1287ED1CB002DD402 /* EventWarehouser.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EventWarehouser.swift; sourceTree = ""; }; - BD8AF5D2287ED1CB002DD402 /* EventBatchProcessor.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EventBatchProcessor.swift; sourceTree = ""; }; - BD8AF5D5287ED1CB002DD402 /* AppStateNotifierService.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppStateNotifierService.swift; sourceTree = ""; }; - BD8AF5D6287ED1CB002DD402 /* EventBatchSizeRegulator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EventBatchSizeRegulator.swift; sourceTree = ""; }; - BD8AF5D7287ED1CB002DD402 /* SchedulerService.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SchedulerService.swift; sourceTree = ""; }; - BD8AF5D8287ED1CB002DD402 /* SortedArray.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SortedArray.swift; sourceTree = ""; }; - BD8AF5DC287ED1CB002DD402 /* DatabaseHandler.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DatabaseHandler.swift; sourceTree = ""; }; - BD8AF5DD287ED1CB002DD402 /* DatabaseDAO.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DatabaseDAO.swift; sourceTree = ""; }; - BD8AF5E0287ED1CB002DD402 /* TableDefinable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TableDefinable.swift; sourceTree = ""; }; - BD8AF5E1287ED1CB002DD402 /* DatabasePersistable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DatabasePersistable.swift; sourceTree = ""; }; - BD8AF5E5287ED1CB002DD402 /* EventClassifier.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EventClassifier.swift; sourceTree = ""; }; - BD8AF5E6287ED1CB002DD402 /* EventProcessor.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EventProcessor.swift; sourceTree = ""; }; - BD8AF5E7287ED1CB002DD402 /* EventProcessorDependencies.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EventProcessorDependencies.swift; sourceTree = ""; }; BDDC872129E6AF580024ED8C /* FileManagerOverride.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FileManagerOverride.swift; sourceTree = ""; }; - BDDC873529E7D6AC0024ED8C /* EteExperiment.pb.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EteExperiment.pb.swift; sourceTree = ""; }; + BDE467452A5BD24400BFA976 /* MockConstants.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MockConstants.swift; sourceTree = ""; }; + BDE467462A5BD24400BFA976 /* ClickStreamTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ClickStreamTests.swift; sourceTree = ""; }; + BDE467472A5BD24400BFA976 /* ClickStreamDependenciesTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ClickStreamDependenciesTests.swift; sourceTree = ""; }; + BDE467492A5BD24500BFA976 /* EventBatchTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EventBatchTests.swift; sourceTree = ""; }; + BDE4674A2A5BD24500BFA976 /* EventTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EventTests.swift; sourceTree = ""; }; + BDE4674D2A5BD24500BFA976 /* AppStateNotifierMock.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppStateNotifierMock.swift; sourceTree = ""; }; + BDE4674E2A5BD24500BFA976 /* BatchSizeRegulatorMock.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BatchSizeRegulatorMock.swift; sourceTree = ""; }; + BDE4674F2A5BD24500BFA976 /* DatabaseMock.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DatabaseMock.swift; sourceTree = ""; }; + BDE467502A5BD24500BFA976 /* EventBatchProcessorTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EventBatchProcessorTests.swift; sourceTree = ""; }; + BDE467512A5BD24500BFA976 /* EventSchedulerDependenciesTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EventSchedulerDependenciesTests.swift; sourceTree = ""; }; + BDE467522A5BD24500BFA976 /* AppStateNotifierServiceTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppStateNotifierServiceTests.swift; sourceTree = ""; }; + BDE467542A5BD24500BFA976 /* DispatchQueue+Detection.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "DispatchQueue+Detection.swift"; sourceTree = ""; }; + BDE467552A5BD24500BFA976 /* SchedulerServiceTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SchedulerServiceTests.swift; sourceTree = ""; }; + BDE467562A5BD24500BFA976 /* SortedArrayTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SortedArrayTests.swift; sourceTree = ""; }; + BDE467572A5BD24500BFA976 /* EventWarehouserTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EventWarehouserTests.swift; sourceTree = ""; }; + BDE4675A2A5BD24500BFA976 /* DatabaseDAOTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DatabaseDAOTests.swift; sourceTree = ""; }; + BDE4675B2A5BD24500BFA976 /* EventCreatorTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EventCreatorTests.swift; sourceTree = ""; }; + BDE4675C2A5BD24500BFA976 /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + BDE4675E2A5BD24500BFA976 /* EventProcessorTest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EventProcessorTest.swift; sourceTree = ""; }; + BDE4675F2A5BD24500BFA976 /* EventProcessorDependenciesTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EventProcessorDependenciesTests.swift; sourceTree = ""; }; + BDE467622A5BD24500BFA976 /* NetworkReachabilityMock.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NetworkReachabilityMock.swift; sourceTree = ""; }; + BDE467632A5BD24500BFA976 /* SocketHandlerMock.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SocketHandlerMock.swift; sourceTree = ""; }; + BDE467652A5BD24500BFA976 /* NetworkManagerDependenciesTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NetworkManagerDependenciesTests.swift; sourceTree = ""; }; + BDE467672A5BD24500BFA976 /* EventRequestTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EventRequestTests.swift; sourceTree = ""; }; + BDE467692A5BD24500BFA976 /* KeepAliveServiceTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = KeepAliveServiceTests.swift; sourceTree = ""; }; + BDE4676A2A5BD24500BFA976 /* DeviceStatusNotifierTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DeviceStatusNotifierTests.swift; sourceTree = ""; }; + BDE4676C2A5BD24500BFA976 /* NetworkBuilderTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NetworkBuilderTests.swift; sourceTree = ""; }; + BDE4676D2A5BD24500BFA976 /* NetworkServiceTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NetworkServiceTests.swift; sourceTree = ""; }; + BDE4676E2A5BD24500BFA976 /* RetryMechanismTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RetryMechanismTests.swift; sourceTree = ""; }; + BDE4678F2A5BD72000BFA976 /* NetworkBuilder.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NetworkBuilder.swift; sourceTree = ""; }; + BDE467902A5BD72000BFA976 /* RetryMechanism.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RetryMechanism.swift; sourceTree = ""; }; + BDE467922A5BD72000BFA976 /* NetworkManagerDependencies.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NetworkManagerDependencies.swift; sourceTree = ""; }; + BDE467952A5BD72000BFA976 /* Heartbeat.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Heartbeat.swift; sourceTree = ""; }; + BDE467962A5BD72000BFA976 /* SocketHandler.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SocketHandler.swift; sourceTree = ""; }; + BDE467982A5BD72000BFA976 /* NetworkService.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NetworkService.swift; sourceTree = ""; }; + BDE467992A5BD72000BFA976 /* Connectable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Connectable.swift; sourceTree = ""; }; + BDE4679A2A5BD72000BFA976 /* NetworkConfiguration.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NetworkConfiguration.swift; sourceTree = ""; }; + BDE4679C2A5BD72000BFA976 /* Atomic.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Atomic.swift; sourceTree = ""; }; + BDE4679D2A5BD72000BFA976 /* DeviceStatusNotifier.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DeviceStatusNotifier.swift; sourceTree = ""; }; + BDE4679E2A5BD72000BFA976 /* NetworkReachability.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NetworkReachability.swift; sourceTree = ""; }; + BDE4679F2A5BD72000BFA976 /* DispatchSourceTimer+RepeatingTimer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "DispatchSourceTimer+RepeatingTimer.swift"; sourceTree = ""; }; + BDE467A02A5BD72000BFA976 /* KeepAliveService.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = KeepAliveService.swift; sourceTree = ""; }; + BDE467A32A5BD72000BFA976 /* ProtoConvertible.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ProtoConvertible.swift; sourceTree = ""; }; + BDE467A62A5BD72000BFA976 /* EventRequest.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EventRequest.swift; sourceTree = ""; }; + BDE467A92A5BD72000BFA976 /* ClickStream.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ClickStream.swift; sourceTree = ""; }; + BDE467AB2A5BD72000BFA976 /* ClickstreamDependencies.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ClickstreamDependencies.swift; sourceTree = ""; }; + BDE467AE2A5BD72000BFA976 /* ClickStreamConstraints.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ClickStreamConstraints.swift; sourceTree = ""; }; + BDE467AF2A5BD72000BFA976 /* ClickStreamEventClassification.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ClickStreamEventClassification.swift; sourceTree = ""; }; + BDE467B12A5BD72000BFA976 /* Constants.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Constants.swift; sourceTree = ""; }; + BDE467B32A5BD72000BFA976 /* Reachability+Extension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Reachability+Extension.swift"; sourceTree = ""; }; + BDE467B42A5BD72000BFA976 /* JSONStringDecoder.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = JSONStringDecoder.swift; sourceTree = ""; }; + BDE467B52A5BD72000BFA976 /* Logger.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Logger.swift; sourceTree = ""; }; + BDE467B62A5BD72000BFA976 /* DeviceInfo.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DeviceInfo.swift; sourceTree = ""; }; + BDE467B92A5BD72000BFA976 /* Event.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Event.swift; sourceTree = ""; }; + BDE467BA2A5BD72000BFA976 /* ClickstreamEvent.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ClickstreamEvent.swift; sourceTree = ""; }; + BDE467BB2A5BD72000BFA976 /* EventBatch.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EventBatch.swift; sourceTree = ""; }; + BDE467BD2A5BD72000BFA976 /* EventRequest.pb.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EventRequest.pb.swift; sourceTree = ""; }; + BDE467BE2A5BD72000BFA976 /* EteExperiment.pb.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EteExperiment.pb.swift; sourceTree = ""; }; + BDE467BF2A5BD72000BFA976 /* EventResponse.pb.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EventResponse.pb.swift; sourceTree = ""; }; + BDE467C02A5BD72000BFA976 /* Event.pb.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Event.pb.swift; sourceTree = ""; }; + BDE467C42A5BD72000BFA976 /* Transport.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Transport.swift; sourceTree = ""; }; + BDE467C52A5BD72000BFA976 /* FoundationTransport.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FoundationTransport.swift; sourceTree = ""; }; + BDE467C62A5BD72000BFA976 /* TCPTransport.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TCPTransport.swift; sourceTree = ""; }; + BDE467C82A5BD72000BFA976 /* Security.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Security.swift; sourceTree = ""; }; + BDE467C92A5BD72000BFA976 /* FoundationSecurity.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FoundationSecurity.swift; sourceTree = ""; }; + BDE467CB2A5BD72000BFA976 /* Data+Extensions.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Data+Extensions.swift"; sourceTree = ""; }; + BDE467CD2A5BD72000BFA976 /* Server.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Server.swift; sourceTree = ""; }; + BDE467CE2A5BD72000BFA976 /* WebSocketServer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WebSocketServer.swift; sourceTree = ""; }; + BDE467D02A5BD72000BFA976 /* FoundationHTTPHandler.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FoundationHTTPHandler.swift; sourceTree = ""; }; + BDE467D12A5BD72000BFA976 /* HTTPHandler.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HTTPHandler.swift; sourceTree = ""; }; + BDE467D22A5BD72000BFA976 /* FrameCollector.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FrameCollector.swift; sourceTree = ""; }; + BDE467D32A5BD72000BFA976 /* StringHTTPHandler.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = StringHTTPHandler.swift; sourceTree = ""; }; + BDE467D42A5BD72000BFA976 /* FoundationHTTPServerHandler.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FoundationHTTPServerHandler.swift; sourceTree = ""; }; + BDE467D52A5BD72000BFA976 /* Framer.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Framer.swift; sourceTree = ""; }; + BDE467D72A5BD72000BFA976 /* Compression.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Compression.swift; sourceTree = ""; }; + BDE467D82A5BD72000BFA976 /* WSCompression.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WSCompression.swift; sourceTree = ""; }; + BDE467DA2A5BD72000BFA976 /* WebSocket.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WebSocket.swift; sourceTree = ""; }; + BDE467DC2A5BD72000BFA976 /* Engine.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Engine.swift; sourceTree = ""; }; + BDE467DD2A5BD72000BFA976 /* NativeEngine.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NativeEngine.swift; sourceTree = ""; }; + BDE467DE2A5BD72000BFA976 /* WSEngine.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WSEngine.swift; sourceTree = ""; }; + BDE467E12A5BD72000BFA976 /* EventBatchCreator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EventBatchCreator.swift; sourceTree = ""; }; + BDE467E22A5BD72000BFA976 /* EventSchedulerDependencies.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EventSchedulerDependencies.swift; sourceTree = ""; }; + BDE467E32A5BD72000BFA976 /* EventWarehouser.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EventWarehouser.swift; sourceTree = ""; }; + BDE467E42A5BD72000BFA976 /* EventBatchProcessor.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EventBatchProcessor.swift; sourceTree = ""; }; + BDE467E72A5BD72000BFA976 /* AppStateNotifierService.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AppStateNotifierService.swift; sourceTree = ""; }; + BDE467E82A5BD72000BFA976 /* EventBatchSizeRegulator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EventBatchSizeRegulator.swift; sourceTree = ""; }; + BDE467E92A5BD72000BFA976 /* SchedulerService.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SchedulerService.swift; sourceTree = ""; }; + BDE467EA2A5BD72000BFA976 /* SortedArray.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SortedArray.swift; sourceTree = ""; }; + BDE467EE2A5BD72000BFA976 /* DatabaseHandler.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DatabaseHandler.swift; sourceTree = ""; }; + BDE467EF2A5BD72000BFA976 /* DatabaseDAO.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DatabaseDAO.swift; sourceTree = ""; }; + BDE467F22A5BD72000BFA976 /* TableDefinable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TableDefinable.swift; sourceTree = ""; }; + BDE467F32A5BD72000BFA976 /* DatabasePersistable.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DatabasePersistable.swift; sourceTree = ""; }; + BDE467F62A5BD72000BFA976 /* EventClassifier.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EventClassifier.swift; sourceTree = ""; }; + BDE467F72A5BD72000BFA976 /* EventProcessor.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EventProcessor.swift; sourceTree = ""; }; + BDE467F82A5BD72000BFA976 /* EventProcessorDependencies.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EventProcessorDependencies.swift; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -385,7 +391,7 @@ isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 68E7BD202456E6F10072549A /* libClickstream.a in Frameworks */, + 68E7BD202456E6F10072549A /* libClickstreamLib.a in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -399,29 +405,11 @@ path = Pods; sourceTree = ""; }; - 6831AFDA248E5275004596CC /* Mocks */ = { - isa = PBXGroup; - children = ( - 681EAB4024897822003AB41A /* AppStateNotifierMock.swift */, - 68316328260CB2690095DBCA /* BatchSizeRegulatorMock.swift */, - 68316338260DC7D00095DBCA /* DatabaseMock.swift */, - ); - path = Mocks; - sourceTree = ""; - }; - 68E19FB4247D42100074A790 /* Utilities */ = { - isa = PBXGroup; - children = ( - 68E19FB5247D42100074A790 /* DispatchQueue+Detection.swift */, - ); - path = Utilities; - sourceTree = ""; - }; 68E7BAD6244F08C00072549A = { isa = PBXGroup; children = ( + BDE467422A5BD24400BFA976 /* ClickstreamTests */, BD8AF585287ED1CB002DD402 /* Sources */, - 68E7BD1C2456E6F10072549A /* ClickstreamTests */, 68E7BAE0244F08C00072549A /* Products */, 2E71FBE7FAE66AF83A297BB5 /* Pods */, 9AAFBB13247CBA15009BFDFB /* Recovered References */, @@ -431,718 +419,747 @@ 68E7BAE0244F08C00072549A /* Products */ = { isa = PBXGroup; children = ( - 68E7BADF244F08C00072549A /* libClickstream.a */, + 68E7BADF244F08C00072549A /* libClickstreamLib.a */, 68E7BD1B2456E6F10072549A /* ClickstreamTests.xctest */, ); name = Products; sourceTree = ""; }; - 68E7BD1C2456E6F10072549A /* ClickstreamTests */ = { + 9AAFBB13247CBA15009BFDFB /* Recovered References */ = { isa = PBXGroup; children = ( - 9AA23CF824A59756001BE490 /* Core */, - 9AA23CF424A33AED001BE490 /* EventProcessorTests */, - 9AAFBAE824754CB5009BFDFB /* EventSchedulerTests */, - 68E7BD84245F3A0D0072549A /* NetworkManagerTests */, - 68E7BD1F2456E6F10072549A /* Info.plist */, ); - path = ClickstreamTests; + name = "Recovered References"; sourceTree = ""; }; - 68E7BD84245F3A0D0072549A /* NetworkManagerTests */ = { + BD6BDB3C29FBC1360006B04A /* EventVisualizer */ = { isa = PBXGroup; children = ( - 9AA23D0D24AB167F001BE490 /* Core */, - 9AA23D0224A99DB1001BE490 /* Utilities */, - 68E7BD88246034DF0072549A /* Infrastructure */, - 68E7BD85246028B70072549A /* Mocks */, + BD6BDB3D29FBC1360006B04A /* Resources */, + BD6BDB3F29FBC1360006B04A /* src */, ); - path = NetworkManagerTests; + path = EventVisualizer; sourceTree = ""; }; - 68E7BD85246028B70072549A /* Mocks */ = { + BD6BDB3D29FBC1360006B04A /* Resources */ = { isa = PBXGroup; children = ( - 68E7BD86246028CF0072549A /* SocketHandlerMock.swift */, - 687B2A29246AA756008F2805 /* NetworkReachabilityMock.swift */, + BD6BDB3E29FBC1360006B04A /* Assets.xcassets */, ); - path = Mocks; + path = Resources; sourceTree = ""; }; - 68E7BD88246034DF0072549A /* Infrastructure */ = { + BD6BDB3F29FBC1360006B04A /* src */ = { isa = PBXGroup; children = ( - 68E7BD89246034F90072549A /* NetworkServiceTests.swift */, - 68E7BD8B246184310072549A /* NetworkBuilderTests.swift */, - 6831635E261218F90095DBCA /* RetryMechanismTests.swift */, + BD6BDB4029FBC1360006B04A /* cells */, + BD6BDB4429FBC1360006B04A /* Landing */, + BD6BDB4729FBC1360006B04A /* EventsList */, + BD6BDB4A29FBC1360006B04A /* EventDetails */, + BD6BDB4D29FBC1360006B04A /* Filter */, + BD6BDB4F29FBC1360006B04A /* Helpers */, ); - path = Infrastructure; + path = src; sourceTree = ""; }; - 9A6AEC9A2A438345000A1D1D /* Mocks */ = { + BD6BDB4029FBC1360006B04A /* cells */ = { isa = PBXGroup; children = ( - 9A6AEC9B2A43835A000A1D1D /* MockConstants.swift */, + BD6BDB4129FBC1360006B04A /* RadioLabelTableViewCell.swift */, + BD6BDB4229FBC1360006B04A /* FilterTextFieldTableViewCell.swift */, + BD6BDB4329FBC1360006B04A /* EventsListingTableViewCell.swift */, ); - path = Mocks; + path = cells; sourceTree = ""; }; - 9AA23CF424A33AED001BE490 /* EventProcessorTests */ = { + BD6BDB4429FBC1360006B04A /* Landing */ = { isa = PBXGroup; children = ( - 9AA23CF524A33B4C001BE490 /* EventProcessorTest.swift */, - 9AA23D1024AB2801001BE490 /* EventProcessorDependenciesTests.swift */, + BD6BDB4529FBC1360006B04A /* EventVisualizerLandingViewModel.swift */, + BD6BDB4629FBC1360006B04A /* EventVisualizerLandingViewController.swift */, ); - path = EventProcessorTests; + path = Landing; sourceTree = ""; }; - 9AA23CF824A59756001BE490 /* Core */ = { + BD6BDB4729FBC1360006B04A /* EventsList */ = { isa = PBXGroup; children = ( - 9A6AEC9A2A438345000A1D1D /* Mocks */, - 9AB88AA0251B00030092659B /* ClickStreamTests.swift */, - 9AA23CF924A59768001BE490 /* Entities */, - 9AA23D0B24AA5536001BE490 /* ClickStreamDependenciesTests.swift */, + BD6BDB4829FBC1360006B04A /* EventsListViewController.swift */, + BD6BDB4929FBC1360006B04A /* EventsListViewModel.swift */, ); - path = Core; + path = EventsList; sourceTree = ""; }; - 9AA23CF924A59768001BE490 /* Entities */ = { + BD6BDB4A29FBC1360006B04A /* EventDetails */ = { isa = PBXGroup; children = ( - 9AA23CFA24A5978B001BE490 /* EventTests.swift */, - 9AA23D0024A5A1A7001BE490 /* EventBatchTests.swift */, + BD6BDB4B29FBC1360006B04A /* EventDetailsViewModel.swift */, + BD6BDB4C29FBC1360006B04A /* EventDetailsViewController.swift */, ); - path = Entities; + path = EventDetails; sourceTree = ""; }; - 9AA23D0224A99DB1001BE490 /* Utilities */ = { + BD6BDB4D29FBC1360006B04A /* Filter */ = { isa = PBXGroup; children = ( - 9AA23D0324A99DCE001BE490 /* DeviceStatusNotifierTests.swift */, + BD6BDB4E29FBC1360006B04A /* FilterViewController.swift */, ); - path = Utilities; + path = Filter; sourceTree = ""; }; - 9AA23D0D24AB167F001BE490 /* Core */ = { + BD6BDB4F29FBC1360006B04A /* Helpers */ = { isa = PBXGroup; children = ( - 9AA23D0E24AB1696001BE490 /* NetworkManagerDependenciesTests.swift */, + BD6BDB5029FBC1360006B04A /* EventsHelper.swift */, + BD6BDB5129FBC1360006B04A /* UITableViewExtensions.swift */, + BD6BDB5229FBC1360006B04A /* EventStateViewable.swift */, + BD6BDB5329FBC1360006B04A /* CollectionMapper.swift */, ); - path = Core; + path = Helpers; sourceTree = ""; }; - 9AAFBAE824754CB5009BFDFB /* EventSchedulerTests */ = { + BD6BDB5429FBC1360006B04A /* Tracker */ = { isa = PBXGroup; children = ( - 9AAFBB01247A9266009BFDFB /* Data */, - 68E19FB4247D42100074A790 /* Utilities */, - 6831AFDA248E5275004596CC /* Mocks */, - 68E19FB3247D42100074A790 /* EventCreatorTests.swift */, - 68E19FB2247D420F0074A790 /* SchedulerServiceTests.swift */, - 9AAFBAE924754CEF009BFDFB /* SortedArrayTests.swift */, - 681EAB3E248972E6003AB41A /* EventBatchProcessorTests.swift */, - 6831AFD8248E5265004596CC /* EventWarehouserTests.swift */, - 9AA23D0524A9D6CC001BE490 /* EventSchedulerDependenciesTests.swift */, - 9AA23D0924AA297E001BE490 /* AppStateNotifierServiceTests.swift */, + BD6BDB5529FBC1360006B04A /* Health */, + BD6BDB5929FBC1360006B04A /* Tracker.swift */, + BD6BDB5A29FBC1360006B04A /* Utilities */, + BD6BDB5E29FBC1360006B04A /* HealthContracts */, + BD6BDB6129FBC1360006B04A /* Entities */, ); - path = EventSchedulerTests; + path = Tracker; sourceTree = ""; }; - 9AAFBB01247A9266009BFDFB /* Data */ = { + BD6BDB5529FBC1360006B04A /* Health */ = { isa = PBXGroup; children = ( - 9AAFBB02247A927F009BFDFB /* Persistence */, + BD6BDB5629FBC1360006B04A /* HealthTracker.swift */, + BD6BDB5729FBC1360006B04A /* HealthAnalysisEvent.swift */, + BD6BDB5829FBC1360006B04A /* HealthAnalysisEventBatch.swift */, ); - path = Data; + path = Health; sourceTree = ""; }; - 9AAFBB02247A927F009BFDFB /* Persistence */ = { + BD6BDB5A29FBC1360006B04A /* Utilities */ = { isa = PBXGroup; children = ( + BD6BDB5B29FBC1360006B04A /* TrackerConstants.swift */, + BD6BDB5C29FBC1360006B04A /* Notifiable.swift */, + BD6BDB5D29FBC1360006B04A /* AppVersionChecker.swift */, ); - path = Persistence; + path = Utilities; sourceTree = ""; }; - 9AAFBB13247CBA15009BFDFB /* Recovered References */ = { + BD6BDB5E29FBC1360006B04A /* HealthContracts */ = { isa = PBXGroup; children = ( + BD6BDB5F29FBC1360006B04A /* HealthMeta.pb.swift */, + BD6BDB6029FBC1360006B04A /* Health.pb.swift */, ); - name = "Recovered References"; + path = HealthContracts; sourceTree = ""; }; - BD5E7AB52A0B85FE000F5678 /* ThirdPartyLibraries */ = { + BD6BDB6129FBC1360006B04A /* Entities */ = { isa = PBXGroup; children = ( - BD5E7BB72A0B94BF000F5678 /* Sources */, + BD6BDB6229FBC1360006B04A /* CSLocationDTO.swift */, + BD6BDB6329FBC1360006B04A /* ClickStreamHealthConfigurations.swift */, + BD6BDB6429FBC1360006B04A /* HealthTrackerDTO.swift */, + BD6BDB6529FBC1360006B04A /* CSCommonPropertiesDTO.swift */, ); - path = ThirdPartyLibraries; + path = Entities; sourceTree = ""; }; - BD5E7BB72A0B94BF000F5678 /* Sources */ = { + BD8AF585287ED1CB002DD402 /* Sources */ = { isa = PBXGroup; children = ( - BD5E7BB82A0B94BF000F5678 /* Transport */, - BD5E7BBC2A0B94BF000F5678 /* Security */, - BD5E7BBF2A0B94BF000F5678 /* DataBytes */, - BD5E7BC12A0B94BF000F5678 /* Server */, - BD5E7BC42A0B94BF000F5678 /* Framer */, - BD5E7BCB2A0B94BF000F5678 /* Compression */, - BD5E7BCE2A0B94BF000F5678 /* Starscream */, - BD5E7BD02A0B94BF000F5678 /* Engine */, + BDE4678C2A5BD72000BFA976 /* ClickstreamLib */, + BD6BDB3C29FBC1360006B04A /* EventVisualizer */, + BD6BDB5429FBC1360006B04A /* Tracker */, + BDDC872029E6AF350024ED8C /* ETETestSuite */, ); path = Sources; sourceTree = ""; }; - BD5E7BB82A0B94BF000F5678 /* Transport */ = { + BDDC872029E6AF350024ED8C /* ETETestSuite */ = { isa = PBXGroup; children = ( - BD5E7BB92A0B94BF000F5678 /* Transport.swift */, - BD5E7BBA2A0B94BF000F5678 /* FoundationTransport.swift */, - BD5E7BBB2A0B94BF000F5678 /* TCPTransport.swift */, + BDDC872129E6AF580024ED8C /* FileManagerOverride.swift */, ); - path = Transport; + path = ETETestSuite; sourceTree = ""; }; - BD5E7BBC2A0B94BF000F5678 /* Security */ = { + BDE467422A5BD24400BFA976 /* ClickstreamTests */ = { isa = PBXGroup; children = ( - BD5E7BBD2A0B94BF000F5678 /* Security.swift */, - BD5E7BBE2A0B94BF000F5678 /* FoundationSecurity.swift */, + BDE467432A5BD24400BFA976 /* Core */, + BDE4674B2A5BD24500BFA976 /* EventSchedulerTests */, + BDE4675C2A5BD24500BFA976 /* Info.plist */, + BDE4675D2A5BD24500BFA976 /* EventProcessorTests */, + BDE467602A5BD24500BFA976 /* NetworkManagerTests */, ); - path = Security; + path = ClickstreamTests; sourceTree = ""; }; - BD5E7BBF2A0B94BF000F5678 /* DataBytes */ = { + BDE467432A5BD24400BFA976 /* Core */ = { isa = PBXGroup; children = ( - BD5E7BC02A0B94BF000F5678 /* Data+Extensions.swift */, + BDE467442A5BD24400BFA976 /* Mocks */, + BDE467462A5BD24400BFA976 /* ClickStreamTests.swift */, + BDE467472A5BD24400BFA976 /* ClickStreamDependenciesTests.swift */, + BDE467482A5BD24400BFA976 /* Entities */, ); - path = DataBytes; + path = Core; sourceTree = ""; }; - BD5E7BC12A0B94BF000F5678 /* Server */ = { + BDE467442A5BD24400BFA976 /* Mocks */ = { isa = PBXGroup; children = ( - BD5E7BC22A0B94BF000F5678 /* Server.swift */, - BD5E7BC32A0B94BF000F5678 /* WebSocketServer.swift */, + BDE467452A5BD24400BFA976 /* MockConstants.swift */, ); - path = Server; + path = Mocks; sourceTree = ""; }; - BD5E7BC42A0B94BF000F5678 /* Framer */ = { + BDE467482A5BD24400BFA976 /* Entities */ = { isa = PBXGroup; children = ( - BD5E7BC52A0B94BF000F5678 /* FoundationHTTPHandler.swift */, - BD5E7BC62A0B94BF000F5678 /* HTTPHandler.swift */, - BD5E7BC72A0B94BF000F5678 /* FrameCollector.swift */, - BD5E7BC82A0B94BF000F5678 /* StringHTTPHandler.swift */, - BD5E7BC92A0B94BF000F5678 /* FoundationHTTPServerHandler.swift */, - BD5E7BCA2A0B94BF000F5678 /* Framer.swift */, + BDE467492A5BD24500BFA976 /* EventBatchTests.swift */, + BDE4674A2A5BD24500BFA976 /* EventTests.swift */, ); - path = Framer; + path = Entities; sourceTree = ""; }; - BD5E7BCB2A0B94BF000F5678 /* Compression */ = { + BDE4674B2A5BD24500BFA976 /* EventSchedulerTests */ = { isa = PBXGroup; children = ( - BD5E7BCC2A0B94BF000F5678 /* Compression.swift */, - BD5E7BCD2A0B94BF000F5678 /* WSCompression.swift */, + BDE4674C2A5BD24500BFA976 /* Mocks */, + BDE467502A5BD24500BFA976 /* EventBatchProcessorTests.swift */, + BDE467512A5BD24500BFA976 /* EventSchedulerDependenciesTests.swift */, + BDE467522A5BD24500BFA976 /* AppStateNotifierServiceTests.swift */, + BDE467532A5BD24500BFA976 /* Utilities */, + BDE467552A5BD24500BFA976 /* SchedulerServiceTests.swift */, + BDE467562A5BD24500BFA976 /* SortedArrayTests.swift */, + BDE467572A5BD24500BFA976 /* EventWarehouserTests.swift */, + BDE467582A5BD24500BFA976 /* Data */, + BDE4675B2A5BD24500BFA976 /* EventCreatorTests.swift */, ); - path = Compression; + path = EventSchedulerTests; sourceTree = ""; }; - BD5E7BCE2A0B94BF000F5678 /* Starscream */ = { + BDE4674C2A5BD24500BFA976 /* Mocks */ = { isa = PBXGroup; children = ( - BD5E7BCF2A0B94BF000F5678 /* WebSocket.swift */, + BDE4674D2A5BD24500BFA976 /* AppStateNotifierMock.swift */, + BDE4674E2A5BD24500BFA976 /* BatchSizeRegulatorMock.swift */, + BDE4674F2A5BD24500BFA976 /* DatabaseMock.swift */, ); - path = Starscream; + path = Mocks; sourceTree = ""; }; - BD5E7BD02A0B94BF000F5678 /* Engine */ = { + BDE467532A5BD24500BFA976 /* Utilities */ = { isa = PBXGroup; children = ( - BD5E7BD12A0B94BF000F5678 /* Engine.swift */, - BD5E7BD22A0B94BF000F5678 /* NativeEngine.swift */, - BD5E7BD32A0B94BF000F5678 /* WSEngine.swift */, + BDE467542A5BD24500BFA976 /* DispatchQueue+Detection.swift */, ); - path = Engine; + path = Utilities; sourceTree = ""; }; - BD6BDB3C29FBC1360006B04A /* EventVisualizer */ = { + BDE467582A5BD24500BFA976 /* Data */ = { isa = PBXGroup; children = ( - BD6BDB3D29FBC1360006B04A /* Resources */, - BD6BDB3F29FBC1360006B04A /* src */, + BDE467592A5BD24500BFA976 /* Persistence */, ); - path = EventVisualizer; + path = Data; sourceTree = ""; }; - BD6BDB3D29FBC1360006B04A /* Resources */ = { + BDE467592A5BD24500BFA976 /* Persistence */ = { isa = PBXGroup; children = ( - BD6BDB3E29FBC1360006B04A /* Assets.xcassets */, + BDE4675A2A5BD24500BFA976 /* DatabaseDAOTests.swift */, ); - path = Resources; + path = Persistence; sourceTree = ""; }; - BD6BDB3F29FBC1360006B04A /* src */ = { + BDE4675D2A5BD24500BFA976 /* EventProcessorTests */ = { isa = PBXGroup; children = ( - BD6BDB4029FBC1360006B04A /* cells */, - BD6BDB4429FBC1360006B04A /* Landing */, - BD6BDB4729FBC1360006B04A /* EventsList */, - BD6BDB4A29FBC1360006B04A /* EventDetails */, - BD6BDB4D29FBC1360006B04A /* Filter */, - BD6BDB4F29FBC1360006B04A /* Helpers */, + BDE4675E2A5BD24500BFA976 /* EventProcessorTest.swift */, + BDE4675F2A5BD24500BFA976 /* EventProcessorDependenciesTests.swift */, ); - path = src; + path = EventProcessorTests; sourceTree = ""; }; - BD6BDB4029FBC1360006B04A /* cells */ = { + BDE467602A5BD24500BFA976 /* NetworkManagerTests */ = { isa = PBXGroup; children = ( - BD6BDB4129FBC1360006B04A /* RadioLabelTableViewCell.swift */, - BD6BDB4229FBC1360006B04A /* FilterTextFieldTableViewCell.swift */, - BD6BDB4329FBC1360006B04A /* EventsListingTableViewCell.swift */, + BDE467612A5BD24500BFA976 /* Mocks */, + BDE467642A5BD24500BFA976 /* Core */, + BDE467662A5BD24500BFA976 /* Models */, + BDE467682A5BD24500BFA976 /* Utilities */, + BDE4676B2A5BD24500BFA976 /* Infrastructure */, ); - path = cells; + path = NetworkManagerTests; sourceTree = ""; }; - BD6BDB4429FBC1360006B04A /* Landing */ = { + BDE467612A5BD24500BFA976 /* Mocks */ = { isa = PBXGroup; children = ( - BD6BDB4529FBC1360006B04A /* EventVisualizerLandingViewModel.swift */, - BD6BDB4629FBC1360006B04A /* EventVisualizerLandingViewController.swift */, + BDE467622A5BD24500BFA976 /* NetworkReachabilityMock.swift */, + BDE467632A5BD24500BFA976 /* SocketHandlerMock.swift */, ); - path = Landing; + path = Mocks; sourceTree = ""; }; - BD6BDB4729FBC1360006B04A /* EventsList */ = { + BDE467642A5BD24500BFA976 /* Core */ = { isa = PBXGroup; children = ( - BD6BDB4829FBC1360006B04A /* EventsListViewController.swift */, - BD6BDB4929FBC1360006B04A /* EventsListViewModel.swift */, + BDE467652A5BD24500BFA976 /* NetworkManagerDependenciesTests.swift */, ); - path = EventsList; + path = Core; sourceTree = ""; }; - BD6BDB4A29FBC1360006B04A /* EventDetails */ = { + BDE467662A5BD24500BFA976 /* Models */ = { isa = PBXGroup; children = ( - BD6BDB4B29FBC1360006B04A /* EventDetailsViewModel.swift */, - BD6BDB4C29FBC1360006B04A /* EventDetailsViewController.swift */, + BDE467672A5BD24500BFA976 /* EventRequestTests.swift */, ); - path = EventDetails; + path = Models; sourceTree = ""; }; - BD6BDB4D29FBC1360006B04A /* Filter */ = { + BDE467682A5BD24500BFA976 /* Utilities */ = { isa = PBXGroup; children = ( - BD6BDB4E29FBC1360006B04A /* FilterViewController.swift */, + BDE467692A5BD24500BFA976 /* KeepAliveServiceTests.swift */, + BDE4676A2A5BD24500BFA976 /* DeviceStatusNotifierTests.swift */, ); - path = Filter; + path = Utilities; sourceTree = ""; }; - BD6BDB4F29FBC1360006B04A /* Helpers */ = { + BDE4676B2A5BD24500BFA976 /* Infrastructure */ = { isa = PBXGroup; children = ( - BD6BDB5029FBC1360006B04A /* EventsHelper.swift */, - BD6BDB5129FBC1360006B04A /* UITableViewExtensions.swift */, - BD6BDB5229FBC1360006B04A /* EventStateViewable.swift */, - BD6BDB5329FBC1360006B04A /* CollectionMapper.swift */, + BDE4676C2A5BD24500BFA976 /* NetworkBuilderTests.swift */, + BDE4676D2A5BD24500BFA976 /* NetworkServiceTests.swift */, + BDE4676E2A5BD24500BFA976 /* RetryMechanismTests.swift */, ); - path = Helpers; + path = Infrastructure; sourceTree = ""; }; - BD6BDB5429FBC1360006B04A /* Tracker */ = { + BDE4678C2A5BD72000BFA976 /* ClickstreamLib */ = { isa = PBXGroup; children = ( - BD6BDB5529FBC1360006B04A /* Health */, - BD6BDB5929FBC1360006B04A /* Tracker.swift */, - BD6BDB5A29FBC1360006B04A /* Utilities */, - BD6BDB5E29FBC1360006B04A /* HealthContracts */, - BD6BDB6129FBC1360006B04A /* Entities */, + BDE4678D2A5BD72000BFA976 /* NetworkManager */, + BDE467A72A5BD72000BFA976 /* Core */, + BDE467BC2A5BD72000BFA976 /* Contracts */, + BDE467C12A5BD72000BFA976 /* ThirdPartyLibraries */, + BDE467DF2A5BD72000BFA976 /* EventScheduler */, + BDE467F42A5BD72000BFA976 /* EventProcessor */, ); - path = Tracker; + path = ClickstreamLib; sourceTree = ""; }; - BD6BDB5529FBC1360006B04A /* Health */ = { + BDE4678D2A5BD72000BFA976 /* NetworkManager */ = { isa = PBXGroup; children = ( - BD6BDB5629FBC1360006B04A /* HealthTracker.swift */, - BD6BDB5729FBC1360006B04A /* HealthAnalysisEvent.swift */, - BD6BDB5829FBC1360006B04A /* HealthAnalysisEventBatch.swift */, + BDE4678E2A5BD72000BFA976 /* Core */, + BDE467932A5BD72000BFA976 /* Infrastructure */, + BDE467A12A5BD72000BFA976 /* Data */, + BDE467A42A5BD72000BFA976 /* Domain */, ); - path = Health; + path = NetworkManager; sourceTree = ""; }; - BD6BDB5A29FBC1360006B04A /* Utilities */ = { + BDE4678E2A5BD72000BFA976 /* Core */ = { isa = PBXGroup; children = ( - BD6BDB5B29FBC1360006B04A /* TrackerConstants.swift */, - BD6BDB5C29FBC1360006B04A /* Notifiable.swift */, - BD6BDB5D29FBC1360006B04A /* AppVersionChecker.swift */, + BDE4678F2A5BD72000BFA976 /* NetworkBuilder.swift */, + BDE467902A5BD72000BFA976 /* RetryMechanism.swift */, + BDE467912A5BD72000BFA976 /* Dependencies */, ); - path = Utilities; + path = Core; sourceTree = ""; }; - BD6BDB5E29FBC1360006B04A /* HealthContracts */ = { + BDE467912A5BD72000BFA976 /* Dependencies */ = { isa = PBXGroup; children = ( - BD6BDB5F29FBC1360006B04A /* HealthMeta.pb.swift */, - BD6BDB6029FBC1360006B04A /* Health.pb.swift */, + BDE467922A5BD72000BFA976 /* NetworkManagerDependencies.swift */, ); - path = HealthContracts; + path = Dependencies; sourceTree = ""; }; - BD6BDB6129FBC1360006B04A /* Entities */ = { + BDE467932A5BD72000BFA976 /* Infrastructure */ = { isa = PBXGroup; children = ( - BD6BDB6229FBC1360006B04A /* CSLocationDTO.swift */, - BD6BDB6329FBC1360006B04A /* ClickStreamHealthConfigurations.swift */, - BD6BDB6429FBC1360006B04A /* HealthTrackerDTO.swift */, - BD6BDB6529FBC1360006B04A /* CSCommonPropertiesDTO.swift */, + BDE467942A5BD72000BFA976 /* Sockets */, + BDE467972A5BD72000BFA976 /* NetworkService */, + BDE4679B2A5BD72000BFA976 /* Utilities */, ); - path = Entities; + path = Infrastructure; sourceTree = ""; }; - BD8AF585287ED1CB002DD402 /* Sources */ = { + BDE467942A5BD72000BFA976 /* Sockets */ = { isa = PBXGroup; children = ( - BD6BDB3C29FBC1360006B04A /* EventVisualizer */, - BD6BDB5429FBC1360006B04A /* Tracker */, - BDDC872029E6AF350024ED8C /* ETETestSuite */, - BD8AF598287ED1CB002DD402 /* Clickstream */, + BDE467952A5BD72000BFA976 /* Heartbeat.swift */, + BDE467962A5BD72000BFA976 /* SocketHandler.swift */, ); - path = Sources; + path = Sockets; sourceTree = ""; }; - BD8AF598287ED1CB002DD402 /* Clickstream */ = { + BDE467972A5BD72000BFA976 /* NetworkService */ = { isa = PBXGroup; children = ( - BD5E7AB52A0B85FE000F5678 /* ThirdPartyLibraries */, - BD8AF599287ED1CB002DD402 /* NetworkManager */, - BD8AF5B4287ED1CB002DD402 /* Core */, - BD8AF5C9287ED1CB002DD402 /* Contracts */, - BD8AF5CD287ED1CB002DD402 /* EventScheduler */, - BD8AF5E3287ED1CB002DD402 /* EventProcessor */, + BDE467982A5BD72000BFA976 /* NetworkService.swift */, + BDE467992A5BD72000BFA976 /* Connectable.swift */, + BDE4679A2A5BD72000BFA976 /* NetworkConfiguration.swift */, ); - path = Clickstream; + path = NetworkService; sourceTree = ""; }; - BD8AF599287ED1CB002DD402 /* NetworkManager */ = { + BDE4679B2A5BD72000BFA976 /* Utilities */ = { isa = PBXGroup; children = ( - BD8AF59A287ED1CB002DD402 /* Core */, - BD8AF59F287ED1CB002DD402 /* Infrastructure */, - BD8AF5AE287ED1CB002DD402 /* Data */, - BD8AF5B1287ED1CB002DD402 /* Domain */, + BDE4679C2A5BD72000BFA976 /* Atomic.swift */, + BDE4679D2A5BD72000BFA976 /* DeviceStatusNotifier.swift */, + BDE4679E2A5BD72000BFA976 /* NetworkReachability.swift */, + BDE4679F2A5BD72000BFA976 /* DispatchSourceTimer+RepeatingTimer.swift */, + BDE467A02A5BD72000BFA976 /* KeepAliveService.swift */, ); - path = NetworkManager; + path = Utilities; sourceTree = ""; }; - BD8AF59A287ED1CB002DD402 /* Core */ = { + BDE467A12A5BD72000BFA976 /* Data */ = { isa = PBXGroup; children = ( - BD8AF59B287ED1CB002DD402 /* NetworkBuilder.swift */, - BD8AF59C287ED1CB002DD402 /* RetryMechanism.swift */, - BD8AF59D287ED1CB002DD402 /* Dependencies */, + BDE467A22A5BD72000BFA976 /* ProtoConvertible */, ); - path = Core; + path = Data; sourceTree = ""; }; - BD8AF59D287ED1CB002DD402 /* Dependencies */ = { + BDE467A22A5BD72000BFA976 /* ProtoConvertible */ = { isa = PBXGroup; children = ( - BD8AF59E287ED1CB002DD402 /* NetworkManagerDependencies.swift */, + BDE467A32A5BD72000BFA976 /* ProtoConvertible.swift */, ); - path = Dependencies; + path = ProtoConvertible; sourceTree = ""; }; - BD8AF59F287ED1CB002DD402 /* Infrastructure */ = { + BDE467A42A5BD72000BFA976 /* Domain */ = { isa = PBXGroup; children = ( - BD8AF5A0287ED1CB002DD402 /* Sockets */, - BD8AF5A3287ED1CB002DD402 /* NetworkService */, - BD8AF5A8287ED1CB002DD402 /* Utilities */, + BDE467A52A5BD72000BFA976 /* Entities */, ); - path = Infrastructure; + path = Domain; sourceTree = ""; }; - BD8AF5A0287ED1CB002DD402 /* Sockets */ = { + BDE467A52A5BD72000BFA976 /* Entities */ = { isa = PBXGroup; children = ( - BD8AF5A1287ED1CB002DD402 /* Heartbeat.swift */, - BD8AF5A2287ED1CB002DD402 /* SocketHandler.swift */, + BDE467A62A5BD72000BFA976 /* EventRequest.swift */, ); - path = Sockets; + path = Entities; sourceTree = ""; }; - BD8AF5A3287ED1CB002DD402 /* NetworkService */ = { + BDE467A72A5BD72000BFA976 /* Core */ = { isa = PBXGroup; children = ( - BD8AF5A5287ED1CB002DD402 /* NetworkService.swift */, - BD8AF5A6287ED1CB002DD402 /* Connectable.swift */, - BD8AF5A7287ED1CB002DD402 /* NetworkConfiguration.swift */, + BDE467A82A5BD72000BFA976 /* Interface */, + BDE467AA2A5BD72000BFA976 /* Dependencies */, + BDE467AC2A5BD72000BFA976 /* Data */, + BDE467B72A5BD72000BFA976 /* Domain */, ); - path = NetworkService; + path = Core; sourceTree = ""; }; - BD8AF5A8287ED1CB002DD402 /* Utilities */ = { + BDE467A82A5BD72000BFA976 /* Interface */ = { isa = PBXGroup; children = ( - BD8AF5A9287ED1CB002DD402 /* Atomic.swift */, - BD8AF5AA287ED1CB002DD402 /* DeviceStatusNotifier.swift */, - BD8AF5AB287ED1CB002DD402 /* NetworkReachability.swift */, - BD8AF5AC287ED1CB002DD402 /* DispatchSourceTimer+RepeatingTimer.swift */, - BD8AF5AD287ED1CB002DD402 /* KeepAliveService.swift */, + BDE467A92A5BD72000BFA976 /* ClickStream.swift */, ); - path = Utilities; + path = Interface; + sourceTree = ""; + }; + BDE467AA2A5BD72000BFA976 /* Dependencies */ = { + isa = PBXGroup; + children = ( + BDE467AB2A5BD72000BFA976 /* ClickstreamDependencies.swift */, + ); + path = Dependencies; sourceTree = ""; }; - BD8AF5AE287ED1CB002DD402 /* Data */ = { + BDE467AC2A5BD72000BFA976 /* Data */ = { isa = PBXGroup; children = ( - BD8AF5AF287ED1CB002DD402 /* ProtoConvertible */, + BDE467AD2A5BD72000BFA976 /* Constraints */, + BDE467B02A5BD72000BFA976 /* Constants */, + BDE467B22A5BD72000BFA976 /* Utilities */, ); path = Data; sourceTree = ""; }; - BD8AF5AF287ED1CB002DD402 /* ProtoConvertible */ = { + BDE467AD2A5BD72000BFA976 /* Constraints */ = { isa = PBXGroup; children = ( - BD8AF5B0287ED1CB002DD402 /* ProtoConvertible.swift */, + BDE467AE2A5BD72000BFA976 /* ClickStreamConstraints.swift */, + BDE467AF2A5BD72000BFA976 /* ClickStreamEventClassification.swift */, ); - path = ProtoConvertible; + path = Constraints; + sourceTree = ""; + }; + BDE467B02A5BD72000BFA976 /* Constants */ = { + isa = PBXGroup; + children = ( + BDE467B12A5BD72000BFA976 /* Constants.swift */, + ); + path = Constants; + sourceTree = ""; + }; + BDE467B22A5BD72000BFA976 /* Utilities */ = { + isa = PBXGroup; + children = ( + BDE467B32A5BD72000BFA976 /* Reachability+Extension.swift */, + BDE467B42A5BD72000BFA976 /* JSONStringDecoder.swift */, + BDE467B52A5BD72000BFA976 /* Logger.swift */, + BDE467B62A5BD72000BFA976 /* DeviceInfo.swift */, + ); + path = Utilities; sourceTree = ""; }; - BD8AF5B1287ED1CB002DD402 /* Domain */ = { + BDE467B72A5BD72000BFA976 /* Domain */ = { isa = PBXGroup; children = ( - BD8AF5B2287ED1CB002DD402 /* Entities */, + BDE467B82A5BD72000BFA976 /* Entities */, ); path = Domain; sourceTree = ""; }; - BD8AF5B2287ED1CB002DD402 /* Entities */ = { + BDE467B82A5BD72000BFA976 /* Entities */ = { isa = PBXGroup; children = ( - BD8AF5B3287ED1CB002DD402 /* EventRequest.swift */, + BDE467B92A5BD72000BFA976 /* Event.swift */, + BDE467BA2A5BD72000BFA976 /* ClickstreamEvent.swift */, + BDE467BB2A5BD72000BFA976 /* EventBatch.swift */, ); path = Entities; sourceTree = ""; }; - BD8AF5B4287ED1CB002DD402 /* Core */ = { + BDE467BC2A5BD72000BFA976 /* Contracts */ = { isa = PBXGroup; children = ( - BD8AF5B5287ED1CB002DD402 /* Interface */, - BD8AF5B7287ED1CB002DD402 /* Dependencies */, - BD8AF5B9287ED1CB002DD402 /* Data */, - BD8AF5C4287ED1CB002DD402 /* Domain */, + BDE467BD2A5BD72000BFA976 /* EventRequest.pb.swift */, + BDE467BE2A5BD72000BFA976 /* EteExperiment.pb.swift */, + BDE467BF2A5BD72000BFA976 /* EventResponse.pb.swift */, + BDE467C02A5BD72000BFA976 /* Event.pb.swift */, ); - path = Core; + path = Contracts; sourceTree = ""; }; - BD8AF5B5287ED1CB002DD402 /* Interface */ = { + BDE467C12A5BD72000BFA976 /* ThirdPartyLibraries */ = { isa = PBXGroup; children = ( - BD8AF5B6287ED1CB002DD402 /* ClickStream.swift */, + BDE467C22A5BD72000BFA976 /* Sources */, ); - path = Interface; + path = ThirdPartyLibraries; sourceTree = ""; }; - BD8AF5B7287ED1CB002DD402 /* Dependencies */ = { + BDE467C22A5BD72000BFA976 /* Sources */ = { isa = PBXGroup; children = ( - BD8AF5B8287ED1CB002DD402 /* ClickstreamDependencies.swift */, + BDE467C32A5BD72000BFA976 /* Transport */, + BDE467C72A5BD72000BFA976 /* Security */, + BDE467CA2A5BD72000BFA976 /* DataBytes */, + BDE467CC2A5BD72000BFA976 /* Server */, + BDE467CF2A5BD72000BFA976 /* Framer */, + BDE467D62A5BD72000BFA976 /* Compression */, + BDE467D92A5BD72000BFA976 /* Starscream */, + BDE467DB2A5BD72000BFA976 /* Engine */, ); - path = Dependencies; + path = Sources; sourceTree = ""; }; - BD8AF5B9287ED1CB002DD402 /* Data */ = { + BDE467C32A5BD72000BFA976 /* Transport */ = { isa = PBXGroup; children = ( - BD8AF5BA287ED1CB002DD402 /* Constraints */, - BD8AF5BD287ED1CB002DD402 /* Constants */, - BD8AF5BF287ED1CB002DD402 /* Utilities */, + BDE467C42A5BD72000BFA976 /* Transport.swift */, + BDE467C52A5BD72000BFA976 /* FoundationTransport.swift */, + BDE467C62A5BD72000BFA976 /* TCPTransport.swift */, ); - path = Data; + path = Transport; sourceTree = ""; }; - BD8AF5BA287ED1CB002DD402 /* Constraints */ = { + BDE467C72A5BD72000BFA976 /* Security */ = { isa = PBXGroup; children = ( - BD8AF5BB287ED1CB002DD402 /* ClickStreamConstraints.swift */, - BD8AF5BC287ED1CB002DD402 /* ClickStreamEventClassification.swift */, + BDE467C82A5BD72000BFA976 /* Security.swift */, + BDE467C92A5BD72000BFA976 /* FoundationSecurity.swift */, ); - path = Constraints; + path = Security; sourceTree = ""; }; - BD8AF5BD287ED1CB002DD402 /* Constants */ = { + BDE467CA2A5BD72000BFA976 /* DataBytes */ = { isa = PBXGroup; children = ( - BD8AF5BE287ED1CB002DD402 /* Constants.swift */, + BDE467CB2A5BD72000BFA976 /* Data+Extensions.swift */, ); - path = Constants; + path = DataBytes; sourceTree = ""; }; - BD8AF5BF287ED1CB002DD402 /* Utilities */ = { + BDE467CC2A5BD72000BFA976 /* Server */ = { isa = PBXGroup; children = ( - BD8AF5C0287ED1CB002DD402 /* Reachability+Extension.swift */, - BD8AF5C1287ED1CB002DD402 /* JSONStringDecoder.swift */, - BD8AF5C2287ED1CB002DD402 /* Logger.swift */, - BD8AF5C3287ED1CB002DD402 /* DeviceInfo.swift */, + BDE467CD2A5BD72000BFA976 /* Server.swift */, + BDE467CE2A5BD72000BFA976 /* WebSocketServer.swift */, ); - path = Utilities; + path = Server; sourceTree = ""; }; - BD8AF5C4287ED1CB002DD402 /* Domain */ = { + BDE467CF2A5BD72000BFA976 /* Framer */ = { isa = PBXGroup; children = ( - BD8AF5C5287ED1CB002DD402 /* Entities */, + BDE467D02A5BD72000BFA976 /* FoundationHTTPHandler.swift */, + BDE467D12A5BD72000BFA976 /* HTTPHandler.swift */, + BDE467D22A5BD72000BFA976 /* FrameCollector.swift */, + BDE467D32A5BD72000BFA976 /* StringHTTPHandler.swift */, + BDE467D42A5BD72000BFA976 /* FoundationHTTPServerHandler.swift */, + BDE467D52A5BD72000BFA976 /* Framer.swift */, ); - path = Domain; + path = Framer; sourceTree = ""; }; - BD8AF5C5287ED1CB002DD402 /* Entities */ = { + BDE467D62A5BD72000BFA976 /* Compression */ = { isa = PBXGroup; children = ( - BD8AF5C6287ED1CB002DD402 /* Event.swift */, - BD8AF5C7287ED1CB002DD402 /* ClickstreamEvent.swift */, - BD8AF5C8287ED1CB002DD402 /* EventBatch.swift */, + BDE467D72A5BD72000BFA976 /* Compression.swift */, + BDE467D82A5BD72000BFA976 /* WSCompression.swift */, ); - path = Entities; + path = Compression; sourceTree = ""; }; - BD8AF5C9287ED1CB002DD402 /* Contracts */ = { + BDE467D92A5BD72000BFA976 /* Starscream */ = { isa = PBXGroup; children = ( - BD8AF5CA287ED1CB002DD402 /* EventRequest.pb.swift */, - BD8AF5CB287ED1CB002DD402 /* EventResponse.pb.swift */, - BD8AF5CC287ED1CB002DD402 /* Event.pb.swift */, - BDDC873529E7D6AC0024ED8C /* EteExperiment.pb.swift */, + BDE467DA2A5BD72000BFA976 /* WebSocket.swift */, ); - path = Contracts; + path = Starscream; + sourceTree = ""; + }; + BDE467DB2A5BD72000BFA976 /* Engine */ = { + isa = PBXGroup; + children = ( + BDE467DC2A5BD72000BFA976 /* Engine.swift */, + BDE467DD2A5BD72000BFA976 /* NativeEngine.swift */, + BDE467DE2A5BD72000BFA976 /* WSEngine.swift */, + ); + path = Engine; sourceTree = ""; }; - BD8AF5CD287ED1CB002DD402 /* EventScheduler */ = { + BDE467DF2A5BD72000BFA976 /* EventScheduler */ = { isa = PBXGroup; children = ( - BD8AF5CE287ED1CB002DD402 /* Core */, - BD8AF5D3287ED1CB002DD402 /* Infrastructure */, - BD8AF5D9287ED1CB002DD402 /* Data */, - BD8AF5DE287ED1CB002DD402 /* Domain */, + BDE467E02A5BD72000BFA976 /* Core */, + BDE467E52A5BD72000BFA976 /* Infrastructure */, + BDE467EB2A5BD72000BFA976 /* Data */, + BDE467F02A5BD72000BFA976 /* Domain */, ); path = EventScheduler; sourceTree = ""; }; - BD8AF5CE287ED1CB002DD402 /* Core */ = { + BDE467E02A5BD72000BFA976 /* Core */ = { isa = PBXGroup; children = ( - BD8AF5CF287ED1CB002DD402 /* EventBatchCreator.swift */, - BD8AF5D0287ED1CB002DD402 /* EventSchedulerDependencies.swift */, - BD8AF5D1287ED1CB002DD402 /* EventWarehouser.swift */, - BD8AF5D2287ED1CB002DD402 /* EventBatchProcessor.swift */, + BDE467E12A5BD72000BFA976 /* EventBatchCreator.swift */, + BDE467E22A5BD72000BFA976 /* EventSchedulerDependencies.swift */, + BDE467E32A5BD72000BFA976 /* EventWarehouser.swift */, + BDE467E42A5BD72000BFA976 /* EventBatchProcessor.swift */, ); path = Core; sourceTree = ""; }; - BD8AF5D3287ED1CB002DD402 /* Infrastructure */ = { + BDE467E52A5BD72000BFA976 /* Infrastructure */ = { isa = PBXGroup; children = ( - BD8AF5D4287ED1CB002DD402 /* Utilities */, + BDE467E62A5BD72000BFA976 /* Utilities */, ); path = Infrastructure; sourceTree = ""; }; - BD8AF5D4287ED1CB002DD402 /* Utilities */ = { + BDE467E62A5BD72000BFA976 /* Utilities */ = { isa = PBXGroup; children = ( - BD8AF5D5287ED1CB002DD402 /* AppStateNotifierService.swift */, - BD8AF5D6287ED1CB002DD402 /* EventBatchSizeRegulator.swift */, - BD8AF5D7287ED1CB002DD402 /* SchedulerService.swift */, - BD8AF5D8287ED1CB002DD402 /* SortedArray.swift */, + BDE467E72A5BD72000BFA976 /* AppStateNotifierService.swift */, + BDE467E82A5BD72000BFA976 /* EventBatchSizeRegulator.swift */, + BDE467E92A5BD72000BFA976 /* SchedulerService.swift */, + BDE467EA2A5BD72000BFA976 /* SortedArray.swift */, ); path = Utilities; sourceTree = ""; }; - BD8AF5D9287ED1CB002DD402 /* Data */ = { + BDE467EB2A5BD72000BFA976 /* Data */ = { isa = PBXGroup; children = ( - BD8AF5DA287ED1CB002DD402 /* Persistence */, + BDE467EC2A5BD72000BFA976 /* Persistence */, ); path = Data; sourceTree = ""; }; - BD8AF5DA287ED1CB002DD402 /* Persistence */ = { + BDE467EC2A5BD72000BFA976 /* Persistence */ = { isa = PBXGroup; children = ( - BD8AF5DB287ED1CB002DD402 /* Database */, - BD8AF5DD287ED1CB002DD402 /* DatabaseDAO.swift */, + BDE467ED2A5BD72000BFA976 /* Database */, + BDE467EF2A5BD72000BFA976 /* DatabaseDAO.swift */, ); path = Persistence; sourceTree = ""; }; - BD8AF5DB287ED1CB002DD402 /* Database */ = { + BDE467ED2A5BD72000BFA976 /* Database */ = { isa = PBXGroup; children = ( - BD8AF5DC287ED1CB002DD402 /* DatabaseHandler.swift */, + BDE467EE2A5BD72000BFA976 /* DatabaseHandler.swift */, ); path = Database; sourceTree = ""; }; - BD8AF5DE287ED1CB002DD402 /* Domain */ = { + BDE467F02A5BD72000BFA976 /* Domain */ = { isa = PBXGroup; children = ( - BD8AF5DF287ED1CB002DD402 /* Protocols */, + BDE467F12A5BD72000BFA976 /* Protocols */, ); path = Domain; sourceTree = ""; }; - BD8AF5DF287ED1CB002DD402 /* Protocols */ = { + BDE467F12A5BD72000BFA976 /* Protocols */ = { isa = PBXGroup; children = ( - BD8AF5E0287ED1CB002DD402 /* TableDefinable.swift */, - BD8AF5E1287ED1CB002DD402 /* DatabasePersistable.swift */, + BDE467F22A5BD72000BFA976 /* TableDefinable.swift */, + BDE467F32A5BD72000BFA976 /* DatabasePersistable.swift */, ); path = Protocols; sourceTree = ""; }; - BD8AF5E3287ED1CB002DD402 /* EventProcessor */ = { + BDE467F42A5BD72000BFA976 /* EventProcessor */ = { isa = PBXGroup; children = ( - BD8AF5E4287ED1CB002DD402 /* Core */, + BDE467F52A5BD72000BFA976 /* Core */, ); path = EventProcessor; sourceTree = ""; }; - BD8AF5E4287ED1CB002DD402 /* Core */ = { + BDE467F52A5BD72000BFA976 /* Core */ = { isa = PBXGroup; children = ( - BD8AF5E5287ED1CB002DD402 /* EventClassifier.swift */, - BD8AF5E6287ED1CB002DD402 /* EventProcessor.swift */, - BD8AF5E7287ED1CB002DD402 /* EventProcessorDependencies.swift */, + BDE467F62A5BD72000BFA976 /* EventClassifier.swift */, + BDE467F72A5BD72000BFA976 /* EventProcessor.swift */, + BDE467F82A5BD72000BFA976 /* EventProcessorDependencies.swift */, ); path = Core; sourceTree = ""; }; - BDDC872029E6AF350024ED8C /* ETETestSuite */ = { - isa = PBXGroup; - children = ( - BDDC872129E6AF580024ED8C /* FileManagerOverride.swift */, - ); - path = ETETestSuite; - sourceTree = ""; - }; /* End PBXGroup section */ /* Begin PBXNativeTarget section */ - 68E7BADE244F08C00072549A /* Clickstream */ = { + 68E7BADE244F08C00072549A /* ClickstreamLib */ = { isa = PBXNativeTarget; - buildConfigurationList = 68E7BAE6244F08C00072549A /* Build configuration list for PBXNativeTarget "Clickstream" */; + buildConfigurationList = 68E7BAE6244F08C00072549A /* Build configuration list for PBXNativeTarget "ClickstreamLib" */; buildPhases = ( 68E7BADB244F08C00072549A /* Sources */, 68E7BADC244F08C00072549A /* Frameworks */, @@ -1154,9 +1171,9 @@ ); dependencies = ( ); - name = Clickstream; + name = ClickstreamLib; productName = ClickStream; - productReference = 68E7BADF244F08C00072549A /* libClickstream.a */; + productReference = 68E7BADF244F08C00072549A /* libClickstreamLib.a */; productType = "com.apple.product-type.library.static"; }; 68E7BD1A2456E6F10072549A /* ClickstreamTests */ = { @@ -1195,7 +1212,7 @@ }; }; }; - buildConfigurationList = 68E7BADA244F08C00072549A /* Build configuration list for PBXProject "Clickstream" */; + buildConfigurationList = 68E7BADA244F08C00072549A /* Build configuration list for PBXProject "ClickstreamLib" */; compatibilityVersion = "Xcode 9.3"; developmentRegion = en; hasScannedForEncodings = 0; @@ -1208,7 +1225,7 @@ projectDirPath = ""; projectRoot = ""; targets = ( - 68E7BADE244F08C00072549A /* Clickstream */, + 68E7BADE244F08C00072549A /* ClickstreamLib */, 68E7BD1A2456E6F10072549A /* ClickstreamTests */, ); }; @@ -1259,100 +1276,100 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - BD8AF642287ED1CC002DD402 /* Constants.swift in Sources */, BD6BDB7229FBC1360006B04A /* EventVisualizerLandingViewController.swift in Sources */, - BD8AF63E287ED1CC002DD402 /* ClickStreamConstraints.swift in Sources */, + BDE468452A5BD72000BFA976 /* WebSocketServer.swift in Sources */, BD6BDB7629FBC1360006B04A /* EventsListViewModel.swift in Sources */, - BD8AF62E287ED1CC002DD402 /* DeviceStatusNotifier.swift in Sources */, - BD5E7BD82A0B94BF000F5678 /* TCPTransport.swift in Sources */, - BD8AF666287ED1CC002DD402 /* SortedArray.swift in Sources */, BD6BDB7429FBC1360006B04A /* EventsListViewController.swift in Sources */, - BD8AF654287ED1CC002DD402 /* EventResponse.pb.swift in Sources */, + BDE468232A5BD72000BFA976 /* JSONStringDecoder.swift in Sources */, BD6BDB9829FBC1360006B04A /* CSLocationDTO.swift in Sources */, - BD5E7BF82A0B94BF000F5678 /* NativeEngine.swift in Sources */, - BD8AF66C287ED1CC002DD402 /* TableDefinable.swift in Sources */, - BD8AF640287ED1CC002DD402 /* ClickStreamEventClassification.swift in Sources */, - BD5E7BDE2A0B94BF000F5678 /* Data+Extensions.swift in Sources */, - BD5E7BF42A0B94BF000F5678 /* WebSocket.swift in Sources */, - BD8AF664287ED1CC002DD402 /* SchedulerService.swift in Sources */, - BD8AF65C287ED1CC002DD402 /* EventWarehouser.swift in Sources */, - BD5E7BF62A0B94BF000F5678 /* Engine.swift in Sources */, - BD5E7BE62A0B94BF000F5678 /* HTTPHandler.swift in Sources */, - BD8AF660287ED1CC002DD402 /* AppStateNotifierService.swift in Sources */, + BDE468132A5BD72000BFA976 /* ProtoConvertible.swift in Sources */, BD6BDB7029FBC1360006B04A /* EventVisualizerLandingViewModel.swift in Sources */, - BD5E7BD42A0B94BF000F5678 /* Transport.swift in Sources */, + BDE468372A5BD72000BFA976 /* Transport.swift in Sources */, + BDE468092A5BD72000BFA976 /* Atomic.swift in Sources */, + BDE468492A5BD72000BFA976 /* HTTPHandler.swift in Sources */, + BDE467F92A5BD72000BFA976 /* NetworkBuilder.swift in Sources */, BD6BDB6A29FBC1360006B04A /* RadioLabelTableViewCell.swift in Sources */, - BD8AF63C287ED1CC002DD402 /* ClickstreamDependencies.swift in Sources */, - BD8AF63A287ED1CC002DD402 /* ClickStream.swift in Sources */, - BD8AF672287ED1CC002DD402 /* EventClassifier.swift in Sources */, + BDE468572A5BD72000BFA976 /* WebSocket.swift in Sources */, BD6BDB9E29FBC1360006B04A /* CSCommonPropertiesDTO.swift in Sources */, BD6BDB9A29FBC1360006B04A /* ClickStreamHealthConfigurations.swift in Sources */, - BD8AF638287ED1CC002DD402 /* EventRequest.swift in Sources */, - BD8AF662287ED1CC002DD402 /* EventBatchSizeRegulator.swift in Sources */, - BD8AF61C287ED1CC002DD402 /* RetryMechanism.swift in Sources */, + BDE468752A5BD72000BFA976 /* DatabasePersistable.swift in Sources */, + BDE468012A5BD72000BFA976 /* SocketHandler.swift in Sources */, BD6BDB9029FBC1360006B04A /* Notifiable.swift in Sources */, - BDDC873629E7D6AC0024ED8C /* EteExperiment.pb.swift in Sources */, - BD8AF66E287ED1CC002DD402 /* DatabasePersistable.swift in Sources */, BD6BDB9C29FBC1360006B04A /* HealthTrackerDTO.swift in Sources */, - BD5E7BEC2A0B94BF000F5678 /* FoundationHTTPServerHandler.swift in Sources */, - BD8AF658287ED1CC002DD402 /* EventBatchCreator.swift in Sources */, - BD8AF66A287ED1CC002DD402 /* DatabaseDAO.swift in Sources */, - BD8AF62A287ED1CC002DD402 /* NetworkConfiguration.swift in Sources */, + BDE468272A5BD72000BFA976 /* DeviceInfo.swift in Sources */, + BDE4682D2A5BD72000BFA976 /* EventBatch.swift in Sources */, BD6BDB7E29FBC1360006B04A /* EventsHelper.swift in Sources */, - BD5E7BDC2A0B94BF000F5678 /* FoundationSecurity.swift in Sources */, + BDE4685F2A5BD72000BFA976 /* EventBatchCreator.swift in Sources */, + BDE4684B2A5BD72000BFA976 /* FrameCollector.swift in Sources */, BD6BDB8C29FBC1360006B04A /* Tracker.swift in Sources */, - BD8AF646287ED1CC002DD402 /* JSONStringDecoder.swift in Sources */, - BD8AF656287ED1CC002DD402 /* Event.pb.swift in Sources */, + BDE468732A5BD72000BFA976 /* TableDefinable.swift in Sources */, + BDE4685D2A5BD72000BFA976 /* WSEngine.swift in Sources */, + BDE4682F2A5BD72000BFA976 /* EventRequest.pb.swift in Sources */, + BDE4683B2A5BD72000BFA976 /* TCPTransport.swift in Sources */, BD6BDB8029FBC1360006B04A /* UITableViewExtensions.swift in Sources */, - BD5E7BE02A0B94BF000F5678 /* Server.swift in Sources */, - BD5E7BD62A0B94BF000F5678 /* FoundationTransport.swift in Sources */, - BD8AF620287ED1CC002DD402 /* Heartbeat.swift in Sources */, - BD5E7BFA2A0B94BF000F5678 /* WSEngine.swift in Sources */, - BD8AF626287ED1CC002DD402 /* NetworkService.swift in Sources */, BD6BDB9429FBC1360006B04A /* HealthMeta.pb.swift in Sources */, - BD5E7BE22A0B94BF000F5678 /* WebSocketServer.swift in Sources */, - BD8AF634287ED1CC002DD402 /* KeepAliveService.swift in Sources */, - BD8AF668287ED1CC002DD402 /* DatabaseHandler.swift in Sources */, - BD8AF630287ED1CC002DD402 /* NetworkReachability.swift in Sources */, - BD8AF61A287ED1CC002DD402 /* NetworkBuilder.swift in Sources */, - BD8AF64C287ED1CC002DD402 /* Event.swift in Sources */, BD6BDB9629FBC1360006B04A /* Health.pb.swift in Sources */, - BD8AF636287ED1CC002DD402 /* ProtoConvertible.swift in Sources */, + BDE467FD2A5BD72000BFA976 /* NetworkManagerDependencies.swift in Sources */, + BDE4680B2A5BD72000BFA976 /* DeviceStatusNotifier.swift in Sources */, + BDE468292A5BD72000BFA976 /* Event.swift in Sources */, + BDE468432A5BD72000BFA976 /* Server.swift in Sources */, + BDE4680D2A5BD72000BFA976 /* NetworkReachability.swift in Sources */, + BDE468472A5BD72000BFA976 /* FoundationHTTPHandler.swift in Sources */, + BDE4682B2A5BD72000BFA976 /* ClickstreamEvent.swift in Sources */, + BDE468312A5BD72000BFA976 /* EteExperiment.pb.swift in Sources */, + BDE468152A5BD72000BFA976 /* EventRequest.swift in Sources */, + BDE4681F2A5BD72000BFA976 /* Constants.swift in Sources */, + BDE468692A5BD72000BFA976 /* EventBatchSizeRegulator.swift in Sources */, + BDE468792A5BD72000BFA976 /* EventProcessor.swift in Sources */, + BDE468252A5BD72000BFA976 /* Logger.swift in Sources */, + BDE4683F2A5BD72000BFA976 /* FoundationSecurity.swift in Sources */, + BDE468592A5BD72000BFA976 /* Engine.swift in Sources */, + BDE468352A5BD72000BFA976 /* Event.pb.swift in Sources */, + BDE4686D2A5BD72000BFA976 /* SortedArray.swift in Sources */, + BDE4687B2A5BD72000BFA976 /* EventProcessorDependencies.swift in Sources */, BD6BDB7A29FBC1360006B04A /* EventDetailsViewController.swift in Sources */, - BD8AF648287ED1CC002DD402 /* Logger.swift in Sources */, - BD5E7BEE2A0B94BF000F5678 /* Framer.swift in Sources */, - BD5E7BF22A0B94BF000F5678 /* WSCompression.swift in Sources */, BD6BDB9229FBC1360006B04A /* AppVersionChecker.swift in Sources */, - BD5E7BF02A0B94BF000F5678 /* Compression.swift in Sources */, + BDE4681D2A5BD72000BFA976 /* ClickStreamEventClassification.swift in Sources */, + BDE468612A5BD72000BFA976 /* EventSchedulerDependencies.swift in Sources */, BD6BDB8629FBC1360006B04A /* HealthTracker.swift in Sources */, + BDE468552A5BD72000BFA976 /* WSCompression.swift in Sources */, + BDE4680F2A5BD72000BFA976 /* DispatchSourceTimer+RepeatingTimer.swift in Sources */, BD6BDB8429FBC1360006B04A /* CollectionMapper.swift in Sources */, - BD8AF64A287ED1CC002DD402 /* DeviceInfo.swift in Sources */, - BD8AF65A287ED1CC002DD402 /* EventSchedulerDependencies.swift in Sources */, - BD8AF628287ED1CC002DD402 /* Connectable.swift in Sources */, - BD8AF676287ED1CC002DD402 /* EventProcessorDependencies.swift in Sources */, - BD8AF652287ED1CC002DD402 /* EventRequest.pb.swift in Sources */, + BDE4683D2A5BD72000BFA976 /* Security.swift in Sources */, + BDE4686B2A5BD72000BFA976 /* SchedulerService.swift in Sources */, + BDE468032A5BD72000BFA976 /* NetworkService.swift in Sources */, + BDE468072A5BD72000BFA976 /* NetworkConfiguration.swift in Sources */, + BDE4686F2A5BD72000BFA976 /* DatabaseHandler.swift in Sources */, + BDE4684D2A5BD72000BFA976 /* StringHTTPHandler.swift in Sources */, + BDE468632A5BD72000BFA976 /* EventWarehouser.swift in Sources */, + BDE468052A5BD72000BFA976 /* Connectable.swift in Sources */, + BDE467FB2A5BD72000BFA976 /* RetryMechanism.swift in Sources */, + BDE468192A5BD72000BFA976 /* ClickstreamDependencies.swift in Sources */, + BDE468772A5BD72000BFA976 /* EventClassifier.swift in Sources */, + BDE468532A5BD72000BFA976 /* Compression.swift in Sources */, + BDE468712A5BD72000BFA976 /* DatabaseDAO.swift in Sources */, + BDE468512A5BD72000BFA976 /* Framer.swift in Sources */, BD6BDB8229FBC1360006B04A /* EventStateViewable.swift in Sources */, BD6BDB6E29FBC1360006B04A /* EventsListingTableViewCell.swift in Sources */, - BD5E7BDA2A0B94BF000F5678 /* Security.swift in Sources */, - BD8AF622287ED1CC002DD402 /* SocketHandler.swift in Sources */, - BD8AF65E287ED1CC002DD402 /* EventBatchProcessor.swift in Sources */, + BDE4684F2A5BD72000BFA976 /* FoundationHTTPServerHandler.swift in Sources */, + BDE468392A5BD72000BFA976 /* FoundationTransport.swift in Sources */, + BDE468672A5BD72000BFA976 /* AppStateNotifierService.swift in Sources */, BD6BDB8829FBC1360006B04A /* HealthAnalysisEvent.swift in Sources */, - BD8AF674287ED1CC002DD402 /* EventProcessor.swift in Sources */, - BD5E7BEA2A0B94BF000F5678 /* StringHTTPHandler.swift in Sources */, - BD8AF632287ED1CC002DD402 /* DispatchSourceTimer+RepeatingTimer.swift in Sources */, - BD5E7BE82A0B94BF000F5678 /* FrameCollector.swift in Sources */, BD6BDB6C29FBC1360006B04A /* FilterTextFieldTableViewCell.swift in Sources */, + BDE467FF2A5BD72000BFA976 /* Heartbeat.swift in Sources */, + BDE468652A5BD72000BFA976 /* EventBatchProcessor.swift in Sources */, + BDE468212A5BD72000BFA976 /* Reachability+Extension.swift in Sources */, BD6BDB8A29FBC1360006B04A /* HealthAnalysisEventBatch.swift in Sources */, BDDC872229E6AF580024ED8C /* FileManagerOverride.swift in Sources */, - BD8AF61E287ED1CC002DD402 /* NetworkManagerDependencies.swift in Sources */, BD6BDB7C29FBC1360006B04A /* FilterViewController.swift in Sources */, - BD8AF64E287ED1CC002DD402 /* ClickstreamEvent.swift in Sources */, - BD8AF644287ED1CC002DD402 /* Reachability+Extension.swift in Sources */, - BD8AF62C287ED1CC002DD402 /* Atomic.swift in Sources */, - BD8AF650287ED1CC002DD402 /* EventBatch.swift in Sources */, + BDE468112A5BD72000BFA976 /* KeepAliveService.swift in Sources */, + BDE468412A5BD72000BFA976 /* Data+Extensions.swift in Sources */, + BDE4685B2A5BD72000BFA976 /* NativeEngine.swift in Sources */, BD6BDB8E29FBC1360006B04A /* TrackerConstants.swift in Sources */, + BDE468332A5BD72000BFA976 /* EventResponse.pb.swift in Sources */, + BDE4681B2A5BD72000BFA976 /* ClickStreamConstraints.swift in Sources */, + BDE468172A5BD72000BFA976 /* ClickStream.swift in Sources */, BD6BDB7829FBC1360006B04A /* EventDetailsViewModel.swift in Sources */, - BD5E7BE42A0B94BF000F5678 /* FoundationHTTPHandler.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1360,125 +1377,128 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 9AF0C75D280DECC400E39A12 /* EventProcessorDependenciesTests.swift in Sources */, - BD8AF623287ED1CC002DD402 /* SocketHandler.swift in Sources */, - BD5E7BE72A0B94BF000F5678 /* HTTPHandler.swift in Sources */, - BD5E7BDD2A0B94BF000F5678 /* FoundationSecurity.swift in Sources */, - 681EAB4124897822003AB41A /* AppStateNotifierMock.swift in Sources */, - BD5E7BD72A0B94BF000F5678 /* FoundationTransport.swift in Sources */, - BD8AF639287ED1CC002DD402 /* EventRequest.swift in Sources */, - BD5E7BD92A0B94BF000F5678 /* TCPTransport.swift in Sources */, - BD8AF62D287ED1CC002DD402 /* Atomic.swift in Sources */, - BD5E7BEF2A0B94BF000F5678 /* Framer.swift in Sources */, + BDE468542A5BD72000BFA976 /* Compression.swift in Sources */, BD6BDB9F29FBC1360006B04A /* CSCommonPropertiesDTO.swift in Sources */, - BD8AF64B287ED1CC002DD402 /* DeviceInfo.swift in Sources */, - 68316329260CB2690095DBCA /* BatchSizeRegulatorMock.swift in Sources */, - BD5E7BE52A0B94BF000F5678 /* FoundationHTTPHandler.swift in Sources */, - BD8AF65B287ED1CC002DD402 /* EventSchedulerDependencies.swift in Sources */, - BD8AF661287ED1CC002DD402 /* AppStateNotifierService.swift in Sources */, + BDE467752A5BD24500BFA976 /* BatchSizeRegulatorMock.swift in Sources */, + BDE4680E2A5BD72000BFA976 /* NetworkReachability.swift in Sources */, + BDE467FC2A5BD72000BFA976 /* RetryMechanism.swift in Sources */, + BDE467862A5BD24500BFA976 /* EventRequestTests.swift in Sources */, + BDE4680A2A5BD72000BFA976 /* Atomic.swift in Sources */, + BDE4686C2A5BD72000BFA976 /* SchedulerService.swift in Sources */, + BDE467742A5BD24500BFA976 /* AppStateNotifierMock.swift in Sources */, BD6BDB7729FBC1360006B04A /* EventsListViewModel.swift in Sources */, + BDE468582A5BD72000BFA976 /* WebSocket.swift in Sources */, + BDE468342A5BD72000BFA976 /* EventResponse.pb.swift in Sources */, + BDE468682A5BD72000BFA976 /* AppStateNotifierService.swift in Sources */, + BDE468122A5BD72000BFA976 /* KeepAliveService.swift in Sources */, BD6BDB9929FBC1360006B04A /* CSLocationDTO.swift in Sources */, - 9AF0C764280DECE500E39A12 /* AppStateNotifierServiceTests.swift in Sources */, - BD8AF61B287ED1CC002DD402 /* NetworkBuilder.swift in Sources */, - BD8AF62B287ED1CC002DD402 /* NetworkConfiguration.swift in Sources */, - BD8AF65F287ED1CC002DD402 /* EventBatchProcessor.swift in Sources */, - 9AF0C767280DECEE00E39A12 /* NetworkServiceTests.swift in Sources */, + BDE468482A5BD72000BFA976 /* FoundationHTTPHandler.swift in Sources */, + BDE4682A2A5BD72000BFA976 /* Event.swift in Sources */, + BDE4676F2A5BD24500BFA976 /* MockConstants.swift in Sources */, + BDE468022A5BD72000BFA976 /* SocketHandler.swift in Sources */, BD6BDB6F29FBC1360006B04A /* EventsListingTableViewCell.swift in Sources */, - BD5E7BED2A0B94BF000F5678 /* FoundationHTTPServerHandler.swift in Sources */, - BD8AF61D287ED1CC002DD402 /* RetryMechanism.swift in Sources */, - BD8AF63D287ED1CC002DD402 /* ClickstreamDependencies.swift in Sources */, + BDE468502A5BD72000BFA976 /* FoundationHTTPServerHandler.swift in Sources */, + BDE468382A5BD72000BFA976 /* Transport.swift in Sources */, + BDE4677A2A5BD24500BFA976 /* DispatchQueue+Detection.swift in Sources */, BD6BDB9B29FBC1360006B04A /* ClickStreamHealthConfigurations.swift in Sources */, - BD8AF643287ED1CC002DD402 /* Constants.swift in Sources */, - BD8AF673287ED1CC002DD402 /* EventClassifier.swift in Sources */, - BD8AF637287ED1CC002DD402 /* ProtoConvertible.swift in Sources */, + BDE468422A5BD72000BFA976 /* Data+Extensions.swift in Sources */, + BDE467882A5BD24500BFA976 /* DeviceStatusNotifierTests.swift in Sources */, + BDE467852A5BD24500BFA976 /* NetworkManagerDependenciesTests.swift in Sources */, + BDE467822A5BD24500BFA976 /* EventProcessorDependenciesTests.swift in Sources */, + BDE467872A5BD24500BFA976 /* KeepAliveServiceTests.swift in Sources */, + BDE4686E2A5BD72000BFA976 /* SortedArray.swift in Sources */, + BDE468162A5BD72000BFA976 /* EventRequest.swift in Sources */, + BDE4683C2A5BD72000BFA976 /* TCPTransport.swift in Sources */, BD6BDB8929FBC1360006B04A /* HealthAnalysisEvent.swift in Sources */, - BD8AF635287ED1CC002DD402 /* KeepAliveService.swift in Sources */, - BD5E7BD52A0B94BF000F5678 /* Transport.swift in Sources */, - BD8AF65D287ED1CC002DD402 /* EventWarehouser.swift in Sources */, - 68E7BD87246028CF0072549A /* SocketHandlerMock.swift in Sources */, - BD8AF621287ED1CC002DD402 /* Heartbeat.swift in Sources */, - 9AF0C758280DEC8C00E39A12 /* ClickStreamTests.swift in Sources */, - BD8AF655287ED1CC002DD402 /* EventResponse.pb.swift in Sources */, - BD8AF651287ED1CC002DD402 /* EventBatch.swift in Sources */, - 9AF0C759280DEC9600E39A12 /* EventTests.swift in Sources */, - BD5E7BE12A0B94BF000F5678 /* Server.swift in Sources */, - BD5E7BE92A0B94BF000F5678 /* FrameCollector.swift in Sources */, - BD8AF645287ED1CC002DD402 /* Reachability+Extension.swift in Sources */, - 9A6AEC9C2A43835A000A1D1D /* MockConstants.swift in Sources */, - 9AF0C761280DECDE00E39A12 /* EventBatchProcessorTests.swift in Sources */, + BDE467782A5BD24500BFA976 /* EventSchedulerDependenciesTests.swift in Sources */, + BDE4681E2A5BD72000BFA976 /* ClickStreamEventClassification.swift in Sources */, + BDE467722A5BD24500BFA976 /* EventBatchTests.swift in Sources */, + BDE468642A5BD72000BFA976 /* EventWarehouser.swift in Sources */, + BDE468462A5BD72000BFA976 /* WebSocketServer.swift in Sources */, + BDE4685C2A5BD72000BFA976 /* NativeEngine.swift in Sources */, + BDE4685A2A5BD72000BFA976 /* Engine.swift in Sources */, BD6BDB9129FBC1360006B04A /* Notifiable.swift in Sources */, - BD8AF629287ED1CC002DD402 /* Connectable.swift in Sources */, - BD8AF649287ED1CC002DD402 /* Logger.swift in Sources */, - 68316339260DC7D00095DBCA /* DatabaseMock.swift in Sources */, - BD8AF66B287ED1CC002DD402 /* DatabaseDAO.swift in Sources */, - 9AF0C75F280DECD800E39A12 /* SchedulerServiceTests.swift in Sources */, BD6BDB9729FBC1360006B04A /* Health.pb.swift in Sources */, + BDE4684E2A5BD72000BFA976 /* StringHTTPHandler.swift in Sources */, BD6BDB7B29FBC1360006B04A /* EventDetailsViewController.swift in Sources */, - BD5E7BF12A0B94BF000F5678 /* Compression.swift in Sources */, + BDE467702A5BD24500BFA976 /* ClickStreamTests.swift in Sources */, + BDE4684C2A5BD72000BFA976 /* FrameCollector.swift in Sources */, + BDE468562A5BD72000BFA976 /* WSCompression.swift in Sources */, + BDE468622A5BD72000BFA976 /* EventSchedulerDependencies.swift in Sources */, + BDE467842A5BD24500BFA976 /* SocketHandlerMock.swift in Sources */, BD6BDB8529FBC1360006B04A /* CollectionMapper.swift in Sources */, - BD5E7BE32A0B94BF000F5678 /* WebSocketServer.swift in Sources */, - BD8AF61F287ED1CC002DD402 /* NetworkManagerDependencies.swift in Sources */, + BDE468402A5BD72000BFA976 /* FoundationSecurity.swift in Sources */, + BDE4681A2A5BD72000BFA976 /* ClickstreamDependencies.swift in Sources */, + BDE467772A5BD24500BFA976 /* EventBatchProcessorTests.swift in Sources */, + BDE468442A5BD72000BFA976 /* Server.swift in Sources */, + BDE468182A5BD72000BFA976 /* ClickStream.swift in Sources */, + BDE468322A5BD72000BFA976 /* EteExperiment.pb.swift in Sources */, BD6BDB7F29FBC1360006B04A /* EventsHelper.swift in Sources */, - BD8AF63B287ED1CC002DD402 /* ClickStream.swift in Sources */, - 687B2A2A246AA756008F2805 /* NetworkReachabilityMock.swift in Sources */, + BDE468002A5BD72000BFA976 /* Heartbeat.swift in Sources */, + BDE468262A5BD72000BFA976 /* Logger.swift in Sources */, + BDE4683E2A5BD72000BFA976 /* Security.swift in Sources */, + BDE468242A5BD72000BFA976 /* JSONStringDecoder.swift in Sources */, + BDE4687A2A5BD72000BFA976 /* EventProcessor.swift in Sources */, + BDE468042A5BD72000BFA976 /* NetworkService.swift in Sources */, + BDE4683A2A5BD72000BFA976 /* FoundationTransport.swift in Sources */, + BDE468142A5BD72000BFA976 /* ProtoConvertible.swift in Sources */, + BDE468282A5BD72000BFA976 /* DeviceInfo.swift in Sources */, + BDE4677B2A5BD24500BFA976 /* SchedulerServiceTests.swift in Sources */, + BDE4677C2A5BD24500BFA976 /* SortedArrayTests.swift in Sources */, + BDE468602A5BD72000BFA976 /* EventBatchCreator.swift in Sources */, + BDE468202A5BD72000BFA976 /* Constants.swift in Sources */, + BDE467712A5BD24500BFA976 /* ClickStreamDependenciesTests.swift in Sources */, + BDE467892A5BD24500BFA976 /* NetworkBuilderTests.swift in Sources */, + BDE4684A2A5BD72000BFA976 /* HTTPHandler.swift in Sources */, BD6BDB8D29FBC1360006B04A /* Tracker.swift in Sources */, - BD8AF62F287ED1CC002DD402 /* DeviceStatusNotifier.swift in Sources */, + BDE467812A5BD24500BFA976 /* EventProcessorTest.swift in Sources */, BD6BDB9329FBC1360006B04A /* AppVersionChecker.swift in Sources */, - BD8AF665287ED1CC002DD402 /* SchedulerService.swift in Sources */, - BD5E7BF32A0B94BF000F5678 /* WSCompression.swift in Sources */, - BD8AF64D287ED1CC002DD402 /* Event.swift in Sources */, - BD8AF633287ED1CC002DD402 /* DispatchSourceTimer+RepeatingTimer.swift in Sources */, - BD8AF647287ED1CC002DD402 /* JSONStringDecoder.swift in Sources */, - BDDC873729E7D6AC0024ED8C /* EteExperiment.pb.swift in Sources */, BD6BDB9D29FBC1360006B04A /* HealthTrackerDTO.swift in Sources */, - 9AF0C75E280DECD600E39A12 /* EventCreatorTests.swift in Sources */, - 6831635F261218F90095DBCA /* RetryMechanismTests.swift in Sources */, - BD5E7BF52A0B94BF000F5678 /* WebSocket.swift in Sources */, + BDE468062A5BD72000BFA976 /* Connectable.swift in Sources */, + BDE468222A5BD72000BFA976 /* Reachability+Extension.swift in Sources */, BD6BDB7D29FBC1360006B04A /* FilterViewController.swift in Sources */, - 9AF0C75A280DECBD00E39A12 /* EventBatchTests.swift in Sources */, - 9AF0C762280DECE100E39A12 /* EventWarehouserTests.swift in Sources */, - BD8AF667287ED1CC002DD402 /* SortedArray.swift in Sources */, - BD8AF659287ED1CC002DD402 /* EventBatchCreator.swift in Sources */, - BD5E7BF72A0B94BF000F5678 /* Engine.swift in Sources */, - BD5E7BF92A0B94BF000F5678 /* NativeEngine.swift in Sources */, - BD5E7BFB2A0B94BF000F5678 /* WSEngine.swift in Sources */, - BD8AF63F287ED1CC002DD402 /* ClickStreamConstraints.swift in Sources */, - BD8AF641287ED1CC002DD402 /* ClickStreamEventClassification.swift in Sources */, - 9AF0C765280DECE800E39A12 /* NetworkManagerDependenciesTests.swift in Sources */, + BDE468782A5BD72000BFA976 /* EventClassifier.swift in Sources */, + BDE4678B2A5BD24500BFA976 /* RetryMechanismTests.swift in Sources */, BD6BDB8729FBC1360006B04A /* HealthTracker.swift in Sources */, + BDE467832A5BD24500BFA976 /* NetworkReachabilityMock.swift in Sources */, + BDE4681C2A5BD72000BFA976 /* ClickStreamConstraints.swift in Sources */, + BDE468702A5BD72000BFA976 /* DatabaseHandler.swift in Sources */, + BDE4680C2A5BD72000BFA976 /* DeviceStatusNotifier.swift in Sources */, BD6BDB7929FBC1360006B04A /* EventDetailsViewModel.swift in Sources */, - BD8AF631287ED1CC002DD402 /* NetworkReachability.swift in Sources */, - BD8AF675287ED1CC002DD402 /* EventProcessor.swift in Sources */, + BDE468762A5BD72000BFA976 /* DatabasePersistable.swift in Sources */, + BDE4677D2A5BD24500BFA976 /* EventWarehouserTests.swift in Sources */, BD6BDB8B29FBC1360006B04A /* HealthAnalysisEventBatch.swift in Sources */, - BD8AF66D287ED1CC002DD402 /* TableDefinable.swift in Sources */, - BD8AF677287ED1CC002DD402 /* EventProcessorDependencies.swift in Sources */, + BDE468102A5BD72000BFA976 /* DispatchSourceTimer+RepeatingTimer.swift in Sources */, + BDE468662A5BD72000BFA976 /* EventBatchProcessor.swift in Sources */, BD6BDB6D29FBC1360006B04A /* FilterTextFieldTableViewCell.swift in Sources */, - 9AF0C75C280DECC200E39A12 /* EventProcessorTest.swift in Sources */, - 9AF0C75B280DECBF00E39A12 /* ClickStreamDependenciesTests.swift in Sources */, BD6BDB8F29FBC1360006B04A /* TrackerConstants.swift in Sources */, + BDE4686A2A5BD72000BFA976 /* EventBatchSizeRegulator.swift in Sources */, BD6BDB6B29FBC1360006B04A /* RadioLabelTableViewCell.swift in Sources */, + BDE4677F2A5BD24500BFA976 /* EventCreatorTests.swift in Sources */, + BDE468722A5BD72000BFA976 /* DatabaseDAO.swift in Sources */, + BDE4677E2A5BD24500BFA976 /* DatabaseDAOTests.swift in Sources */, + BDE4682E2A5BD72000BFA976 /* EventBatch.swift in Sources */, + BDE467732A5BD24500BFA976 /* EventTests.swift in Sources */, + BDE468742A5BD72000BFA976 /* TableDefinable.swift in Sources */, + BDE467FA2A5BD72000BFA976 /* NetworkBuilder.swift in Sources */, + BDE4678A2A5BD24500BFA976 /* NetworkServiceTests.swift in Sources */, BD6BDB7529FBC1360006B04A /* EventsListViewController.swift in Sources */, - BD8AF657287ED1CC002DD402 /* Event.pb.swift in Sources */, - BD8AF66F287ED1CC002DD402 /* DatabasePersistable.swift in Sources */, + BDE4687C2A5BD72000BFA976 /* EventProcessorDependencies.swift in Sources */, + BDE4682C2A5BD72000BFA976 /* ClickstreamEvent.swift in Sources */, BD6BDB8329FBC1360006B04A /* EventStateViewable.swift in Sources */, - 9AF0C760280DECDC00E39A12 /* SortedArrayTests.swift in Sources */, + BDE468082A5BD72000BFA976 /* NetworkConfiguration.swift in Sources */, + BDE468302A5BD72000BFA976 /* EventRequest.pb.swift in Sources */, BD6BDB9529FBC1360006B04A /* HealthMeta.pb.swift in Sources */, - BD5E7BDB2A0B94BF000F5678 /* Security.swift in Sources */, - BD8AF663287ED1CC002DD402 /* EventBatchSizeRegulator.swift in Sources */, + BDE468522A5BD72000BFA976 /* Framer.swift in Sources */, BD6BDB7329FBC1360006B04A /* EventVisualizerLandingViewController.swift in Sources */, - 68E19FB8247D42100074A790 /* DispatchQueue+Detection.swift in Sources */, - BD8AF627287ED1CC002DD402 /* NetworkService.swift in Sources */, - 9AF0C768280DECF000E39A12 /* NetworkBuilderTests.swift in Sources */, - 9AF0C763280DECE300E39A12 /* EventSchedulerDependenciesTests.swift in Sources */, - BD5E7BEB2A0B94BF000F5678 /* StringHTTPHandler.swift in Sources */, + BDE467FE2A5BD72000BFA976 /* NetworkManagerDependencies.swift in Sources */, + BDE4685E2A5BD72000BFA976 /* WSEngine.swift in Sources */, + BDE467762A5BD24500BFA976 /* DatabaseMock.swift in Sources */, BDDC872329E6AF580024ED8C /* FileManagerOverride.swift in Sources */, - BD8AF64F287ED1CC002DD402 /* ClickstreamEvent.swift in Sources */, - BD5E7BDF2A0B94BF000F5678 /* Data+Extensions.swift in Sources */, BD6BDB8129FBC1360006B04A /* UITableViewExtensions.swift in Sources */, - BD8AF669287ED1CC002DD402 /* DatabaseHandler.swift in Sources */, - BD8AF653287ED1CC002DD402 /* EventRequest.pb.swift in Sources */, BD6BDB7129FBC1360006B04A /* EventVisualizerLandingViewModel.swift in Sources */, - 9AF0C766280DECEB00E39A12 /* DeviceStatusNotifierTests.swift in Sources */, + BDE467792A5BD24500BFA976 /* AppStateNotifierServiceTests.swift in Sources */, + BDE468362A5BD72000BFA976 /* Event.pb.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -1487,7 +1507,7 @@ /* Begin PBXTargetDependency section */ 68E7BD222456E6F10072549A /* PBXTargetDependency */ = { isa = PBXTargetDependency; - target = 68E7BADE244F08C00072549A /* Clickstream */; + target = 68E7BADE244F08C00072549A /* ClickstreamLib */; targetProxy = 68E7BD212456E6F10072549A /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ @@ -1958,7 +1978,7 @@ /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 68E7BADA244F08C00072549A /* Build configuration list for PBXProject "Clickstream" */ = { + 68E7BADA244F08C00072549A /* Build configuration list for PBXProject "ClickstreamLib" */ = { isa = XCConfigurationList; buildConfigurations = ( 68E7BAE4244F08C00072549A /* Debug */, @@ -1970,7 +1990,7 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 68E7BAE6244F08C00072549A /* Build configuration list for PBXNativeTarget "Clickstream" */ = { + 68E7BAE6244F08C00072549A /* Build configuration list for PBXNativeTarget "ClickstreamLib" */ = { isa = XCConfigurationList; buildConfigurations = ( 68E7BAE7244F08C00072549A /* Debug */, diff --git a/Clickstream.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/ClickstreamLib.xcodeproj/project.xcworkspace/contents.xcworkspacedata similarity index 100% rename from Clickstream.xcodeproj/project.xcworkspace/contents.xcworkspacedata rename to ClickstreamLib.xcodeproj/project.xcworkspace/contents.xcworkspacedata diff --git a/Clickstream.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/ClickstreamLib.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist similarity index 100% rename from Clickstream.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist rename to ClickstreamLib.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist diff --git a/Clickstream.xcodeproj/xcshareddata/xcschemes/Clickstream.xcscheme b/ClickstreamLib.xcodeproj/xcshareddata/xcschemes/ClickstreamLib.xcscheme similarity index 85% rename from Clickstream.xcodeproj/xcshareddata/xcschemes/Clickstream.xcscheme rename to ClickstreamLib.xcodeproj/xcshareddata/xcschemes/ClickstreamLib.xcscheme index 88636c3..1b8c9e0 100644 --- a/Clickstream.xcodeproj/xcshareddata/xcschemes/Clickstream.xcscheme +++ b/ClickstreamLib.xcodeproj/xcshareddata/xcschemes/ClickstreamLib.xcscheme @@ -15,9 +15,9 @@ + BuildableName = "libClickstreamLib.a" + BlueprintName = "ClickstreamLib" + ReferencedContainer = "container:ClickstreamLib.xcodeproj"> @@ -35,7 +35,7 @@ BlueprintIdentifier = "68E7BD1A2456E6F10072549A" BuildableName = "ClickstreamTests.xctest" BlueprintName = "ClickstreamTests" - ReferencedContainer = "container:Clickstream.xcodeproj"> + ReferencedContainer = "container:ClickstreamLib.xcodeproj"> @@ -61,9 +61,9 @@ + BuildableName = "libClickstreamLib.a" + BlueprintName = "ClickstreamLib" + ReferencedContainer = "container:ClickstreamLib.xcodeproj"> diff --git a/Clickstream.xcworkspace/contents.xcworkspacedata b/ClickstreamLib.xcworkspace/contents.xcworkspacedata similarity index 60% rename from Clickstream.xcworkspace/contents.xcworkspacedata rename to ClickstreamLib.xcworkspace/contents.xcworkspacedata index c3342af..4c19274 100644 --- a/Clickstream.xcworkspace/contents.xcworkspacedata +++ b/ClickstreamLib.xcworkspace/contents.xcworkspacedata @@ -2,7 +2,7 @@ + location = "group:/Users/rishavgupta/Desktop/clickstream-ios/ClickstreamLib.xcodeproj"> @@ -10,4 +10,7 @@ + + diff --git a/Clickstream.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/ClickstreamLib.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist similarity index 100% rename from Clickstream.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist rename to ClickstreamLib.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist diff --git a/ClickstreamLib.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings b/ClickstreamLib.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings new file mode 100644 index 0000000..f9b0d7c --- /dev/null +++ b/ClickstreamLib.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings @@ -0,0 +1,8 @@ + + + + + PreviewsEnabled + + + diff --git a/ClickstreamTests/Core/ClickStreamDependenciesTests.swift b/ClickstreamTests/Core/ClickStreamDependenciesTests.swift index 50aa0d4..3b0d009 100644 --- a/ClickstreamTests/Core/ClickStreamDependenciesTests.swift +++ b/ClickstreamTests/Core/ClickStreamDependenciesTests.swift @@ -6,7 +6,7 @@ // Copyright © 2020 Gojek. All rights reserved. // -@testable import Clickstream +@testable import ClickstreamLib import XCTest class ClickstreamDependenciesTests: XCTestCase { diff --git a/ClickstreamTests/Core/ClickStreamTests.swift b/ClickstreamTests/Core/ClickStreamTests.swift index c436a38..850caee 100644 --- a/ClickstreamTests/Core/ClickStreamTests.swift +++ b/ClickstreamTests/Core/ClickStreamTests.swift @@ -6,7 +6,7 @@ // Copyright © 2020 Gojek. All rights reserved. // -@testable import Clickstream +@testable import ClickstreamLib import XCTest import SwiftProtobuf diff --git a/ClickstreamTests/Core/Entities/EventBatchTests.swift b/ClickstreamTests/Core/Entities/EventBatchTests.swift index ea7e52b..cd836e4 100644 --- a/ClickstreamTests/Core/Entities/EventBatchTests.swift +++ b/ClickstreamTests/Core/Entities/EventBatchTests.swift @@ -6,7 +6,7 @@ // Copyright © 2020 Gojek. All rights reserved. // -@testable import Clickstream +@testable import ClickstreamLib import XCTest import SwiftProtobuf diff --git a/ClickstreamTests/Core/Entities/EventTests.swift b/ClickstreamTests/Core/Entities/EventTests.swift index 4b0f1ff..041194f 100644 --- a/ClickstreamTests/Core/Entities/EventTests.swift +++ b/ClickstreamTests/Core/Entities/EventTests.swift @@ -6,7 +6,7 @@ // Copyright © 2020 Gojek. All rights reserved. // -@testable import Clickstream +@testable import ClickstreamLib import XCTest class EventTests: XCTestCase { diff --git a/ClickstreamTests/Core/Mocks/MockConstants.swift b/ClickstreamTests/Core/Mocks/MockConstants.swift index ee7c446..8d23989 100644 --- a/ClickstreamTests/Core/Mocks/MockConstants.swift +++ b/ClickstreamTests/Core/Mocks/MockConstants.swift @@ -6,7 +6,7 @@ // Copyright © 2023 Gojek. All rights reserved. // -@testable import Clickstream +@testable import ClickstreamLib import Foundation struct MockConstants { diff --git a/ClickstreamTests/EventProcessorTests/EventProcessorDependenciesTests.swift b/ClickstreamTests/EventProcessorTests/EventProcessorDependenciesTests.swift index 8f82070..5a11d8e 100644 --- a/ClickstreamTests/EventProcessorTests/EventProcessorDependenciesTests.swift +++ b/ClickstreamTests/EventProcessorTests/EventProcessorDependenciesTests.swift @@ -6,7 +6,7 @@ // Copyright © 2020 Gojek. All rights reserved. // -@testable import Clickstream +@testable import ClickstreamLib import XCTest class EventProcessorDependenciesTests: XCTestCase { diff --git a/ClickstreamTests/EventProcessorTests/EventProcessorTest.swift b/ClickstreamTests/EventProcessorTests/EventProcessorTest.swift index ee45a04..fa16f86 100644 --- a/ClickstreamTests/EventProcessorTests/EventProcessorTest.swift +++ b/ClickstreamTests/EventProcessorTests/EventProcessorTest.swift @@ -6,7 +6,7 @@ // Copyright © 2020 Gojek. All rights reserved. // -@testable import Clickstream +@testable import ClickstreamLib import XCTest import SwiftProtobuf diff --git a/ClickstreamTests/EventSchedulerTests/AppStateNotifierServiceTests.swift b/ClickstreamTests/EventSchedulerTests/AppStateNotifierServiceTests.swift index e28b945..3dfdf1c 100644 --- a/ClickstreamTests/EventSchedulerTests/AppStateNotifierServiceTests.swift +++ b/ClickstreamTests/EventSchedulerTests/AppStateNotifierServiceTests.swift @@ -6,7 +6,7 @@ // Copyright © 2020 Gojek. All rights reserved. // -@testable import Clickstream +@testable import ClickstreamLib import XCTest class AppStateNotifierServiceTests: XCTestCase { diff --git a/ClickstreamTests/EventSchedulerTests/Data/Persistence/DatabaseDAOTests.swift b/ClickstreamTests/EventSchedulerTests/Data/Persistence/DatabaseDAOTests.swift index a44beec..9f7cee2 100644 --- a/ClickstreamTests/EventSchedulerTests/Data/Persistence/DatabaseDAOTests.swift +++ b/ClickstreamTests/EventSchedulerTests/Data/Persistence/DatabaseDAOTests.swift @@ -6,7 +6,7 @@ // Copyright © 2021 Gojek. All rights reserved. // -@testable import Clickstream +@testable import ClickstreamLib import XCTest class DatabaseDAOTests: XCTestCase { diff --git a/ClickstreamTests/EventSchedulerTests/EventBatchProcessorTests.swift b/ClickstreamTests/EventSchedulerTests/EventBatchProcessorTests.swift index 4b3fcea..9286721 100644 --- a/ClickstreamTests/EventSchedulerTests/EventBatchProcessorTests.swift +++ b/ClickstreamTests/EventSchedulerTests/EventBatchProcessorTests.swift @@ -6,7 +6,7 @@ // Copyright © 2020 Gojek. All rights reserved. // -@testable import Clickstream +@testable import ClickstreamLib import XCTest class EventBatchProcessorTests: XCTestCase { diff --git a/ClickstreamTests/EventSchedulerTests/EventCreatorTests.swift b/ClickstreamTests/EventSchedulerTests/EventCreatorTests.swift index 22821d1..23dcf3b 100644 --- a/ClickstreamTests/EventSchedulerTests/EventCreatorTests.swift +++ b/ClickstreamTests/EventSchedulerTests/EventCreatorTests.swift @@ -6,7 +6,7 @@ // Copyright © 2020 Gojek. All rights reserved. // -@testable import Clickstream +@testable import ClickstreamLib import XCTest diff --git a/ClickstreamTests/EventSchedulerTests/EventSchedulerDependenciesTests.swift b/ClickstreamTests/EventSchedulerTests/EventSchedulerDependenciesTests.swift index 061eb2d..dd7cdc1 100644 --- a/ClickstreamTests/EventSchedulerTests/EventSchedulerDependenciesTests.swift +++ b/ClickstreamTests/EventSchedulerTests/EventSchedulerDependenciesTests.swift @@ -6,7 +6,7 @@ // Copyright © 2020 Gojek. All rights reserved. // -@testable import Clickstream +@testable import ClickstreamLib import XCTest class EventSchedulerDependenciesTests: XCTestCase { diff --git a/ClickstreamTests/EventSchedulerTests/EventWarehouserTests.swift b/ClickstreamTests/EventSchedulerTests/EventWarehouserTests.swift index 44c9a9e..c83828c 100644 --- a/ClickstreamTests/EventSchedulerTests/EventWarehouserTests.swift +++ b/ClickstreamTests/EventSchedulerTests/EventWarehouserTests.swift @@ -6,7 +6,7 @@ // Copyright © 2020 Gojek. All rights reserved. // -@testable import Clickstream +@testable import ClickstreamLib import XCTest class EventWarehouserTests: XCTestCase { diff --git a/ClickstreamTests/EventSchedulerTests/Mocks/AppStateNotifierMock.swift b/ClickstreamTests/EventSchedulerTests/Mocks/AppStateNotifierMock.swift index 75557b2..5e4d658 100644 --- a/ClickstreamTests/EventSchedulerTests/Mocks/AppStateNotifierMock.swift +++ b/ClickstreamTests/EventSchedulerTests/Mocks/AppStateNotifierMock.swift @@ -6,7 +6,7 @@ // Copyright © 2020 Gojek. All rights reserved. // -@testable import Clickstream +@testable import ClickstreamLib import Foundation final class AppStateNotifierMock: AppStateNotifierService { diff --git a/ClickstreamTests/EventSchedulerTests/Mocks/BatchSizeRegulatorMock.swift b/ClickstreamTests/EventSchedulerTests/Mocks/BatchSizeRegulatorMock.swift index 0e51887..c3ff280 100644 --- a/ClickstreamTests/EventSchedulerTests/Mocks/BatchSizeRegulatorMock.swift +++ b/ClickstreamTests/EventSchedulerTests/Mocks/BatchSizeRegulatorMock.swift @@ -6,7 +6,7 @@ // Copyright © 2021 Gojek. All rights reserved. // -@testable import Clickstream +@testable import ClickstreamLib import Foundation final class BatchSizeRegulatorMock: BatchSizeRegulator { diff --git a/ClickstreamTests/EventSchedulerTests/SchedulerServiceTests.swift b/ClickstreamTests/EventSchedulerTests/SchedulerServiceTests.swift index c20271b..6c716e8 100644 --- a/ClickstreamTests/EventSchedulerTests/SchedulerServiceTests.swift +++ b/ClickstreamTests/EventSchedulerTests/SchedulerServiceTests.swift @@ -6,7 +6,7 @@ // Copyright © 2020 Gojek. All rights reserved. // -@testable import Clickstream +@testable import ClickstreamLib import XCTest class SchedulerServiceTests: XCTestCase { diff --git a/ClickstreamTests/EventSchedulerTests/SortedArrayTests.swift b/ClickstreamTests/EventSchedulerTests/SortedArrayTests.swift index d1a6f36..cc04430 100644 --- a/ClickstreamTests/EventSchedulerTests/SortedArrayTests.swift +++ b/ClickstreamTests/EventSchedulerTests/SortedArrayTests.swift @@ -6,7 +6,7 @@ // Copyright © 2020 Gojek. All rights reserved. // -@testable import Clickstream +@testable import ClickstreamLib import XCTest class SortedArrayTests: XCTestCase { diff --git a/ClickstreamTests/EventSchedulerTests/Utilities/DispatchQueue+Detection.swift b/ClickstreamTests/EventSchedulerTests/Utilities/DispatchQueue+Detection.swift index 054dd4d..339f1bf 100644 --- a/ClickstreamTests/EventSchedulerTests/Utilities/DispatchQueue+Detection.swift +++ b/ClickstreamTests/EventSchedulerTests/Utilities/DispatchQueue+Detection.swift @@ -6,7 +6,7 @@ // Copyright © 2020 Gojek. All rights reserved. // Refered from: https://stackoverflow.com/a/60314121 -@testable import Clickstream +@testable import ClickstreamLib import Foundation extension SerialQueue { diff --git a/ClickstreamTests/NetworkManagerTests/Core/NetworkManagerDependenciesTests.swift b/ClickstreamTests/NetworkManagerTests/Core/NetworkManagerDependenciesTests.swift index 87aa789..ba736b7 100644 --- a/ClickstreamTests/NetworkManagerTests/Core/NetworkManagerDependenciesTests.swift +++ b/ClickstreamTests/NetworkManagerTests/Core/NetworkManagerDependenciesTests.swift @@ -6,7 +6,7 @@ // Copyright © 2020 Gojek. All rights reserved. // -@testable import Clickstream +@testable import ClickstreamLib import XCTest class NetworkManagerDependenciesTests: XCTestCase { diff --git a/ClickstreamTests/NetworkManagerTests/Infrastructure/NetworkBuilderTests.swift b/ClickstreamTests/NetworkManagerTests/Infrastructure/NetworkBuilderTests.swift index 1480f2f..b10e5ff 100644 --- a/ClickstreamTests/NetworkManagerTests/Infrastructure/NetworkBuilderTests.swift +++ b/ClickstreamTests/NetworkManagerTests/Infrastructure/NetworkBuilderTests.swift @@ -6,7 +6,7 @@ // Copyright © 2020 Gojek. All rights reserved. // -@testable import Clickstream +@testable import ClickstreamLib import XCTest class NetworkBuilderTests: XCTestCase { diff --git a/ClickstreamTests/NetworkManagerTests/Infrastructure/NetworkServiceTests.swift b/ClickstreamTests/NetworkManagerTests/Infrastructure/NetworkServiceTests.swift index 25ded13..8ea6ffc 100644 --- a/ClickstreamTests/NetworkManagerTests/Infrastructure/NetworkServiceTests.swift +++ b/ClickstreamTests/NetworkManagerTests/Infrastructure/NetworkServiceTests.swift @@ -6,7 +6,7 @@ // Copyright © 2020 Gojek. All rights reserved. // -@testable import Clickstream +@testable import ClickstreamLib import XCTest class NetworkServiceTests: XCTestCase { diff --git a/ClickstreamTests/NetworkManagerTests/Infrastructure/RetryMechanismTests.swift b/ClickstreamTests/NetworkManagerTests/Infrastructure/RetryMechanismTests.swift index 5fee240..1a98a84 100644 --- a/ClickstreamTests/NetworkManagerTests/Infrastructure/RetryMechanismTests.swift +++ b/ClickstreamTests/NetworkManagerTests/Infrastructure/RetryMechanismTests.swift @@ -6,7 +6,7 @@ // Copyright © 2021 Gojek. All rights reserved. // -@testable import Clickstream +@testable import ClickstreamLib import XCTest class RetryMechanismTests: XCTestCase { diff --git a/ClickstreamTests/NetworkManagerTests/Mocks/NetworkReachabilityMock.swift b/ClickstreamTests/NetworkManagerTests/Mocks/NetworkReachabilityMock.swift index 15286fe..0c9b676 100644 --- a/ClickstreamTests/NetworkManagerTests/Mocks/NetworkReachabilityMock.swift +++ b/ClickstreamTests/NetworkManagerTests/Mocks/NetworkReachabilityMock.swift @@ -6,7 +6,7 @@ // Copyright © 2020 Gojek. All rights reserved. // -@testable import Clickstream +@testable import ClickstreamLib import Foundation diff --git a/ClickstreamTests/NetworkManagerTests/Mocks/SocketHandlerMock.swift b/ClickstreamTests/NetworkManagerTests/Mocks/SocketHandlerMock.swift index d8e5a60..881570f 100644 --- a/ClickstreamTests/NetworkManagerTests/Mocks/SocketHandlerMock.swift +++ b/ClickstreamTests/NetworkManagerTests/Mocks/SocketHandlerMock.swift @@ -6,7 +6,7 @@ // Copyright © 2020 Gojek. All rights reserved. // -@testable import Clickstream +@testable import ClickstreamLib import Foundation enum SocketConnectionState { diff --git a/ClickstreamTests/NetworkManagerTests/Models/EventRequestTests.swift b/ClickstreamTests/NetworkManagerTests/Models/EventRequestTests.swift index 1388fb5..87b6ccd 100644 --- a/ClickstreamTests/NetworkManagerTests/Models/EventRequestTests.swift +++ b/ClickstreamTests/NetworkManagerTests/Models/EventRequestTests.swift @@ -6,7 +6,7 @@ // Copyright © 2020 Gojek. All rights reserved. // -@testable import Clickstream +@testable import ClickstreamLib import XCTest import SwiftProtobuf diff --git a/ClickstreamTests/NetworkManagerTests/Utilities/DeviceStatusNotifierTests.swift b/ClickstreamTests/NetworkManagerTests/Utilities/DeviceStatusNotifierTests.swift index 22aaf6d..5d04d6d 100644 --- a/ClickstreamTests/NetworkManagerTests/Utilities/DeviceStatusNotifierTests.swift +++ b/ClickstreamTests/NetworkManagerTests/Utilities/DeviceStatusNotifierTests.swift @@ -6,7 +6,7 @@ // Copyright © 2020 Gojek. All rights reserved. // -@testable import Clickstream +@testable import ClickstreamLib import XCTest class DeviceStatusNotifierTests: XCTestCase { diff --git a/ClickstreamTests/NetworkManagerTests/Utilities/KeepAliveServiceTests.swift b/ClickstreamTests/NetworkManagerTests/Utilities/KeepAliveServiceTests.swift index 8f3a272..990683f 100644 --- a/ClickstreamTests/NetworkManagerTests/Utilities/KeepAliveServiceTests.swift +++ b/ClickstreamTests/NetworkManagerTests/Utilities/KeepAliveServiceTests.swift @@ -6,7 +6,7 @@ // Copyright © 2020 Gojek. All rights reserved. // -@testable import Clickstream +@testable import ClickstreamLib import XCTest class KeepAliveServiceTests: XCTestCase { @@ -39,7 +39,6 @@ class KeepAliveServiceTests: XCTestCase { //when sut.start { callbackCount += 1 - print(callbackCount) } mockQueue.asyncAfter(deadline: .now() + 4.5) { diff --git a/Example/Example.xcodeproj/project.pbxproj b/Example/Example.xcodeproj/project.pbxproj index f3d6e47..a86ccee 100644 --- a/Example/Example.xcodeproj/project.pbxproj +++ b/Example/Example.xcodeproj/project.pbxproj @@ -437,7 +437,7 @@ "\"CoreTelephony\"", "-framework", "\"SystemConfiguration\"", - "-l\"Clickstream\"", + "-l\"ClickstreamLib\"", ); OTHER_SWIFT_FLAGS = "$(inherited) -D COCOAPODS -Xcc -fmodule-map-file=\"${PODS_CONFIGURATION_BUILD_DIR}/GRDB.swift/GRDB.modulemap\" -Xcc -fmodule-map-file=\"${PODS_CONFIGURATION_BUILD_DIR}/ReachabilitySwift/Reachability.modulemap\" -Xcc -fmodule-map-file=\"${PODS_CONFIGURATION_BUILD_DIR}/SwiftProtobuf/SwiftProtobuf.modulemap\""; PRODUCT_BUNDLE_IDENTIFIER = com.clickstream.example; @@ -469,7 +469,7 @@ "\"CoreTelephony\"", "-framework", "\"SystemConfiguration\"", - "-l\"Clickstream\"", + "-l\"ClickstreamLib\"", ); OTHER_SWIFT_FLAGS = "$(inherited) -D COCOAPODS -Xcc -fmodule-map-file=\"${PODS_CONFIGURATION_BUILD_DIR}/GRDB.swift/GRDB.modulemap\" -Xcc -fmodule-map-file=\"${PODS_CONFIGURATION_BUILD_DIR}/ReachabilitySwift/Reachability.modulemap\" -Xcc -fmodule-map-file=\"${PODS_CONFIGURATION_BUILD_DIR}/SwiftProtobuf/SwiftProtobuf.modulemap\""; PRODUCT_BUNDLE_IDENTIFIER = com.clickstream.example; diff --git a/Example/Example/src/AnalyticsManager.swift b/Example/Example/src/AnalyticsManager.swift index 9ffc523..b9d9dc8 100644 --- a/Example/Example/src/AnalyticsManager.swift +++ b/Example/Example/src/AnalyticsManager.swift @@ -7,7 +7,7 @@ // import Foundation -import Clickstream +import ClickstreamLib import SwiftProtobuf class AnalyticsManager { diff --git a/Example/Example/src/Contracts/App.pb.swift b/Example/Example/src/Contracts/App.pb.swift index b1bade2..974e1bd 100644 --- a/Example/Example/src/Contracts/App.pb.swift +++ b/Example/Example/src/Contracts/App.pb.swift @@ -7,7 +7,7 @@ // For information on using the generated types, please see the documentation: // https://github.com/apple/swift-protobuf/ #if EVENT_VISUALIZER_ENABLED -import Clickstream +import ClickstreamLib #endif import Foundation import SwiftProtobuf diff --git a/Example/Example/src/Contracts/Device.pb.swift b/Example/Example/src/Contracts/Device.pb.swift index 7f2089c..7fbfec4 100644 --- a/Example/Example/src/Contracts/Device.pb.swift +++ b/Example/Example/src/Contracts/Device.pb.swift @@ -7,7 +7,7 @@ // For information on using the generated types, please see the documentation: // https://github.com/apple/swift-protobuf/ #if EVENT_VISUALIZER_ENABLED -import Clickstream +import ClickstreamLib #endif import Foundation import SwiftProtobuf diff --git a/Example/Example/src/Contracts/User.pb.swift b/Example/Example/src/Contracts/User.pb.swift index 05ed8eb..b33c5d8 100644 --- a/Example/Example/src/Contracts/User.pb.swift +++ b/Example/Example/src/Contracts/User.pb.swift @@ -7,7 +7,7 @@ // For information on using the generated types, please see the documentation: // https://github.com/apple/swift-protobuf/ #if EVENT_VISUALIZER_ENABLED -import Clickstream +import ClickstreamLib #endif import Foundation import SwiftProtobuf diff --git a/Podfile b/Podfile index dbe60c5..53a3fb0 100644 --- a/Podfile +++ b/Podfile @@ -5,8 +5,8 @@ source 'https://github.com/CocoaPods/Specs.git' platform :ios, '11.0' use_modular_headers! -project 'Clickstream.xcodeproj' -workspace 'Clickstream.xcworkspace' +project 'ClickstreamLib.xcodeproj' +workspace 'ClickstreamLib.xcworkspace' def clickstream_pods pod 'SwiftProtobuf', '~> 1.10' @@ -14,7 +14,7 @@ def clickstream_pods pod 'GRDB.swift', '~> 6.7' end -target 'Clickstream' do +target 'ClickstreamLib' do clickstream_pods end diff --git a/Podfile.lock b/Podfile.lock index b46806b..9a1f210 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -22,6 +22,6 @@ SPEC CHECKSUMS: ReachabilitySwift: 985039c6f7b23a1da463388634119492ff86c825 SwiftProtobuf: afced68785854575756db965e9da52bbf3dc45e7 -PODFILE CHECKSUM: 2c97fb10dcb1fcd309b15a9c7e84ddc137998638 +PODFILE CHECKSUM: 28df61d109c39095542ef9ba231ed7553fd147a7 -COCOAPODS: 1.12.0 +COCOAPODS: 1.12.1 diff --git a/Sources/Clickstream/Contracts/EteExperiment.pb.swift b/Sources/ClickstreamLib/Contracts/EteExperiment.pb.swift similarity index 100% rename from Sources/Clickstream/Contracts/EteExperiment.pb.swift rename to Sources/ClickstreamLib/Contracts/EteExperiment.pb.swift diff --git a/Sources/Clickstream/Contracts/Event.pb.swift b/Sources/ClickstreamLib/Contracts/Event.pb.swift similarity index 100% rename from Sources/Clickstream/Contracts/Event.pb.swift rename to Sources/ClickstreamLib/Contracts/Event.pb.swift diff --git a/Sources/Clickstream/Contracts/EventRequest.pb.swift b/Sources/ClickstreamLib/Contracts/EventRequest.pb.swift similarity index 100% rename from Sources/Clickstream/Contracts/EventRequest.pb.swift rename to Sources/ClickstreamLib/Contracts/EventRequest.pb.swift diff --git a/Sources/Clickstream/Contracts/EventResponse.pb.swift b/Sources/ClickstreamLib/Contracts/EventResponse.pb.swift similarity index 100% rename from Sources/Clickstream/Contracts/EventResponse.pb.swift rename to Sources/ClickstreamLib/Contracts/EventResponse.pb.swift diff --git a/Sources/Clickstream/Core/Data/Constants/Constants.swift b/Sources/ClickstreamLib/Core/Data/Constants/Constants.swift similarity index 100% rename from Sources/Clickstream/Core/Data/Constants/Constants.swift rename to Sources/ClickstreamLib/Core/Data/Constants/Constants.swift diff --git a/Sources/Clickstream/Core/Data/Constraints/ClickStreamConstraints.swift b/Sources/ClickstreamLib/Core/Data/Constraints/ClickStreamConstraints.swift similarity index 100% rename from Sources/Clickstream/Core/Data/Constraints/ClickStreamConstraints.swift rename to Sources/ClickstreamLib/Core/Data/Constraints/ClickStreamConstraints.swift diff --git a/Sources/Clickstream/Core/Data/Constraints/ClickStreamEventClassification.swift b/Sources/ClickstreamLib/Core/Data/Constraints/ClickStreamEventClassification.swift similarity index 100% rename from Sources/Clickstream/Core/Data/Constraints/ClickStreamEventClassification.swift rename to Sources/ClickstreamLib/Core/Data/Constraints/ClickStreamEventClassification.swift diff --git a/Sources/Clickstream/Core/Data/Utilities/DeviceInfo.swift b/Sources/ClickstreamLib/Core/Data/Utilities/DeviceInfo.swift similarity index 100% rename from Sources/Clickstream/Core/Data/Utilities/DeviceInfo.swift rename to Sources/ClickstreamLib/Core/Data/Utilities/DeviceInfo.swift diff --git a/Sources/Clickstream/Core/Data/Utilities/JSONStringDecoder.swift b/Sources/ClickstreamLib/Core/Data/Utilities/JSONStringDecoder.swift similarity index 100% rename from Sources/Clickstream/Core/Data/Utilities/JSONStringDecoder.swift rename to Sources/ClickstreamLib/Core/Data/Utilities/JSONStringDecoder.swift diff --git a/Sources/Clickstream/Core/Data/Utilities/Logger.swift b/Sources/ClickstreamLib/Core/Data/Utilities/Logger.swift similarity index 100% rename from Sources/Clickstream/Core/Data/Utilities/Logger.swift rename to Sources/ClickstreamLib/Core/Data/Utilities/Logger.swift diff --git a/Sources/Clickstream/Core/Data/Utilities/Reachability+Extension.swift b/Sources/ClickstreamLib/Core/Data/Utilities/Reachability+Extension.swift similarity index 100% rename from Sources/Clickstream/Core/Data/Utilities/Reachability+Extension.swift rename to Sources/ClickstreamLib/Core/Data/Utilities/Reachability+Extension.swift diff --git a/Sources/Clickstream/Core/Dependencies/ClickstreamDependencies.swift b/Sources/ClickstreamLib/Core/Dependencies/ClickstreamDependencies.swift similarity index 100% rename from Sources/Clickstream/Core/Dependencies/ClickstreamDependencies.swift rename to Sources/ClickstreamLib/Core/Dependencies/ClickstreamDependencies.swift diff --git a/Sources/Clickstream/Core/Domain/Entities/ClickstreamEvent.swift b/Sources/ClickstreamLib/Core/Domain/Entities/ClickstreamEvent.swift similarity index 100% rename from Sources/Clickstream/Core/Domain/Entities/ClickstreamEvent.swift rename to Sources/ClickstreamLib/Core/Domain/Entities/ClickstreamEvent.swift diff --git a/Sources/Clickstream/Core/Domain/Entities/Event.swift b/Sources/ClickstreamLib/Core/Domain/Entities/Event.swift similarity index 100% rename from Sources/Clickstream/Core/Domain/Entities/Event.swift rename to Sources/ClickstreamLib/Core/Domain/Entities/Event.swift diff --git a/Sources/Clickstream/Core/Domain/Entities/EventBatch.swift b/Sources/ClickstreamLib/Core/Domain/Entities/EventBatch.swift similarity index 100% rename from Sources/Clickstream/Core/Domain/Entities/EventBatch.swift rename to Sources/ClickstreamLib/Core/Domain/Entities/EventBatch.swift diff --git a/Sources/Clickstream/Core/Interface/ClickStream.swift b/Sources/ClickstreamLib/Core/Interface/ClickStream.swift similarity index 100% rename from Sources/Clickstream/Core/Interface/ClickStream.swift rename to Sources/ClickstreamLib/Core/Interface/ClickStream.swift diff --git a/Sources/Clickstream/EventProcessor/Core/EventClassifier.swift b/Sources/ClickstreamLib/EventProcessor/Core/EventClassifier.swift similarity index 100% rename from Sources/Clickstream/EventProcessor/Core/EventClassifier.swift rename to Sources/ClickstreamLib/EventProcessor/Core/EventClassifier.swift diff --git a/Sources/Clickstream/EventProcessor/Core/EventProcessor.swift b/Sources/ClickstreamLib/EventProcessor/Core/EventProcessor.swift similarity index 100% rename from Sources/Clickstream/EventProcessor/Core/EventProcessor.swift rename to Sources/ClickstreamLib/EventProcessor/Core/EventProcessor.swift diff --git a/Sources/Clickstream/EventProcessor/Core/EventProcessorDependencies.swift b/Sources/ClickstreamLib/EventProcessor/Core/EventProcessorDependencies.swift similarity index 100% rename from Sources/Clickstream/EventProcessor/Core/EventProcessorDependencies.swift rename to Sources/ClickstreamLib/EventProcessor/Core/EventProcessorDependencies.swift diff --git a/Sources/Clickstream/EventScheduler/Core/EventBatchCreator.swift b/Sources/ClickstreamLib/EventScheduler/Core/EventBatchCreator.swift similarity index 100% rename from Sources/Clickstream/EventScheduler/Core/EventBatchCreator.swift rename to Sources/ClickstreamLib/EventScheduler/Core/EventBatchCreator.swift diff --git a/Sources/Clickstream/EventScheduler/Core/EventBatchProcessor.swift b/Sources/ClickstreamLib/EventScheduler/Core/EventBatchProcessor.swift similarity index 100% rename from Sources/Clickstream/EventScheduler/Core/EventBatchProcessor.swift rename to Sources/ClickstreamLib/EventScheduler/Core/EventBatchProcessor.swift diff --git a/Sources/Clickstream/EventScheduler/Core/EventSchedulerDependencies.swift b/Sources/ClickstreamLib/EventScheduler/Core/EventSchedulerDependencies.swift similarity index 100% rename from Sources/Clickstream/EventScheduler/Core/EventSchedulerDependencies.swift rename to Sources/ClickstreamLib/EventScheduler/Core/EventSchedulerDependencies.swift diff --git a/Sources/Clickstream/EventScheduler/Core/EventWarehouser.swift b/Sources/ClickstreamLib/EventScheduler/Core/EventWarehouser.swift similarity index 100% rename from Sources/Clickstream/EventScheduler/Core/EventWarehouser.swift rename to Sources/ClickstreamLib/EventScheduler/Core/EventWarehouser.swift diff --git a/Sources/Clickstream/EventScheduler/Data/Persistence/Database/DatabaseHandler.swift b/Sources/ClickstreamLib/EventScheduler/Data/Persistence/Database/DatabaseHandler.swift similarity index 100% rename from Sources/Clickstream/EventScheduler/Data/Persistence/Database/DatabaseHandler.swift rename to Sources/ClickstreamLib/EventScheduler/Data/Persistence/Database/DatabaseHandler.swift diff --git a/Sources/Clickstream/EventScheduler/Data/Persistence/DatabaseDAO.swift b/Sources/ClickstreamLib/EventScheduler/Data/Persistence/DatabaseDAO.swift similarity index 100% rename from Sources/Clickstream/EventScheduler/Data/Persistence/DatabaseDAO.swift rename to Sources/ClickstreamLib/EventScheduler/Data/Persistence/DatabaseDAO.swift diff --git a/Sources/Clickstream/EventScheduler/Domain/Protocols/DatabasePersistable.swift b/Sources/ClickstreamLib/EventScheduler/Domain/Protocols/DatabasePersistable.swift similarity index 100% rename from Sources/Clickstream/EventScheduler/Domain/Protocols/DatabasePersistable.swift rename to Sources/ClickstreamLib/EventScheduler/Domain/Protocols/DatabasePersistable.swift diff --git a/Sources/Clickstream/EventScheduler/Domain/Protocols/TableDefinable.swift b/Sources/ClickstreamLib/EventScheduler/Domain/Protocols/TableDefinable.swift similarity index 100% rename from Sources/Clickstream/EventScheduler/Domain/Protocols/TableDefinable.swift rename to Sources/ClickstreamLib/EventScheduler/Domain/Protocols/TableDefinable.swift diff --git a/Sources/Clickstream/EventScheduler/Infrastructure/Utilities/AppStateNotifierService.swift b/Sources/ClickstreamLib/EventScheduler/Infrastructure/Utilities/AppStateNotifierService.swift similarity index 100% rename from Sources/Clickstream/EventScheduler/Infrastructure/Utilities/AppStateNotifierService.swift rename to Sources/ClickstreamLib/EventScheduler/Infrastructure/Utilities/AppStateNotifierService.swift diff --git a/Sources/Clickstream/EventScheduler/Infrastructure/Utilities/EventBatchSizeRegulator.swift b/Sources/ClickstreamLib/EventScheduler/Infrastructure/Utilities/EventBatchSizeRegulator.swift similarity index 100% rename from Sources/Clickstream/EventScheduler/Infrastructure/Utilities/EventBatchSizeRegulator.swift rename to Sources/ClickstreamLib/EventScheduler/Infrastructure/Utilities/EventBatchSizeRegulator.swift diff --git a/Sources/Clickstream/EventScheduler/Infrastructure/Utilities/SchedulerService.swift b/Sources/ClickstreamLib/EventScheduler/Infrastructure/Utilities/SchedulerService.swift similarity index 100% rename from Sources/Clickstream/EventScheduler/Infrastructure/Utilities/SchedulerService.swift rename to Sources/ClickstreamLib/EventScheduler/Infrastructure/Utilities/SchedulerService.swift diff --git a/Sources/Clickstream/EventScheduler/Infrastructure/Utilities/SortedArray.swift b/Sources/ClickstreamLib/EventScheduler/Infrastructure/Utilities/SortedArray.swift similarity index 100% rename from Sources/Clickstream/EventScheduler/Infrastructure/Utilities/SortedArray.swift rename to Sources/ClickstreamLib/EventScheduler/Infrastructure/Utilities/SortedArray.swift diff --git a/Sources/Clickstream/NetworkManager/Core/Dependencies/NetworkManagerDependencies.swift b/Sources/ClickstreamLib/NetworkManager/Core/Dependencies/NetworkManagerDependencies.swift similarity index 100% rename from Sources/Clickstream/NetworkManager/Core/Dependencies/NetworkManagerDependencies.swift rename to Sources/ClickstreamLib/NetworkManager/Core/Dependencies/NetworkManagerDependencies.swift diff --git a/Sources/Clickstream/NetworkManager/Core/NetworkBuilder.swift b/Sources/ClickstreamLib/NetworkManager/Core/NetworkBuilder.swift similarity index 100% rename from Sources/Clickstream/NetworkManager/Core/NetworkBuilder.swift rename to Sources/ClickstreamLib/NetworkManager/Core/NetworkBuilder.swift diff --git a/Sources/Clickstream/NetworkManager/Core/RetryMechanism.swift b/Sources/ClickstreamLib/NetworkManager/Core/RetryMechanism.swift similarity index 100% rename from Sources/Clickstream/NetworkManager/Core/RetryMechanism.swift rename to Sources/ClickstreamLib/NetworkManager/Core/RetryMechanism.swift diff --git a/Sources/Clickstream/NetworkManager/Data/ProtoConvertible/ProtoConvertible.swift b/Sources/ClickstreamLib/NetworkManager/Data/ProtoConvertible/ProtoConvertible.swift similarity index 100% rename from Sources/Clickstream/NetworkManager/Data/ProtoConvertible/ProtoConvertible.swift rename to Sources/ClickstreamLib/NetworkManager/Data/ProtoConvertible/ProtoConvertible.swift diff --git a/Sources/Clickstream/NetworkManager/Domain/Entities/EventRequest.swift b/Sources/ClickstreamLib/NetworkManager/Domain/Entities/EventRequest.swift similarity index 100% rename from Sources/Clickstream/NetworkManager/Domain/Entities/EventRequest.swift rename to Sources/ClickstreamLib/NetworkManager/Domain/Entities/EventRequest.swift diff --git a/Sources/Clickstream/NetworkManager/Infrastructure/NetworkService/Connectable.swift b/Sources/ClickstreamLib/NetworkManager/Infrastructure/NetworkService/Connectable.swift similarity index 100% rename from Sources/Clickstream/NetworkManager/Infrastructure/NetworkService/Connectable.swift rename to Sources/ClickstreamLib/NetworkManager/Infrastructure/NetworkService/Connectable.swift diff --git a/Sources/Clickstream/NetworkManager/Infrastructure/NetworkService/NetworkConfiguration.swift b/Sources/ClickstreamLib/NetworkManager/Infrastructure/NetworkService/NetworkConfiguration.swift similarity index 100% rename from Sources/Clickstream/NetworkManager/Infrastructure/NetworkService/NetworkConfiguration.swift rename to Sources/ClickstreamLib/NetworkManager/Infrastructure/NetworkService/NetworkConfiguration.swift diff --git a/Sources/Clickstream/NetworkManager/Infrastructure/NetworkService/NetworkService.swift b/Sources/ClickstreamLib/NetworkManager/Infrastructure/NetworkService/NetworkService.swift similarity index 100% rename from Sources/Clickstream/NetworkManager/Infrastructure/NetworkService/NetworkService.swift rename to Sources/ClickstreamLib/NetworkManager/Infrastructure/NetworkService/NetworkService.swift diff --git a/Sources/Clickstream/NetworkManager/Infrastructure/Sockets/Heartbeat.swift b/Sources/ClickstreamLib/NetworkManager/Infrastructure/Sockets/Heartbeat.swift similarity index 100% rename from Sources/Clickstream/NetworkManager/Infrastructure/Sockets/Heartbeat.swift rename to Sources/ClickstreamLib/NetworkManager/Infrastructure/Sockets/Heartbeat.swift diff --git a/Sources/Clickstream/NetworkManager/Infrastructure/Sockets/SocketHandler.swift b/Sources/ClickstreamLib/NetworkManager/Infrastructure/Sockets/SocketHandler.swift similarity index 100% rename from Sources/Clickstream/NetworkManager/Infrastructure/Sockets/SocketHandler.swift rename to Sources/ClickstreamLib/NetworkManager/Infrastructure/Sockets/SocketHandler.swift diff --git a/Sources/Clickstream/NetworkManager/Infrastructure/Utilities/Atomic.swift b/Sources/ClickstreamLib/NetworkManager/Infrastructure/Utilities/Atomic.swift similarity index 100% rename from Sources/Clickstream/NetworkManager/Infrastructure/Utilities/Atomic.swift rename to Sources/ClickstreamLib/NetworkManager/Infrastructure/Utilities/Atomic.swift diff --git a/Sources/Clickstream/NetworkManager/Infrastructure/Utilities/DeviceStatusNotifier.swift b/Sources/ClickstreamLib/NetworkManager/Infrastructure/Utilities/DeviceStatusNotifier.swift similarity index 100% rename from Sources/Clickstream/NetworkManager/Infrastructure/Utilities/DeviceStatusNotifier.swift rename to Sources/ClickstreamLib/NetworkManager/Infrastructure/Utilities/DeviceStatusNotifier.swift diff --git a/Sources/Clickstream/NetworkManager/Infrastructure/Utilities/DispatchSourceTimer+RepeatingTimer.swift b/Sources/ClickstreamLib/NetworkManager/Infrastructure/Utilities/DispatchSourceTimer+RepeatingTimer.swift similarity index 100% rename from Sources/Clickstream/NetworkManager/Infrastructure/Utilities/DispatchSourceTimer+RepeatingTimer.swift rename to Sources/ClickstreamLib/NetworkManager/Infrastructure/Utilities/DispatchSourceTimer+RepeatingTimer.swift diff --git a/Sources/Clickstream/NetworkManager/Infrastructure/Utilities/KeepAliveService.swift b/Sources/ClickstreamLib/NetworkManager/Infrastructure/Utilities/KeepAliveService.swift similarity index 100% rename from Sources/Clickstream/NetworkManager/Infrastructure/Utilities/KeepAliveService.swift rename to Sources/ClickstreamLib/NetworkManager/Infrastructure/Utilities/KeepAliveService.swift diff --git a/Sources/Clickstream/NetworkManager/Infrastructure/Utilities/NetworkReachability.swift b/Sources/ClickstreamLib/NetworkManager/Infrastructure/Utilities/NetworkReachability.swift similarity index 100% rename from Sources/Clickstream/NetworkManager/Infrastructure/Utilities/NetworkReachability.swift rename to Sources/ClickstreamLib/NetworkManager/Infrastructure/Utilities/NetworkReachability.swift diff --git a/Sources/Clickstream/ThirdPartyLibraries/Sources/Compression/Compression.swift b/Sources/ClickstreamLib/ThirdPartyLibraries/Sources/Compression/Compression.swift similarity index 100% rename from Sources/Clickstream/ThirdPartyLibraries/Sources/Compression/Compression.swift rename to Sources/ClickstreamLib/ThirdPartyLibraries/Sources/Compression/Compression.swift diff --git a/Sources/Clickstream/ThirdPartyLibraries/Sources/Compression/WSCompression.swift b/Sources/ClickstreamLib/ThirdPartyLibraries/Sources/Compression/WSCompression.swift similarity index 100% rename from Sources/Clickstream/ThirdPartyLibraries/Sources/Compression/WSCompression.swift rename to Sources/ClickstreamLib/ThirdPartyLibraries/Sources/Compression/WSCompression.swift diff --git a/Sources/Clickstream/ThirdPartyLibraries/Sources/DataBytes/Data+Extensions.swift b/Sources/ClickstreamLib/ThirdPartyLibraries/Sources/DataBytes/Data+Extensions.swift similarity index 100% rename from Sources/Clickstream/ThirdPartyLibraries/Sources/DataBytes/Data+Extensions.swift rename to Sources/ClickstreamLib/ThirdPartyLibraries/Sources/DataBytes/Data+Extensions.swift diff --git a/Sources/Clickstream/ThirdPartyLibraries/Sources/Engine/Engine.swift b/Sources/ClickstreamLib/ThirdPartyLibraries/Sources/Engine/Engine.swift similarity index 100% rename from Sources/Clickstream/ThirdPartyLibraries/Sources/Engine/Engine.swift rename to Sources/ClickstreamLib/ThirdPartyLibraries/Sources/Engine/Engine.swift diff --git a/Sources/Clickstream/ThirdPartyLibraries/Sources/Engine/NativeEngine.swift b/Sources/ClickstreamLib/ThirdPartyLibraries/Sources/Engine/NativeEngine.swift similarity index 100% rename from Sources/Clickstream/ThirdPartyLibraries/Sources/Engine/NativeEngine.swift rename to Sources/ClickstreamLib/ThirdPartyLibraries/Sources/Engine/NativeEngine.swift diff --git a/Sources/Clickstream/ThirdPartyLibraries/Sources/Engine/WSEngine.swift b/Sources/ClickstreamLib/ThirdPartyLibraries/Sources/Engine/WSEngine.swift similarity index 100% rename from Sources/Clickstream/ThirdPartyLibraries/Sources/Engine/WSEngine.swift rename to Sources/ClickstreamLib/ThirdPartyLibraries/Sources/Engine/WSEngine.swift diff --git a/Sources/Clickstream/ThirdPartyLibraries/Sources/Framer/FoundationHTTPHandler.swift b/Sources/ClickstreamLib/ThirdPartyLibraries/Sources/Framer/FoundationHTTPHandler.swift similarity index 100% rename from Sources/Clickstream/ThirdPartyLibraries/Sources/Framer/FoundationHTTPHandler.swift rename to Sources/ClickstreamLib/ThirdPartyLibraries/Sources/Framer/FoundationHTTPHandler.swift diff --git a/Sources/Clickstream/ThirdPartyLibraries/Sources/Framer/FoundationHTTPServerHandler.swift b/Sources/ClickstreamLib/ThirdPartyLibraries/Sources/Framer/FoundationHTTPServerHandler.swift similarity index 100% rename from Sources/Clickstream/ThirdPartyLibraries/Sources/Framer/FoundationHTTPServerHandler.swift rename to Sources/ClickstreamLib/ThirdPartyLibraries/Sources/Framer/FoundationHTTPServerHandler.swift diff --git a/Sources/Clickstream/ThirdPartyLibraries/Sources/Framer/FrameCollector.swift b/Sources/ClickstreamLib/ThirdPartyLibraries/Sources/Framer/FrameCollector.swift similarity index 100% rename from Sources/Clickstream/ThirdPartyLibraries/Sources/Framer/FrameCollector.swift rename to Sources/ClickstreamLib/ThirdPartyLibraries/Sources/Framer/FrameCollector.swift diff --git a/Sources/Clickstream/ThirdPartyLibraries/Sources/Framer/Framer.swift b/Sources/ClickstreamLib/ThirdPartyLibraries/Sources/Framer/Framer.swift similarity index 100% rename from Sources/Clickstream/ThirdPartyLibraries/Sources/Framer/Framer.swift rename to Sources/ClickstreamLib/ThirdPartyLibraries/Sources/Framer/Framer.swift diff --git a/Sources/Clickstream/ThirdPartyLibraries/Sources/Framer/HTTPHandler.swift b/Sources/ClickstreamLib/ThirdPartyLibraries/Sources/Framer/HTTPHandler.swift similarity index 100% rename from Sources/Clickstream/ThirdPartyLibraries/Sources/Framer/HTTPHandler.swift rename to Sources/ClickstreamLib/ThirdPartyLibraries/Sources/Framer/HTTPHandler.swift diff --git a/Sources/Clickstream/ThirdPartyLibraries/Sources/Framer/StringHTTPHandler.swift b/Sources/ClickstreamLib/ThirdPartyLibraries/Sources/Framer/StringHTTPHandler.swift similarity index 100% rename from Sources/Clickstream/ThirdPartyLibraries/Sources/Framer/StringHTTPHandler.swift rename to Sources/ClickstreamLib/ThirdPartyLibraries/Sources/Framer/StringHTTPHandler.swift diff --git a/Sources/Clickstream/ThirdPartyLibraries/Sources/Security/FoundationSecurity.swift b/Sources/ClickstreamLib/ThirdPartyLibraries/Sources/Security/FoundationSecurity.swift similarity index 100% rename from Sources/Clickstream/ThirdPartyLibraries/Sources/Security/FoundationSecurity.swift rename to Sources/ClickstreamLib/ThirdPartyLibraries/Sources/Security/FoundationSecurity.swift diff --git a/Sources/Clickstream/ThirdPartyLibraries/Sources/Security/Security.swift b/Sources/ClickstreamLib/ThirdPartyLibraries/Sources/Security/Security.swift similarity index 100% rename from Sources/Clickstream/ThirdPartyLibraries/Sources/Security/Security.swift rename to Sources/ClickstreamLib/ThirdPartyLibraries/Sources/Security/Security.swift diff --git a/Sources/Clickstream/ThirdPartyLibraries/Sources/Server/Server.swift b/Sources/ClickstreamLib/ThirdPartyLibraries/Sources/Server/Server.swift similarity index 100% rename from Sources/Clickstream/ThirdPartyLibraries/Sources/Server/Server.swift rename to Sources/ClickstreamLib/ThirdPartyLibraries/Sources/Server/Server.swift diff --git a/Sources/Clickstream/ThirdPartyLibraries/Sources/Server/WebSocketServer.swift b/Sources/ClickstreamLib/ThirdPartyLibraries/Sources/Server/WebSocketServer.swift similarity index 100% rename from Sources/Clickstream/ThirdPartyLibraries/Sources/Server/WebSocketServer.swift rename to Sources/ClickstreamLib/ThirdPartyLibraries/Sources/Server/WebSocketServer.swift diff --git a/Sources/Clickstream/ThirdPartyLibraries/Sources/Starscream/WebSocket.swift b/Sources/ClickstreamLib/ThirdPartyLibraries/Sources/Starscream/WebSocket.swift similarity index 100% rename from Sources/Clickstream/ThirdPartyLibraries/Sources/Starscream/WebSocket.swift rename to Sources/ClickstreamLib/ThirdPartyLibraries/Sources/Starscream/WebSocket.swift diff --git a/Sources/Clickstream/ThirdPartyLibraries/Sources/Transport/FoundationTransport.swift b/Sources/ClickstreamLib/ThirdPartyLibraries/Sources/Transport/FoundationTransport.swift similarity index 100% rename from Sources/Clickstream/ThirdPartyLibraries/Sources/Transport/FoundationTransport.swift rename to Sources/ClickstreamLib/ThirdPartyLibraries/Sources/Transport/FoundationTransport.swift diff --git a/Sources/Clickstream/ThirdPartyLibraries/Sources/Transport/TCPTransport.swift b/Sources/ClickstreamLib/ThirdPartyLibraries/Sources/Transport/TCPTransport.swift similarity index 100% rename from Sources/Clickstream/ThirdPartyLibraries/Sources/Transport/TCPTransport.swift rename to Sources/ClickstreamLib/ThirdPartyLibraries/Sources/Transport/TCPTransport.swift diff --git a/Sources/Clickstream/ThirdPartyLibraries/Sources/Transport/Transport.swift b/Sources/ClickstreamLib/ThirdPartyLibraries/Sources/Transport/Transport.swift similarity index 100% rename from Sources/Clickstream/ThirdPartyLibraries/Sources/Transport/Transport.swift rename to Sources/ClickstreamLib/ThirdPartyLibraries/Sources/Transport/Transport.swift diff --git a/auto_version_bump.py b/auto_version_bump.py index b09b35e..4cf949f 100644 --- a/auto_version_bump.py +++ b/auto_version_bump.py @@ -1,8 +1,8 @@ import os, sys import fileinput -project_name = 'Clickstream' -podspec_file_name = 'Clickstream.podspec' +project_name = 'ClickstreamLib' +podspec_file_name = 'ClickstreamLib.podspec' new_tag = "" lib_command = "" @@ -23,7 +23,7 @@ def podCommandEdit(): lib_command = 'pod lib lint --allow-warnings' pod_push_command = 'pod trunk push ' + podspec_file_name + ' --allow-warnings' git_add = 'git add .' - git_commit = 'git commit -m "Updating Clickstream.podspec version"' + git_commit = 'git commit -m "Updating ClickstreamLib.podspec version"' git_push = 'git push origin main' From 6e564c7ee1667136e9025506b2bf96cb0c98d132 Mon Sep 17 00:00:00 2001 From: Rishav Gupta Date: Mon, 10 Jul 2023 17:48:48 +0530 Subject: [PATCH 02/14] updating collection mapper --- Sources/EventVisualizer/src/Helpers/CollectionMapper.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Sources/EventVisualizer/src/Helpers/CollectionMapper.swift b/Sources/EventVisualizer/src/Helpers/CollectionMapper.swift index 351723c..e936c5b 100644 --- a/Sources/EventVisualizer/src/Helpers/CollectionMapper.swift +++ b/Sources/EventVisualizer/src/Helpers/CollectionMapper.swift @@ -41,7 +41,7 @@ public extension CollectionMapper { func flattenRec(output: inout [String: Any], keyPath: String, value: Any) { if let dict = value as? [String: Any] { dict.forEach { key, value in - let calculatedKey = "\(keyPath).\(key)".replacingOccurrences(of: "_", with: "") + let calculatedKey = "\(keyPath).\(key)".replacingOccurrences(of: "_", with: "").replacingOccurrences(of: "storage.", with: "") flattenRec(output: &output, keyPath: calculatedKey, value: value) } } else { From 15743d58a2ca555f5e3452b8663fd0b3744326a9 Mon Sep 17 00:00:00 2001 From: Rishav Gupta Date: Mon, 10 Jul 2023 17:49:42 +0530 Subject: [PATCH 03/14] Update ClickstreamLib.podspec --- ClickstreamLib.podspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ClickstreamLib.podspec b/ClickstreamLib.podspec index 3fd884e..0ece493 100644 --- a/ClickstreamLib.podspec +++ b/ClickstreamLib.podspec @@ -8,7 +8,7 @@ Pod::Spec.new do |s| s.name = "ClickstreamLib" - s.version = "2.0.1" + s.version = "2.0.2" s.summary = "Real time Analytics SDK" s.description = "Clickstream is an event agnostic, real-time data ingestion analytics SDK" From 10866e6a68569fccd408e40e7bbe89b7fbdc751a Mon Sep 17 00:00:00 2001 From: Rishav Gupta Date: Tue, 11 Jul 2023 15:14:08 +0530 Subject: [PATCH 04/14] adding license --- ClickstreamLib.podspec | 2 +- LICENSE | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 LICENSE diff --git a/ClickstreamLib.podspec b/ClickstreamLib.podspec index 0ece493..5b59baf 100644 --- a/ClickstreamLib.podspec +++ b/ClickstreamLib.podspec @@ -8,7 +8,7 @@ Pod::Spec.new do |s| s.name = "ClickstreamLib" - s.version = "2.0.2" + s.version = "2.0.3" s.summary = "Real time Analytics SDK" s.description = "Clickstream is an event agnostic, real-time data ingestion analytics SDK" diff --git a/LICENSE b/LICENSE new file mode 100644 index 0000000..21caeda --- /dev/null +++ b/LICENSE @@ -0,0 +1,19 @@ +Copyright (c) 2016 Ashley Mills + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. From 805d2ac3ca4dd9ab30500acbed33befaa5c91038 Mon Sep 17 00:00:00 2001 From: Rishav Gupta Date: Tue, 8 Aug 2023 11:33:44 +0530 Subject: [PATCH 05/14] Repeating Timer fix + Crash on EV fix --- .../ClickstreamLib/Core/Interface/ClickStream.swift | 4 ++++ .../DispatchSourceTimer+RepeatingTimer.swift | 12 +++++++----- .../EventVisualizer/src/Helpers/EventsHelper.swift | 8 ++++++-- 3 files changed, 17 insertions(+), 7 deletions(-) diff --git a/Sources/ClickstreamLib/Core/Interface/ClickStream.swift b/Sources/ClickstreamLib/Core/Interface/ClickStream.swift index 07c56f0..705f7da 100644 --- a/Sources/ClickstreamLib/Core/Interface/ClickStream.swift +++ b/Sources/ClickstreamLib/Core/Interface/ClickStream.swift @@ -107,6 +107,8 @@ public final class Clickstream { static var updateConnectionStatus: Bool = false + static var timerCrashFixFlag: Bool = false + /// Use this property to pass application name without any space or special characters. static var appPrefix: String = "" @@ -167,6 +169,7 @@ public final class Clickstream { eventClassification: ClickstreamEventClassification, delegate: ClickstreamDelegate? = nil, updateConnectionStatus: Bool = false, + timerCrashFixFlag: Bool = false, appPrefix: String) throws -> Clickstream? { do { return try initializeClickstream( @@ -223,6 +226,7 @@ public final class Clickstream { Clickstream.configurations = configurations Clickstream.eventClassifier = eventClassification Clickstream.updateConnectionStatus = updateConnectionStatus + Clickstream.timerCrashFixFlag = timerCrashFixFlag Clickstream.appPrefix = appPrefix.lowercased().replacingOccurrences(of: " ", with: "") // All the dependency injections pertaining to the clickstream blocks happen here! diff --git a/Sources/ClickstreamLib/NetworkManager/Infrastructure/Utilities/DispatchSourceTimer+RepeatingTimer.swift b/Sources/ClickstreamLib/NetworkManager/Infrastructure/Utilities/DispatchSourceTimer+RepeatingTimer.swift index 4b71e9e..02cbb9f 100644 --- a/Sources/ClickstreamLib/NetworkManager/Infrastructure/Utilities/DispatchSourceTimer+RepeatingTimer.swift +++ b/Sources/ClickstreamLib/NetworkManager/Infrastructure/Utilities/DispatchSourceTimer+RepeatingTimer.swift @@ -41,11 +41,13 @@ class RepeatingTimer { deinit { timer.setEventHandler {} timer.cancel() - /* - If the timer is suspended, calling cancel without resuming - triggers a crash. This is documented here https://forums.developer.apple.com/thread/15902 - */ - resume() + if !Clickstream.timerCrashFixFlag { + /* + If the timer is suspended, calling cancel without resuming + triggers a crash. This is documented here https://forums.developer.apple.com/thread/15902 + */ + resume() + } eventHandler = nil } diff --git a/Sources/EventVisualizer/src/Helpers/EventsHelper.swift b/Sources/EventVisualizer/src/Helpers/EventsHelper.swift index aec516c..fd20cf7 100644 --- a/Sources/EventVisualizer/src/Helpers/EventsHelper.swift +++ b/Sources/EventVisualizer/src/Helpers/EventsHelper.swift @@ -91,7 +91,9 @@ extension EventsHelper: EventStateViewable { /// - eventBatch: this is the eventBatchGuid for a particular event batch /// - state: this is the state in which the event is in public func updateStatus(providedEventGuid: String? = nil, eventBatchID eventBatch: String? = nil, state: EventState) { - if let providedEventGuid = providedEventGuid, let foundIndex = indexOfEvent(with: providedEventGuid) { + if let providedEventGuid = providedEventGuid, + let foundIndex = indexOfEvent(with: providedEventGuid), + foundIndex < EventsHelper.shared.eventsCaptured.count { EventsHelper.shared.eventsCaptured[foundIndex].state = state if let eventBatch = eventBatch { @@ -100,7 +102,9 @@ extension EventsHelper: EventStateViewable { } else if let eventBatch = eventBatch { let foundIndexs = indexOfEventBatch(with: eventBatch) for eventIndex in foundIndexs { - EventsHelper.shared.eventsCaptured[eventIndex].state = state + if eventIndex < EventsHelper.shared.eventsCaptured.count { + EventsHelper.shared.eventsCaptured[eventIndex].state = state + } } } } From 2a5c6060dac93314e7e143bf2ef7e68a9942bb21 Mon Sep 17 00:00:00 2001 From: Rishav Gupta Date: Tue, 8 Aug 2023 11:38:05 +0530 Subject: [PATCH 06/14] updating version in podspec --- ClickstreamLib.podspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ClickstreamLib.podspec b/ClickstreamLib.podspec index 5b59baf..92fe455 100644 --- a/ClickstreamLib.podspec +++ b/ClickstreamLib.podspec @@ -8,7 +8,7 @@ Pod::Spec.new do |s| s.name = "ClickstreamLib" - s.version = "2.0.3" + s.version = "2.0.4" s.summary = "Real time Analytics SDK" s.description = "Clickstream is an event agnostic, real-time data ingestion analytics SDK" From b841aefcadb2586d9ada2ddc6c49fa05c9313375 Mon Sep 17 00:00:00 2001 From: Rishav Gupta Date: Tue, 8 Aug 2023 12:03:28 +0530 Subject: [PATCH 07/14] update podspec version --- ClickstreamLib.podspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ClickstreamLib.podspec b/ClickstreamLib.podspec index 92fe455..9045fff 100644 --- a/ClickstreamLib.podspec +++ b/ClickstreamLib.podspec @@ -8,7 +8,7 @@ Pod::Spec.new do |s| s.name = "ClickstreamLib" - s.version = "2.0.4" + s.version = "2.0.5" s.summary = "Real time Analytics SDK" s.description = "Clickstream is an event agnostic, real-time data ingestion analytics SDK" From 82eeb6e9a31e611240c0aad94b896cd9345700eb Mon Sep 17 00:00:00 2001 From: Rishav Gupta Date: Tue, 8 Aug 2023 12:08:47 +0530 Subject: [PATCH 08/14] reverting changes --- .../ClickstreamLib/Core/Interface/ClickStream.swift | 4 ---- .../DispatchSourceTimer+RepeatingTimer.swift | 12 +++++------- .../EventVisualizer/src/Helpers/EventsHelper.swift | 8 ++------ 3 files changed, 7 insertions(+), 17 deletions(-) diff --git a/Sources/ClickstreamLib/Core/Interface/ClickStream.swift b/Sources/ClickstreamLib/Core/Interface/ClickStream.swift index 705f7da..07c56f0 100644 --- a/Sources/ClickstreamLib/Core/Interface/ClickStream.swift +++ b/Sources/ClickstreamLib/Core/Interface/ClickStream.swift @@ -107,8 +107,6 @@ public final class Clickstream { static var updateConnectionStatus: Bool = false - static var timerCrashFixFlag: Bool = false - /// Use this property to pass application name without any space or special characters. static var appPrefix: String = "" @@ -169,7 +167,6 @@ public final class Clickstream { eventClassification: ClickstreamEventClassification, delegate: ClickstreamDelegate? = nil, updateConnectionStatus: Bool = false, - timerCrashFixFlag: Bool = false, appPrefix: String) throws -> Clickstream? { do { return try initializeClickstream( @@ -226,7 +223,6 @@ public final class Clickstream { Clickstream.configurations = configurations Clickstream.eventClassifier = eventClassification Clickstream.updateConnectionStatus = updateConnectionStatus - Clickstream.timerCrashFixFlag = timerCrashFixFlag Clickstream.appPrefix = appPrefix.lowercased().replacingOccurrences(of: " ", with: "") // All the dependency injections pertaining to the clickstream blocks happen here! diff --git a/Sources/ClickstreamLib/NetworkManager/Infrastructure/Utilities/DispatchSourceTimer+RepeatingTimer.swift b/Sources/ClickstreamLib/NetworkManager/Infrastructure/Utilities/DispatchSourceTimer+RepeatingTimer.swift index 02cbb9f..4b71e9e 100644 --- a/Sources/ClickstreamLib/NetworkManager/Infrastructure/Utilities/DispatchSourceTimer+RepeatingTimer.swift +++ b/Sources/ClickstreamLib/NetworkManager/Infrastructure/Utilities/DispatchSourceTimer+RepeatingTimer.swift @@ -41,13 +41,11 @@ class RepeatingTimer { deinit { timer.setEventHandler {} timer.cancel() - if !Clickstream.timerCrashFixFlag { - /* - If the timer is suspended, calling cancel without resuming - triggers a crash. This is documented here https://forums.developer.apple.com/thread/15902 - */ - resume() - } + /* + If the timer is suspended, calling cancel without resuming + triggers a crash. This is documented here https://forums.developer.apple.com/thread/15902 + */ + resume() eventHandler = nil } diff --git a/Sources/EventVisualizer/src/Helpers/EventsHelper.swift b/Sources/EventVisualizer/src/Helpers/EventsHelper.swift index fd20cf7..aec516c 100644 --- a/Sources/EventVisualizer/src/Helpers/EventsHelper.swift +++ b/Sources/EventVisualizer/src/Helpers/EventsHelper.swift @@ -91,9 +91,7 @@ extension EventsHelper: EventStateViewable { /// - eventBatch: this is the eventBatchGuid for a particular event batch /// - state: this is the state in which the event is in public func updateStatus(providedEventGuid: String? = nil, eventBatchID eventBatch: String? = nil, state: EventState) { - if let providedEventGuid = providedEventGuid, - let foundIndex = indexOfEvent(with: providedEventGuid), - foundIndex < EventsHelper.shared.eventsCaptured.count { + if let providedEventGuid = providedEventGuid, let foundIndex = indexOfEvent(with: providedEventGuid) { EventsHelper.shared.eventsCaptured[foundIndex].state = state if let eventBatch = eventBatch { @@ -102,9 +100,7 @@ extension EventsHelper: EventStateViewable { } else if let eventBatch = eventBatch { let foundIndexs = indexOfEventBatch(with: eventBatch) for eventIndex in foundIndexs { - if eventIndex < EventsHelper.shared.eventsCaptured.count { - EventsHelper.shared.eventsCaptured[eventIndex].state = state - } + EventsHelper.shared.eventsCaptured[eventIndex].state = state } } } From 90bbf27f02e5f14ef92361890020402bb984cb42 Mon Sep 17 00:00:00 2001 From: Rishav Gupta Date: Tue, 8 Aug 2023 12:09:16 +0530 Subject: [PATCH 09/14] updating pos version --- ClickstreamLib.podspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ClickstreamLib.podspec b/ClickstreamLib.podspec index 9045fff..b6f13ae 100644 --- a/ClickstreamLib.podspec +++ b/ClickstreamLib.podspec @@ -8,7 +8,7 @@ Pod::Spec.new do |s| s.name = "ClickstreamLib" - s.version = "2.0.5" + s.version = "2.0.6" s.summary = "Real time Analytics SDK" s.description = "Clickstream is an event agnostic, real-time data ingestion analytics SDK" From 189cb716611c8fd391d14d5fa7b04959bc829f7f Mon Sep 17 00:00:00 2001 From: AbhijeetMallick Date: Tue, 8 Aug 2023 14:03:57 +0530 Subject: [PATCH 10/14] Fix Event Visualiser + Repeating timer crash --- .../ClickstreamLib/Core/Interface/ClickStream.swift | 4 ++++ .../DispatchSourceTimer+RepeatingTimer.swift | 12 +++++++----- .../EventVisualizer/src/Helpers/EventsHelper.swift | 8 ++++++-- 3 files changed, 17 insertions(+), 7 deletions(-) diff --git a/Sources/ClickstreamLib/Core/Interface/ClickStream.swift b/Sources/ClickstreamLib/Core/Interface/ClickStream.swift index 07c56f0..705f7da 100644 --- a/Sources/ClickstreamLib/Core/Interface/ClickStream.swift +++ b/Sources/ClickstreamLib/Core/Interface/ClickStream.swift @@ -107,6 +107,8 @@ public final class Clickstream { static var updateConnectionStatus: Bool = false + static var timerCrashFixFlag: Bool = false + /// Use this property to pass application name without any space or special characters. static var appPrefix: String = "" @@ -167,6 +169,7 @@ public final class Clickstream { eventClassification: ClickstreamEventClassification, delegate: ClickstreamDelegate? = nil, updateConnectionStatus: Bool = false, + timerCrashFixFlag: Bool = false, appPrefix: String) throws -> Clickstream? { do { return try initializeClickstream( @@ -223,6 +226,7 @@ public final class Clickstream { Clickstream.configurations = configurations Clickstream.eventClassifier = eventClassification Clickstream.updateConnectionStatus = updateConnectionStatus + Clickstream.timerCrashFixFlag = timerCrashFixFlag Clickstream.appPrefix = appPrefix.lowercased().replacingOccurrences(of: " ", with: "") // All the dependency injections pertaining to the clickstream blocks happen here! diff --git a/Sources/ClickstreamLib/NetworkManager/Infrastructure/Utilities/DispatchSourceTimer+RepeatingTimer.swift b/Sources/ClickstreamLib/NetworkManager/Infrastructure/Utilities/DispatchSourceTimer+RepeatingTimer.swift index 4b71e9e..02cbb9f 100644 --- a/Sources/ClickstreamLib/NetworkManager/Infrastructure/Utilities/DispatchSourceTimer+RepeatingTimer.swift +++ b/Sources/ClickstreamLib/NetworkManager/Infrastructure/Utilities/DispatchSourceTimer+RepeatingTimer.swift @@ -41,11 +41,13 @@ class RepeatingTimer { deinit { timer.setEventHandler {} timer.cancel() - /* - If the timer is suspended, calling cancel without resuming - triggers a crash. This is documented here https://forums.developer.apple.com/thread/15902 - */ - resume() + if !Clickstream.timerCrashFixFlag { + /* + If the timer is suspended, calling cancel without resuming + triggers a crash. This is documented here https://forums.developer.apple.com/thread/15902 + */ + resume() + } eventHandler = nil } diff --git a/Sources/EventVisualizer/src/Helpers/EventsHelper.swift b/Sources/EventVisualizer/src/Helpers/EventsHelper.swift index aec516c..fd20cf7 100644 --- a/Sources/EventVisualizer/src/Helpers/EventsHelper.swift +++ b/Sources/EventVisualizer/src/Helpers/EventsHelper.swift @@ -91,7 +91,9 @@ extension EventsHelper: EventStateViewable { /// - eventBatch: this is the eventBatchGuid for a particular event batch /// - state: this is the state in which the event is in public func updateStatus(providedEventGuid: String? = nil, eventBatchID eventBatch: String? = nil, state: EventState) { - if let providedEventGuid = providedEventGuid, let foundIndex = indexOfEvent(with: providedEventGuid) { + if let providedEventGuid = providedEventGuid, + let foundIndex = indexOfEvent(with: providedEventGuid), + foundIndex < EventsHelper.shared.eventsCaptured.count { EventsHelper.shared.eventsCaptured[foundIndex].state = state if let eventBatch = eventBatch { @@ -100,7 +102,9 @@ extension EventsHelper: EventStateViewable { } else if let eventBatch = eventBatch { let foundIndexs = indexOfEventBatch(with: eventBatch) for eventIndex in foundIndexs { - EventsHelper.shared.eventsCaptured[eventIndex].state = state + if eventIndex < EventsHelper.shared.eventsCaptured.count { + EventsHelper.shared.eventsCaptured[eventIndex].state = state + } } } } From 108459d84b726c74c6eb89a4ec2b478812ad8616 Mon Sep 17 00:00:00 2001 From: AbhijeetMallick Date: Tue, 8 Aug 2023 14:05:12 +0530 Subject: [PATCH 11/14] Updated podspec file --- ClickstreamLib.podspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ClickstreamLib.podspec b/ClickstreamLib.podspec index b6f13ae..bd62b15 100644 --- a/ClickstreamLib.podspec +++ b/ClickstreamLib.podspec @@ -8,7 +8,7 @@ Pod::Spec.new do |s| s.name = "ClickstreamLib" - s.version = "2.0.6" + s.version = "2.0.7" s.summary = "Real time Analytics SDK" s.description = "Clickstream is an event agnostic, real-time data ingestion analytics SDK" From 79c9387db69f12cae5a3cd742c2ecd123e387314 Mon Sep 17 00:00:00 2001 From: Sanju Naik <66404008+sanju-naik@users.noreply.github.com> Date: Thu, 10 Aug 2023 21:19:30 +0530 Subject: [PATCH 12/14] Add missing UIKit import in EventDetailsViewModel.swift --- .../EventVisualizer/src/EventDetails/EventDetailsViewModel.swift | 1 + 1 file changed, 1 insertion(+) diff --git a/Sources/EventVisualizer/src/EventDetails/EventDetailsViewModel.swift b/Sources/EventVisualizer/src/EventDetails/EventDetailsViewModel.swift index 4a062f0..00ae6fe 100644 --- a/Sources/EventVisualizer/src/EventDetails/EventDetailsViewModel.swift +++ b/Sources/EventVisualizer/src/EventDetails/EventDetailsViewModel.swift @@ -8,6 +8,7 @@ import Foundation import SwiftProtobuf +import UIKit protocol EventDetailsModelInput: AnyObject { From 5f1c01779d8f6ca694a477c8726ae69e92576b68 Mon Sep 17 00:00:00 2001 From: AbhijeetMallick Date: Fri, 11 Aug 2023 12:25:28 +0530 Subject: [PATCH 13/14] version 2.0.8 --- ClickstreamLib.podspec | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ClickstreamLib.podspec b/ClickstreamLib.podspec index bd62b15..4cb0c1a 100644 --- a/ClickstreamLib.podspec +++ b/ClickstreamLib.podspec @@ -8,7 +8,7 @@ Pod::Spec.new do |s| s.name = "ClickstreamLib" - s.version = "2.0.7" + s.version = "2.0.8" s.summary = "Real time Analytics SDK" s.description = "Clickstream is an event agnostic, real-time data ingestion analytics SDK" From fd98f3aaaab29ec27ce07601f476592a755928fe Mon Sep 17 00:00:00 2001 From: Rishav Gupta Date: Thu, 21 Sep 2023 19:45:21 +0530 Subject: [PATCH 14/14] fixing the crash on repeating timer --- .../DispatchSourceTimer+RepeatingTimer.swift | 38 ++++++++++++++----- .../Utilities/KeepAliveService.swift | 27 +++++++++---- 2 files changed, 48 insertions(+), 17 deletions(-) diff --git a/Sources/ClickstreamLib/NetworkManager/Infrastructure/Utilities/DispatchSourceTimer+RepeatingTimer.swift b/Sources/ClickstreamLib/NetworkManager/Infrastructure/Utilities/DispatchSourceTimer+RepeatingTimer.swift index 02cbb9f..38e5ef6 100644 --- a/Sources/ClickstreamLib/NetworkManager/Infrastructure/Utilities/DispatchSourceTimer+RepeatingTimer.swift +++ b/Sources/ClickstreamLib/NetworkManager/Infrastructure/Utilities/DispatchSourceTimer+RepeatingTimer.swift @@ -13,8 +13,14 @@ import Foundation /// crashes that occur from calling resume multiple times on a timer that is /// already resumed (noted by https://github.com/SiftScience/sift-ios/issues/52) class RepeatingTimer { + + static let shared = RepeatingTimer() + + var timeInterval: TimeInterval = 0 + + private var suspensionCount = 0 - let timeInterval: TimeInterval + private init() { } init(timeInterval: TimeInterval) { self.timeInterval = timeInterval @@ -41,13 +47,11 @@ class RepeatingTimer { deinit { timer.setEventHandler {} timer.cancel() - if !Clickstream.timerCrashFixFlag { - /* - If the timer is suspended, calling cancel without resuming - triggers a crash. This is documented here https://forums.developer.apple.com/thread/15902 - */ - resume() - } + /* + If the timer is suspended, calling cancel without resuming + triggers a crash. This is documented here https://forums.developer.apple.com/thread/15902 + */ + resume() eventHandler = nil } @@ -55,19 +59,33 @@ class RepeatingTimer { if state.value == .resumed { return } + suspensionCount -= 1 state.mutate { state in state = .resumed } - timer.resume() + if Clickstream.timerCrashFixFlag { + if suspensionCount > 0 { + self.timer.resume() + } + } else { + timer.resume() + } } func suspend() { if state.value == .suspended { return } + suspensionCount += 1 state.mutate { state in state = .suspended } - timer.suspend() + if Clickstream.timerCrashFixFlag { + if suspensionCount > 0 { + timer.suspend() + } + } else { + timer.suspend() + } } } diff --git a/Sources/ClickstreamLib/NetworkManager/Infrastructure/Utilities/KeepAliveService.swift b/Sources/ClickstreamLib/NetworkManager/Infrastructure/Utilities/KeepAliveService.swift index d9b7fa8..5152322 100644 --- a/Sources/ClickstreamLib/NetworkManager/Infrastructure/Utilities/KeepAliveService.swift +++ b/Sources/ClickstreamLib/NetworkManager/Infrastructure/Utilities/KeepAliveService.swift @@ -89,15 +89,28 @@ final class DefaultKeepAliveServiceWithSafeTimer: KeepAliveService { @discardableResult private func makeTimer() -> RepeatingTimer? { - let timerDuration = duration*reachability.connectionRetryCoefficient - timer = RepeatingTimer(timeInterval: timerDuration) - timer?.eventHandler = { [weak self] in - guard let checkedSelf = self else { return } - checkedSelf.performQueue.async { - checkedSelf.subscriber?() + if Clickstream.timerCrashFixFlag { + let timerDuration = duration*reachability.connectionRetryCoefficient + RepeatingTimer.shared.timeInterval = timerDuration + self.timer = RepeatingTimer.shared + timer?.eventHandler = { [weak self] in + guard let checkedSelf = self else { return } + checkedSelf.performQueue.async { + checkedSelf.subscriber?() + } + } + return timer + } else { + let timerDuration = duration*reachability.connectionRetryCoefficient + self.timer = RepeatingTimer(timeInterval: timerDuration) + timer?.eventHandler = { [weak self] in + guard let checkedSelf = self else { return } + checkedSelf.performQueue.async { + checkedSelf.subscriber?() + } } + return timer } - return timer } func stop() {