@expofp/react-native-efp-crowdconnected 0.1.8 → 0.1.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ExpofpCrowdconnected.podspec +1 -1
- package/README.md +67 -5
- package/android/build.gradle +14 -4
- package/android/src/main/java/com/expofpcrowdconnected/ExpoFpCrowdConnectedLocationProviderSettings.kt +24 -20
- package/android/src/main/java/com/expofpcrowdconnected/RCTCrowdConnectedLocationProviderModule.kt +112 -6
- package/ios/ExpoFpLocationProvider/ExpoFpCrowdConnectedLocationProviderSettings.swift +2 -2
- package/ios/ExpoFpLocationProvider/ExpoFpLocationSettings.swift +2 -2
- package/ios/ExpoFpLocationProvider/ExpoFpSimulationDelegate.swift +40 -0
- package/ios/Frameworks/CrowdConnectedCore.xcframework/ios-arm64/CrowdConnectedCore.framework/CrowdConnectedCore +0 -0
- package/ios/Frameworks/CrowdConnectedCore.xcframework/ios-arm64/CrowdConnectedCore.framework/Headers/CrowdConnectedCore-Swift.h +48 -0
- package/ios/Frameworks/CrowdConnectedCore.xcframework/ios-arm64/CrowdConnectedCore.framework/Info.plist +0 -0
- package/ios/Frameworks/CrowdConnectedCore.xcframework/ios-arm64/CrowdConnectedCore.framework/Modules/CrowdConnectedCore.swiftmodule/arm64-apple-ios.abi.json +731 -363
- package/ios/Frameworks/CrowdConnectedCore.xcframework/ios-arm64/CrowdConnectedCore.framework/Modules/CrowdConnectedCore.swiftmodule/arm64-apple-ios.private.swiftinterface +13 -8
- package/ios/Frameworks/CrowdConnectedCore.xcframework/ios-arm64/CrowdConnectedCore.framework/Modules/CrowdConnectedCore.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
- package/ios/Frameworks/CrowdConnectedCore.xcframework/ios-arm64/CrowdConnectedCore.framework/Modules/CrowdConnectedCore.swiftmodule/arm64-apple-ios.swiftinterface +12 -7
- package/ios/Frameworks/CrowdConnectedCore.xcframework/ios-arm64/CrowdConnectedCore.framework/_CodeSignature/CodeResources +13 -13
- package/ios/Frameworks/CrowdConnectedCore.xcframework/ios-arm64_x86_64-simulator/CrowdConnectedCore.framework/CrowdConnectedCore +0 -0
- package/ios/Frameworks/CrowdConnectedCore.xcframework/ios-arm64_x86_64-simulator/CrowdConnectedCore.framework/Headers/CrowdConnectedCore-Swift.h +96 -0
- package/ios/Frameworks/CrowdConnectedCore.xcframework/ios-arm64_x86_64-simulator/CrowdConnectedCore.framework/Info.plist +0 -0
- package/ios/Frameworks/CrowdConnectedCore.xcframework/ios-arm64_x86_64-simulator/CrowdConnectedCore.framework/Modules/CrowdConnectedCore.swiftmodule/arm64-apple-ios-simulator.abi.json +731 -363
- package/ios/Frameworks/CrowdConnectedCore.xcframework/ios-arm64_x86_64-simulator/CrowdConnectedCore.framework/Modules/CrowdConnectedCore.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +13 -8
- package/ios/Frameworks/CrowdConnectedCore.xcframework/ios-arm64_x86_64-simulator/CrowdConnectedCore.framework/Modules/CrowdConnectedCore.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
- package/ios/Frameworks/CrowdConnectedCore.xcframework/ios-arm64_x86_64-simulator/CrowdConnectedCore.framework/Modules/CrowdConnectedCore.swiftmodule/arm64-apple-ios-simulator.swiftinterface +12 -7
- package/ios/Frameworks/CrowdConnectedCore.xcframework/ios-arm64_x86_64-simulator/CrowdConnectedCore.framework/Modules/CrowdConnectedCore.swiftmodule/x86_64-apple-ios-simulator.abi.json +731 -363
- package/ios/Frameworks/CrowdConnectedCore.xcframework/ios-arm64_x86_64-simulator/CrowdConnectedCore.framework/Modules/CrowdConnectedCore.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +13 -8
- package/ios/Frameworks/CrowdConnectedCore.xcframework/ios-arm64_x86_64-simulator/CrowdConnectedCore.framework/Modules/CrowdConnectedCore.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
- package/ios/Frameworks/CrowdConnectedCore.xcframework/ios-arm64_x86_64-simulator/CrowdConnectedCore.framework/Modules/CrowdConnectedCore.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +12 -7
- package/ios/Frameworks/CrowdConnectedCore.xcframework/ios-arm64_x86_64-simulator/CrowdConnectedCore.framework/_CodeSignature/CodeResources +23 -23
- package/ios/Frameworks/CrowdConnectedCoreBluetooth.xcframework/ios-arm64/CrowdConnectedCoreBluetooth.framework/CrowdConnectedCoreBluetooth +0 -0
- package/ios/Frameworks/CrowdConnectedCoreBluetooth.xcframework/ios-arm64/CrowdConnectedCoreBluetooth.framework/Modules/CrowdConnectedCoreBluetooth.swiftmodule/arm64-apple-ios.abi.json +10 -10
- package/ios/Frameworks/CrowdConnectedCoreBluetooth.xcframework/ios-arm64/CrowdConnectedCoreBluetooth.framework/_CodeSignature/CodeResources +4 -4
- package/ios/Frameworks/CrowdConnectedCoreBluetooth.xcframework/ios-arm64_x86_64-simulator/CrowdConnectedCoreBluetooth.framework/CrowdConnectedCoreBluetooth +0 -0
- package/ios/Frameworks/CrowdConnectedCoreBluetooth.xcframework/ios-arm64_x86_64-simulator/CrowdConnectedCoreBluetooth.framework/Modules/CrowdConnectedCoreBluetooth.swiftmodule/arm64-apple-ios-simulator.abi.json +10 -10
- package/ios/Frameworks/CrowdConnectedCoreBluetooth.xcframework/ios-arm64_x86_64-simulator/CrowdConnectedCoreBluetooth.framework/Modules/CrowdConnectedCoreBluetooth.swiftmodule/x86_64-apple-ios-simulator.abi.json +10 -10
- package/ios/Frameworks/CrowdConnectedCoreBluetooth.xcframework/ios-arm64_x86_64-simulator/CrowdConnectedCoreBluetooth.framework/_CodeSignature/CodeResources +8 -8
- package/ios/Frameworks/CrowdConnectedGeo.xcframework/Info.plist +5 -5
- package/ios/Frameworks/CrowdConnectedGeo.xcframework/ios-arm64/CrowdConnectedGeo.framework/CrowdConnectedGeo +0 -0
- package/ios/Frameworks/CrowdConnectedGeo.xcframework/ios-arm64/CrowdConnectedGeo.framework/Modules/CrowdConnectedGeo.swiftmodule/arm64-apple-ios.abi.json +142 -33
- package/ios/Frameworks/CrowdConnectedGeo.xcframework/ios-arm64/CrowdConnectedGeo.framework/Modules/CrowdConnectedGeo.swiftmodule/arm64-apple-ios.private.swiftinterface +7 -0
- package/ios/Frameworks/CrowdConnectedGeo.xcframework/ios-arm64/CrowdConnectedGeo.framework/Modules/CrowdConnectedGeo.swiftmodule/arm64-apple-ios.swiftinterface +7 -0
- package/ios/Frameworks/CrowdConnectedGeo.xcframework/ios-arm64/CrowdConnectedGeo.framework/_CodeSignature/CodeResources +8 -8
- package/ios/Frameworks/CrowdConnectedGeo.xcframework/ios-arm64_x86_64-simulator/CrowdConnectedGeo.framework/CrowdConnectedGeo +0 -0
- package/ios/Frameworks/CrowdConnectedGeo.xcframework/ios-arm64_x86_64-simulator/CrowdConnectedGeo.framework/Modules/CrowdConnectedGeo.swiftmodule/arm64-apple-ios-simulator.abi.json +142 -33
- package/ios/Frameworks/CrowdConnectedGeo.xcframework/ios-arm64_x86_64-simulator/CrowdConnectedGeo.framework/Modules/CrowdConnectedGeo.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +7 -0
- package/ios/Frameworks/CrowdConnectedGeo.xcframework/ios-arm64_x86_64-simulator/CrowdConnectedGeo.framework/Modules/CrowdConnectedGeo.swiftmodule/arm64-apple-ios-simulator.swiftinterface +7 -0
- package/ios/Frameworks/CrowdConnectedGeo.xcframework/ios-arm64_x86_64-simulator/CrowdConnectedGeo.framework/Modules/CrowdConnectedGeo.swiftmodule/x86_64-apple-ios-simulator.abi.json +142 -33
- package/ios/Frameworks/CrowdConnectedGeo.xcframework/ios-arm64_x86_64-simulator/CrowdConnectedGeo.framework/Modules/CrowdConnectedGeo.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +7 -0
- package/ios/Frameworks/CrowdConnectedGeo.xcframework/ios-arm64_x86_64-simulator/CrowdConnectedGeo.framework/Modules/CrowdConnectedGeo.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +7 -0
- package/ios/Frameworks/CrowdConnectedGeo.xcframework/ios-arm64_x86_64-simulator/CrowdConnectedGeo.framework/_CodeSignature/CodeResources +16 -16
- package/ios/Frameworks/CrowdConnectedIPS.xcframework/ios-arm64/CrowdConnectedIPS.framework/CrowdConnectedIPS +0 -0
- package/ios/Frameworks/CrowdConnectedIPS.xcframework/ios-arm64/CrowdConnectedIPS.framework/Modules/CrowdConnectedIPS.swiftmodule/arm64-apple-ios.abi.json +251 -113
- package/ios/Frameworks/CrowdConnectedIPS.xcframework/ios-arm64/CrowdConnectedIPS.framework/Modules/CrowdConnectedIPS.swiftmodule/arm64-apple-ios.private.swiftinterface +7 -2
- package/ios/Frameworks/CrowdConnectedIPS.xcframework/ios-arm64/CrowdConnectedIPS.framework/Modules/CrowdConnectedIPS.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
- package/ios/Frameworks/CrowdConnectedIPS.xcframework/ios-arm64/CrowdConnectedIPS.framework/Modules/CrowdConnectedIPS.swiftmodule/arm64-apple-ios.swiftinterface +7 -2
- package/ios/Frameworks/CrowdConnectedIPS.xcframework/ios-arm64/CrowdConnectedIPS.framework/_CodeSignature/CodeResources +10 -10
- package/ios/Frameworks/CrowdConnectedIPS.xcframework/ios-arm64_x86_64-simulator/CrowdConnectedIPS.framework/CrowdConnectedIPS +0 -0
- package/ios/Frameworks/CrowdConnectedIPS.xcframework/ios-arm64_x86_64-simulator/CrowdConnectedIPS.framework/Modules/CrowdConnectedIPS.swiftmodule/arm64-apple-ios-simulator.abi.json +251 -113
- package/ios/Frameworks/CrowdConnectedIPS.xcframework/ios-arm64_x86_64-simulator/CrowdConnectedIPS.framework/Modules/CrowdConnectedIPS.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +7 -2
- package/ios/Frameworks/CrowdConnectedIPS.xcframework/ios-arm64_x86_64-simulator/CrowdConnectedIPS.framework/Modules/CrowdConnectedIPS.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
- package/ios/Frameworks/CrowdConnectedIPS.xcframework/ios-arm64_x86_64-simulator/CrowdConnectedIPS.framework/Modules/CrowdConnectedIPS.swiftmodule/arm64-apple-ios-simulator.swiftinterface +7 -2
- package/ios/Frameworks/CrowdConnectedIPS.xcframework/ios-arm64_x86_64-simulator/CrowdConnectedIPS.framework/Modules/CrowdConnectedIPS.swiftmodule/x86_64-apple-ios-simulator.abi.json +251 -113
- package/ios/Frameworks/CrowdConnectedIPS.xcframework/ios-arm64_x86_64-simulator/CrowdConnectedIPS.framework/Modules/CrowdConnectedIPS.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +7 -2
- package/ios/Frameworks/CrowdConnectedIPS.xcframework/ios-arm64_x86_64-simulator/CrowdConnectedIPS.framework/Modules/CrowdConnectedIPS.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
- package/ios/Frameworks/CrowdConnectedIPS.xcframework/ios-arm64_x86_64-simulator/CrowdConnectedIPS.framework/Modules/CrowdConnectedIPS.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +7 -2
- package/ios/Frameworks/CrowdConnectedIPS.xcframework/ios-arm64_x86_64-simulator/CrowdConnectedIPS.framework/_CodeSignature/CodeResources +20 -20
- package/ios/Frameworks/CrowdConnectedShared.xcframework/ios-arm64/CrowdConnectedShared.framework/CrowdConnectedShared +0 -0
- package/ios/Frameworks/CrowdConnectedShared.xcframework/ios-arm64/CrowdConnectedShared.framework/Modules/CrowdConnectedShared.swiftmodule/arm64-apple-ios.abi.json +904 -235
- package/ios/Frameworks/CrowdConnectedShared.xcframework/ios-arm64/CrowdConnectedShared.framework/Modules/CrowdConnectedShared.swiftmodule/arm64-apple-ios.private.swiftinterface +33 -3
- package/ios/Frameworks/CrowdConnectedShared.xcframework/ios-arm64/CrowdConnectedShared.framework/Modules/CrowdConnectedShared.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
- package/ios/Frameworks/CrowdConnectedShared.xcframework/ios-arm64/CrowdConnectedShared.framework/Modules/CrowdConnectedShared.swiftmodule/arm64-apple-ios.swiftinterface +31 -3
- package/ios/Frameworks/CrowdConnectedShared.xcframework/ios-arm64/CrowdConnectedShared.framework/_CodeSignature/CodeResources +10 -10
- package/ios/Frameworks/CrowdConnectedShared.xcframework/ios-arm64_x86_64-simulator/CrowdConnectedShared.framework/CrowdConnectedShared +0 -0
- package/ios/Frameworks/CrowdConnectedShared.xcframework/ios-arm64_x86_64-simulator/CrowdConnectedShared.framework/Modules/CrowdConnectedShared.swiftmodule/arm64-apple-ios-simulator.abi.json +904 -235
- package/ios/Frameworks/CrowdConnectedShared.xcframework/ios-arm64_x86_64-simulator/CrowdConnectedShared.framework/Modules/CrowdConnectedShared.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +33 -3
- package/ios/Frameworks/CrowdConnectedShared.xcframework/ios-arm64_x86_64-simulator/CrowdConnectedShared.framework/Modules/CrowdConnectedShared.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
- package/ios/Frameworks/CrowdConnectedShared.xcframework/ios-arm64_x86_64-simulator/CrowdConnectedShared.framework/Modules/CrowdConnectedShared.swiftmodule/arm64-apple-ios-simulator.swiftinterface +31 -3
- package/ios/Frameworks/CrowdConnectedShared.xcframework/ios-arm64_x86_64-simulator/CrowdConnectedShared.framework/Modules/CrowdConnectedShared.swiftmodule/x86_64-apple-ios-simulator.abi.json +904 -235
- package/ios/Frameworks/CrowdConnectedShared.xcframework/ios-arm64_x86_64-simulator/CrowdConnectedShared.framework/Modules/CrowdConnectedShared.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +33 -3
- package/ios/Frameworks/CrowdConnectedShared.xcframework/ios-arm64_x86_64-simulator/CrowdConnectedShared.framework/Modules/CrowdConnectedShared.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
- package/ios/Frameworks/CrowdConnectedShared.xcframework/ios-arm64_x86_64-simulator/CrowdConnectedShared.framework/Modules/CrowdConnectedShared.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +31 -3
- package/ios/Frameworks/CrowdConnectedShared.xcframework/ios-arm64_x86_64-simulator/CrowdConnectedShared.framework/_CodeSignature/CodeResources +20 -20
- package/ios/RCTCrowdConnectedLocationProvider.m +3 -0
- package/ios/RCTCrowdConnectedLocationProvider.swift +19 -1
- package/lib/module/crowdconnected-location-provider-native-module.js +30 -0
- package/lib/module/crowdconnected-location-provider-native-module.js.map +1 -1
- package/lib/typescript/src/crowdconnected-location-provider-native-module.d.ts.map +1 -1
- package/lib/typescript/src/types.d.ts +31 -2
- package/lib/typescript/src/types.d.ts.map +1 -1
- package/package.json +1 -9
- package/src/crowdconnected-location-provider-native-module.tsx +51 -0
- package/src/types.ts +33 -2
|
@@ -6,13 +6,11 @@ import CoreLocation
|
|
|
6
6
|
import CoreMotion
|
|
7
7
|
@_exported import CrowdConnectedShared
|
|
8
8
|
import Foundation
|
|
9
|
-
import OSLog
|
|
10
9
|
import Swift
|
|
11
10
|
import UIKit
|
|
12
11
|
import _Concurrency
|
|
13
12
|
import _StringProcessing
|
|
14
13
|
import _SwiftConcurrencyShims
|
|
15
|
-
import os
|
|
16
14
|
@_hasMissingDesignatedInitializers public class MainLogger {
|
|
17
15
|
public enum LogTag : Swift.String {
|
|
18
16
|
case IPS
|
|
@@ -28,6 +26,8 @@ import os
|
|
|
28
26
|
get
|
|
29
27
|
}
|
|
30
28
|
}
|
|
29
|
+
@_spi(CoreSDK) public static func addLogger(_ logger: any CrowdConnectedShared.LoggerProtocol)
|
|
30
|
+
@_spi(CoreSDK) public static func removeLogger(_ logger: any CrowdConnectedShared.LoggerProtocol)
|
|
31
31
|
public static func reset()
|
|
32
32
|
public static func log(level: CrowdConnectedShared.LogLevel, message: @autoclosure () -> Swift.String)
|
|
33
33
|
#if compiler(>=5.3) && $NonescapableTypes
|
|
@@ -96,7 +96,7 @@ public enum ReactiveNotification : Swift.String {
|
|
|
96
96
|
public static func getSeconds() -> Swift.Double
|
|
97
97
|
@objc deinit
|
|
98
98
|
}
|
|
99
|
-
public protocol LoggerProtocol {
|
|
99
|
+
public protocol LoggerProtocol : AnyObject {
|
|
100
100
|
func log(level: CrowdConnectedShared.LogLevel, message: @autoclosure () -> Swift.String)
|
|
101
101
|
}
|
|
102
102
|
public enum LogLevel : Swift.String, Swift.CaseIterable {
|
|
@@ -218,6 +218,36 @@ public protocol ReactiveNotificationsProtocol {
|
|
|
218
218
|
extension CrowdConnectedShared.ReactiveNotificationsProtocol {
|
|
219
219
|
public func post(notification: CrowdConnectedShared.ReactiveNotification)
|
|
220
220
|
}
|
|
221
|
+
public protocol GpsSimulationSink : AnyObject {
|
|
222
|
+
#if compiler(>=5.3) && $NonescapableTypes
|
|
223
|
+
func injectLocation(lat: Swift.Double, lng: Swift.Double, accuracyMetres: Swift.Float, surfaceId: Swift.String?)
|
|
224
|
+
#endif
|
|
225
|
+
func onSimulationStarted()
|
|
226
|
+
func onSimulationStopped()
|
|
227
|
+
}
|
|
228
|
+
public protocol IpsSimulationSink : AnyObject {
|
|
229
|
+
#if compiler(>=5.3) && $NonescapableTypes
|
|
230
|
+
func injectIpsPosition(xMetres: Swift.Double, yMetres: Swift.Double, latitude: Swift.Double, longitude: Swift.Double, surfaceId: Swift.String?)
|
|
231
|
+
#endif
|
|
232
|
+
func onSimulationStarted()
|
|
233
|
+
func onSimulationStopped()
|
|
234
|
+
}
|
|
235
|
+
extension CrowdConnectedShared.IpsSimulationSink {
|
|
236
|
+
public func onSimulationStarted()
|
|
237
|
+
public func onSimulationStopped()
|
|
238
|
+
}
|
|
239
|
+
@_hasMissingDesignatedInitializers final public class SimulationSinkRegistry {
|
|
240
|
+
public static let shared: CrowdConnectedShared.SimulationSinkRegistry
|
|
241
|
+
final public func register(gpsSink: any CrowdConnectedShared.GpsSimulationSink)
|
|
242
|
+
final public func register(ipsSink: any CrowdConnectedShared.IpsSimulationSink)
|
|
243
|
+
final public var gpsSinks: [any CrowdConnectedShared.GpsSimulationSink] {
|
|
244
|
+
get
|
|
245
|
+
}
|
|
246
|
+
final public var ipsSinks: [any CrowdConnectedShared.IpsSimulationSink] {
|
|
247
|
+
get
|
|
248
|
+
}
|
|
249
|
+
@objc deinit
|
|
250
|
+
}
|
|
221
251
|
public enum DataType {
|
|
222
252
|
case positions
|
|
223
253
|
case steps
|
|
@@ -6,13 +6,11 @@ import CoreLocation
|
|
|
6
6
|
import CoreMotion
|
|
7
7
|
@_exported import CrowdConnectedShared
|
|
8
8
|
import Foundation
|
|
9
|
-
import OSLog
|
|
10
9
|
import Swift
|
|
11
10
|
import UIKit
|
|
12
11
|
import _Concurrency
|
|
13
12
|
import _StringProcessing
|
|
14
13
|
import _SwiftConcurrencyShims
|
|
15
|
-
import os
|
|
16
14
|
@_hasMissingDesignatedInitializers public class MainLogger {
|
|
17
15
|
public enum LogTag : Swift.String {
|
|
18
16
|
case IPS
|
|
@@ -96,7 +94,7 @@ public enum ReactiveNotification : Swift.String {
|
|
|
96
94
|
public static func getSeconds() -> Swift.Double
|
|
97
95
|
@objc deinit
|
|
98
96
|
}
|
|
99
|
-
public protocol LoggerProtocol {
|
|
97
|
+
public protocol LoggerProtocol : AnyObject {
|
|
100
98
|
func log(level: CrowdConnectedShared.LogLevel, message: @autoclosure () -> Swift.String)
|
|
101
99
|
}
|
|
102
100
|
public enum LogLevel : Swift.String, Swift.CaseIterable {
|
|
@@ -218,6 +216,36 @@ public protocol ReactiveNotificationsProtocol {
|
|
|
218
216
|
extension CrowdConnectedShared.ReactiveNotificationsProtocol {
|
|
219
217
|
public func post(notification: CrowdConnectedShared.ReactiveNotification)
|
|
220
218
|
}
|
|
219
|
+
public protocol GpsSimulationSink : AnyObject {
|
|
220
|
+
#if compiler(>=5.3) && $NonescapableTypes
|
|
221
|
+
func injectLocation(lat: Swift.Double, lng: Swift.Double, accuracyMetres: Swift.Float, surfaceId: Swift.String?)
|
|
222
|
+
#endif
|
|
223
|
+
func onSimulationStarted()
|
|
224
|
+
func onSimulationStopped()
|
|
225
|
+
}
|
|
226
|
+
public protocol IpsSimulationSink : AnyObject {
|
|
227
|
+
#if compiler(>=5.3) && $NonescapableTypes
|
|
228
|
+
func injectIpsPosition(xMetres: Swift.Double, yMetres: Swift.Double, latitude: Swift.Double, longitude: Swift.Double, surfaceId: Swift.String?)
|
|
229
|
+
#endif
|
|
230
|
+
func onSimulationStarted()
|
|
231
|
+
func onSimulationStopped()
|
|
232
|
+
}
|
|
233
|
+
extension CrowdConnectedShared.IpsSimulationSink {
|
|
234
|
+
public func onSimulationStarted()
|
|
235
|
+
public func onSimulationStopped()
|
|
236
|
+
}
|
|
237
|
+
@_hasMissingDesignatedInitializers final public class SimulationSinkRegistry {
|
|
238
|
+
public static let shared: CrowdConnectedShared.SimulationSinkRegistry
|
|
239
|
+
final public func register(gpsSink: any CrowdConnectedShared.GpsSimulationSink)
|
|
240
|
+
final public func register(ipsSink: any CrowdConnectedShared.IpsSimulationSink)
|
|
241
|
+
final public var gpsSinks: [any CrowdConnectedShared.GpsSimulationSink] {
|
|
242
|
+
get
|
|
243
|
+
}
|
|
244
|
+
final public var ipsSinks: [any CrowdConnectedShared.IpsSimulationSink] {
|
|
245
|
+
get
|
|
246
|
+
}
|
|
247
|
+
@objc deinit
|
|
248
|
+
}
|
|
221
249
|
public enum DataType {
|
|
222
250
|
case positions
|
|
223
251
|
case steps
|
|
@@ -18,43 +18,43 @@
|
|
|
18
18
|
</data>
|
|
19
19
|
<key>Modules/CrowdConnectedShared.swiftmodule/arm64-apple-ios-simulator.abi.json</key>
|
|
20
20
|
<data>
|
|
21
|
-
|
|
21
|
+
uau7f/3Vz0hJNktZ/bkzbkiZDlI=
|
|
22
22
|
</data>
|
|
23
23
|
<key>Modules/CrowdConnectedShared.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface</key>
|
|
24
24
|
<data>
|
|
25
|
-
|
|
25
|
+
2vIX4a5yNqlBNqfmSB2MErLjor8=
|
|
26
26
|
</data>
|
|
27
27
|
<key>Modules/CrowdConnectedShared.swiftmodule/arm64-apple-ios-simulator.swiftdoc</key>
|
|
28
28
|
<data>
|
|
29
|
-
|
|
29
|
+
VpHecnPJWdv2OS9oMTRGlbzh2II=
|
|
30
30
|
</data>
|
|
31
31
|
<key>Modules/CrowdConnectedShared.swiftmodule/arm64-apple-ios-simulator.swiftinterface</key>
|
|
32
32
|
<data>
|
|
33
|
-
|
|
33
|
+
pPspbA8Onp5rhdM2gseNDXSozEg=
|
|
34
34
|
</data>
|
|
35
35
|
<key>Modules/CrowdConnectedShared.swiftmodule/arm64-apple-ios-simulator.swiftmodule</key>
|
|
36
36
|
<data>
|
|
37
|
-
|
|
37
|
+
wOJ6SBuH1DX9HKUstvgXVRw7ipk=
|
|
38
38
|
</data>
|
|
39
39
|
<key>Modules/CrowdConnectedShared.swiftmodule/x86_64-apple-ios-simulator.abi.json</key>
|
|
40
40
|
<data>
|
|
41
|
-
|
|
41
|
+
uau7f/3Vz0hJNktZ/bkzbkiZDlI=
|
|
42
42
|
</data>
|
|
43
43
|
<key>Modules/CrowdConnectedShared.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface</key>
|
|
44
44
|
<data>
|
|
45
|
-
|
|
45
|
+
IfLPayhiHgBjrjgtoQE5tj4n0ec=
|
|
46
46
|
</data>
|
|
47
47
|
<key>Modules/CrowdConnectedShared.swiftmodule/x86_64-apple-ios-simulator.swiftdoc</key>
|
|
48
48
|
<data>
|
|
49
|
-
|
|
49
|
+
EbV7ljdIOz4e8LL7k5lU8lXNuVE=
|
|
50
50
|
</data>
|
|
51
51
|
<key>Modules/CrowdConnectedShared.swiftmodule/x86_64-apple-ios-simulator.swiftinterface</key>
|
|
52
52
|
<data>
|
|
53
|
-
|
|
53
|
+
aHww4OCYx5ETgZa1TLwCy+5voBg=
|
|
54
54
|
</data>
|
|
55
55
|
<key>Modules/CrowdConnectedShared.swiftmodule/x86_64-apple-ios-simulator.swiftmodule</key>
|
|
56
56
|
<data>
|
|
57
|
-
|
|
57
|
+
/6N2rSJoTTPO+d0Z5Ru5ezQ1y0A=
|
|
58
58
|
</data>
|
|
59
59
|
<key>Modules/module.modulemap</key>
|
|
60
60
|
<data>
|
|
@@ -85,70 +85,70 @@
|
|
|
85
85
|
<dict>
|
|
86
86
|
<key>hash2</key>
|
|
87
87
|
<data>
|
|
88
|
-
|
|
88
|
+
te085sWS+WhL+33KNE1tYzK5gXChiYUsBinOG2w8Rpg=
|
|
89
89
|
</data>
|
|
90
90
|
</dict>
|
|
91
91
|
<key>Modules/CrowdConnectedShared.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface</key>
|
|
92
92
|
<dict>
|
|
93
93
|
<key>hash2</key>
|
|
94
94
|
<data>
|
|
95
|
-
|
|
95
|
+
2cTal7jExi1WIBwp3ljGnPSfbFI/ZhTz30saU+8Rs2o=
|
|
96
96
|
</data>
|
|
97
97
|
</dict>
|
|
98
98
|
<key>Modules/CrowdConnectedShared.swiftmodule/arm64-apple-ios-simulator.swiftdoc</key>
|
|
99
99
|
<dict>
|
|
100
100
|
<key>hash2</key>
|
|
101
101
|
<data>
|
|
102
|
-
|
|
102
|
+
IBb5dcKR3v5ijt3kdy6GBixlubN97lb8QzX36z96ihQ=
|
|
103
103
|
</data>
|
|
104
104
|
</dict>
|
|
105
105
|
<key>Modules/CrowdConnectedShared.swiftmodule/arm64-apple-ios-simulator.swiftinterface</key>
|
|
106
106
|
<dict>
|
|
107
107
|
<key>hash2</key>
|
|
108
108
|
<data>
|
|
109
|
-
|
|
109
|
+
3gzEup1lKbHDv2MQTaiA4EH43m4qLNzw6XShREAeaNs=
|
|
110
110
|
</data>
|
|
111
111
|
</dict>
|
|
112
112
|
<key>Modules/CrowdConnectedShared.swiftmodule/arm64-apple-ios-simulator.swiftmodule</key>
|
|
113
113
|
<dict>
|
|
114
114
|
<key>hash2</key>
|
|
115
115
|
<data>
|
|
116
|
-
|
|
116
|
+
q3U/Ads/N/FxbPDubnaPzuWwKC14otW37h/zJhdCCN0=
|
|
117
117
|
</data>
|
|
118
118
|
</dict>
|
|
119
119
|
<key>Modules/CrowdConnectedShared.swiftmodule/x86_64-apple-ios-simulator.abi.json</key>
|
|
120
120
|
<dict>
|
|
121
121
|
<key>hash2</key>
|
|
122
122
|
<data>
|
|
123
|
-
|
|
123
|
+
te085sWS+WhL+33KNE1tYzK5gXChiYUsBinOG2w8Rpg=
|
|
124
124
|
</data>
|
|
125
125
|
</dict>
|
|
126
126
|
<key>Modules/CrowdConnectedShared.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface</key>
|
|
127
127
|
<dict>
|
|
128
128
|
<key>hash2</key>
|
|
129
129
|
<data>
|
|
130
|
-
|
|
130
|
+
P2AERyX3vJwnbGCPy7DoEFfwr+jVwr/AY0uEFsG0RkQ=
|
|
131
131
|
</data>
|
|
132
132
|
</dict>
|
|
133
133
|
<key>Modules/CrowdConnectedShared.swiftmodule/x86_64-apple-ios-simulator.swiftdoc</key>
|
|
134
134
|
<dict>
|
|
135
135
|
<key>hash2</key>
|
|
136
136
|
<data>
|
|
137
|
-
|
|
137
|
+
87x+SwGnShAyhT4vW6vYZt/Z72BBhXhW+HPSGATA8RQ=
|
|
138
138
|
</data>
|
|
139
139
|
</dict>
|
|
140
140
|
<key>Modules/CrowdConnectedShared.swiftmodule/x86_64-apple-ios-simulator.swiftinterface</key>
|
|
141
141
|
<dict>
|
|
142
142
|
<key>hash2</key>
|
|
143
143
|
<data>
|
|
144
|
-
|
|
144
|
+
GhnntxtbQbnxupRL6i3D8UU0mdQTIMAgCicePG2/QRw=
|
|
145
145
|
</data>
|
|
146
146
|
</dict>
|
|
147
147
|
<key>Modules/CrowdConnectedShared.swiftmodule/x86_64-apple-ios-simulator.swiftmodule</key>
|
|
148
148
|
<dict>
|
|
149
149
|
<key>hash2</key>
|
|
150
150
|
<data>
|
|
151
|
-
|
|
151
|
+
JyNv7MvPg5JrZPNsO6HmzTysCo6IbS5XDf0JS2iG2LA=
|
|
152
152
|
</data>
|
|
153
153
|
</dict>
|
|
154
154
|
<key>Modules/module.modulemap</key>
|
|
@@ -20,5 +20,8 @@ RCT_EXTERN_METHOD(setup:(nonnull NSDictionary *)settings
|
|
|
20
20
|
RCT_EXTERN_METHOD(startUpdatingLocation:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject)
|
|
21
21
|
RCT_EXTERN_METHOD(stopUpdatingLocation:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject)
|
|
22
22
|
RCT_EXTERN_METHOD(isLocationUpdating:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject)
|
|
23
|
+
RCT_EXTERN_METHOD(activateSimulation:(nonnull NSString *)token)
|
|
24
|
+
RCT_EXTERN_METHOD(deactivateSimulation)
|
|
25
|
+
RCT_EXTERN_METHOD(setLowPowerMode:(nonnull NSNumber *)enabled)
|
|
23
26
|
|
|
24
27
|
@end
|
|
@@ -23,6 +23,11 @@ class RCTCrowdConnectedLocationProvider: RCTEventEmitter, @MainActor CLLocationM
|
|
|
23
23
|
private let locationEventName = "onLocationChange"
|
|
24
24
|
private let locationErrorName = "onLocationError"
|
|
25
25
|
|
|
26
|
+
private let simulationDelegate = ExpoFpSimulationDelegate()
|
|
27
|
+
let onSimulationConnectedName = "onSimulationConnected"
|
|
28
|
+
let onSimulationDisconnectedName = "onSimulationDisconnected"
|
|
29
|
+
let onSimulationErrorName = "onSimulationError"
|
|
30
|
+
|
|
26
31
|
private var updatingResolver: RCTPromiseResolveBlock?
|
|
27
32
|
private var updatingRejecter: RCTPromiseRejectBlock?
|
|
28
33
|
|
|
@@ -45,7 +50,7 @@ class RCTCrowdConnectedLocationProvider: RCTEventEmitter, @MainActor CLLocationM
|
|
|
45
50
|
// MARK: - Methods
|
|
46
51
|
|
|
47
52
|
override func supportedEvents() -> [String] {
|
|
48
|
-
[locationEventName, locationErrorName]
|
|
53
|
+
[locationEventName, locationErrorName, onSimulationConnectedName, onSimulationDisconnectedName, onSimulationErrorName]
|
|
49
54
|
}
|
|
50
55
|
|
|
51
56
|
@objc override static func requiresMainQueueSetup() -> Bool { true }
|
|
@@ -64,6 +69,7 @@ class RCTCrowdConnectedLocationProvider: RCTEventEmitter, @MainActor CLLocationM
|
|
|
64
69
|
|
|
65
70
|
ccLocationManager.delegate = self
|
|
66
71
|
clLocationManager.delegate = self
|
|
72
|
+
simulationDelegate.provider = self
|
|
67
73
|
|
|
68
74
|
isLocationUpdating
|
|
69
75
|
? startUpdatingLocation(resolve, rejecter: reject)
|
|
@@ -113,6 +119,18 @@ class RCTCrowdConnectedLocationProvider: RCTEventEmitter, @MainActor CLLocationM
|
|
|
113
119
|
(try? providerInfo.toDict()).map(resolve)
|
|
114
120
|
}
|
|
115
121
|
|
|
122
|
+
@objc func activateSimulation(_ token: String) {
|
|
123
|
+
ccLocationManager.activateSimulation(token: token, callback: simulationDelegate)
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
@objc func deactivateSimulation() {
|
|
127
|
+
ccLocationManager.deactivateSimulation()
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
@objc func setLowPowerMode(_ enabled: NSNumber) {
|
|
131
|
+
print("[ExpoFP]: `setLowPowerMode(\(enabled.boolValue))` for Android devices only!")
|
|
132
|
+
}
|
|
133
|
+
|
|
116
134
|
func locationManager(_ manager: CLLocationManager, didUpdateHeading newHeading: CLHeading) {
|
|
117
135
|
guard position != ExpoFpPosition() else { return }
|
|
118
136
|
position = position.updateHeading(newHeading: newHeading.trueHeading)
|
|
@@ -16,6 +16,9 @@ export const CrowdConnectedLocationProvider = {
|
|
|
16
16
|
startUpdatingLocation: RCTCrowdConnectedLocationProviderNativeModule.startUpdatingLocation,
|
|
17
17
|
stopUpdatingLocation: RCTCrowdConnectedLocationProviderNativeModule.stopUpdatingLocation,
|
|
18
18
|
isLocationUpdating: RCTCrowdConnectedLocationProviderNativeModule.isLocationUpdating,
|
|
19
|
+
activateSimulation: RCTCrowdConnectedLocationProviderNativeModule.activateSimulation,
|
|
20
|
+
deactivateSimulation: RCTCrowdConnectedLocationProviderNativeModule.deactivateSimulation,
|
|
21
|
+
setLowPowerMode: RCTCrowdConnectedLocationProviderNativeModule.setLowPowerMode,
|
|
19
22
|
onLocationChange: callback => {
|
|
20
23
|
const onLocationChange = location => {
|
|
21
24
|
callback(location);
|
|
@@ -33,6 +36,33 @@ export const CrowdConnectedLocationProvider = {
|
|
|
33
36
|
return () => {
|
|
34
37
|
errorListener.remove();
|
|
35
38
|
};
|
|
39
|
+
},
|
|
40
|
+
onSimulationConnected: callback => {
|
|
41
|
+
const onSimulationConnected = () => {
|
|
42
|
+
callback();
|
|
43
|
+
};
|
|
44
|
+
const locationListener = nativeEventEmitter.addListener("onSimulationConnected", onSimulationConnected);
|
|
45
|
+
return () => {
|
|
46
|
+
locationListener.remove();
|
|
47
|
+
};
|
|
48
|
+
},
|
|
49
|
+
onSimulationDisconnected: callback => {
|
|
50
|
+
const onSimulationDisconnected = () => {
|
|
51
|
+
callback();
|
|
52
|
+
};
|
|
53
|
+
const locationListener = nativeEventEmitter.addListener("onSimulationDisconnected", onSimulationDisconnected);
|
|
54
|
+
return () => {
|
|
55
|
+
locationListener.remove();
|
|
56
|
+
};
|
|
57
|
+
},
|
|
58
|
+
onSimulationError: callback => {
|
|
59
|
+
const onSimulationError = error => {
|
|
60
|
+
callback(new Error(error));
|
|
61
|
+
};
|
|
62
|
+
const errorListener = nativeEventEmitter.addListener("onSimulationError", onSimulationError);
|
|
63
|
+
return () => {
|
|
64
|
+
errorListener.remove();
|
|
65
|
+
};
|
|
36
66
|
}
|
|
37
67
|
};
|
|
38
68
|
//# sourceMappingURL=crowdconnected-location-provider-native-module.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["NativeEventEmitter","NativeModules","RCTCrowdConnectedLocationProvider","nativeEventEmitter","RCTCrowdConnectedLocationProviderNativeModule","CrowdConnectedLocationProvider","setup","startUpdatingLocation","stopUpdatingLocation","isLocationUpdating","onLocationChange","callback","location","locationListener","addListener","remove","onError","onLocationError","error","Error","errorListener"],"sourceRoot":"../../src","sources":["crowdconnected-location-provider-native-module.tsx"],"mappings":";;AAAA,SAASA,kBAAkB,EAAEC,aAAa,QAAQ,cAAc;AAChE,MAAM;EAAEC;AAAkC,CAAC,GAAGD,aAAa;AAQ3D,MAAME,kBAAkB,GAAG,IAAIH,kBAAkB,CAC/CE,iCACF,CAAC;;AAED;AACA,OAAO,MAAME,6CAA6C,GACxDF,iCAAgF;;AAElF;AACA;AACA,OAAO,MAAMG,8BAA+D,GAAG;EAC7EC,KAAK,EAAEF,6CAA6C,CAACE,KAAK;EAC1DC,qBAAqB,EACnBH,6CAA6C,CAACG,qBAAqB;EACrEC,oBAAoB,EAClBJ,6CAA6C,CAACI,oBAAoB;EACpEC,kBAAkB,EAChBL,6CAA6C,CAACK,kBAAkB;EAClEC,gBAAgB,EAAGC,QAAQ,IAAK;IAC9B,MAAMD,gBAAgB,GAAIE,QAAwB,IAAK;MACrDD,QAAQ,CAACC,QAAQ,CAAC;IACpB,CAAC;IAED,MAAMC,gBAAgB,
|
|
1
|
+
{"version":3,"names":["NativeEventEmitter","NativeModules","RCTCrowdConnectedLocationProvider","nativeEventEmitter","RCTCrowdConnectedLocationProviderNativeModule","CrowdConnectedLocationProvider","setup","startUpdatingLocation","stopUpdatingLocation","isLocationUpdating","activateSimulation","deactivateSimulation","setLowPowerMode","onLocationChange","callback","location","locationListener","addListener","remove","onError","onLocationError","error","Error","errorListener","onSimulationConnected","onSimulationDisconnected","onSimulationError"],"sourceRoot":"../../src","sources":["crowdconnected-location-provider-native-module.tsx"],"mappings":";;AAAA,SAASA,kBAAkB,EAAEC,aAAa,QAAQ,cAAc;AAChE,MAAM;EAAEC;AAAkC,CAAC,GAAGD,aAAa;AAQ3D,MAAME,kBAAkB,GAAG,IAAIH,kBAAkB,CAC/CE,iCACF,CAAC;;AAED;AACA,OAAO,MAAME,6CAA6C,GACxDF,iCAAgF;;AAElF;AACA;AACA,OAAO,MAAMG,8BAA+D,GAAG;EAC7EC,KAAK,EAAEF,6CAA6C,CAACE,KAAK;EAC1DC,qBAAqB,EACnBH,6CAA6C,CAACG,qBAAqB;EACrEC,oBAAoB,EAClBJ,6CAA6C,CAACI,oBAAoB;EACpEC,kBAAkB,EAChBL,6CAA6C,CAACK,kBAAkB;EAClEC,kBAAkB,EAChBN,6CAA6C,CAACM,kBAAkB;EAClEC,oBAAoB,EAClBP,6CAA6C,CAACO,oBAAoB;EACpEC,eAAe,EACbR,6CAA6C,CAACQ,eAAe;EAC/DC,gBAAgB,EAAGC,QAAQ,IAAK;IAC9B,MAAMD,gBAAgB,GAAIE,QAAwB,IAAK;MACrDD,QAAQ,CAACC,QAAQ,CAAC;IACpB,CAAC;IAED,MAAMC,gBAAgB,GAAGb,kBAAkB,CAACc,WAAW,CACrD,kBAAkB,EAClBJ,gBACF,CAAC;IAED,OAAO,MAAM;MACXG,gBAAgB,CAACE,MAAM,CAAC,CAAC;IAC3B,CAAC;EACH,CAAC;EAEDC,OAAO,EAAGL,QAAQ,IAAK;IACrB,MAAMM,eAAe,GAAIC,KAAa,IAAK;MACzCP,QAAQ,CAAC,IAAIQ,KAAK,CAACD,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED,MAAME,aAAa,GAAGpB,kBAAkB,CAACc,WAAW,CAClD,iBAAiB,EACjBG,eACF,CAAC;IAED,OAAO,MAAM;MACXG,aAAa,CAACL,MAAM,CAAC,CAAC;IACxB,CAAC;EACH,CAAC;EAEDM,qBAAqB,EAAGV,QAAQ,IAAK;IACnC,MAAMU,qBAAqB,GAAGA,CAAA,KAAM;MAClCV,QAAQ,CAAC,CAAC;IACZ,CAAC;IAED,MAAME,gBAAgB,GAAGb,kBAAkB,CAACc,WAAW,CACrD,uBAAuB,EACvBO,qBACF,CAAC;IAED,OAAO,MAAM;MACXR,gBAAgB,CAACE,MAAM,CAAC,CAAC;IAC3B,CAAC;EACH,CAAC;EAEDO,wBAAwB,EAAGX,QAAQ,IAAK;IACtC,MAAMW,wBAAwB,GAAGA,CAAA,KAAM;MACrCX,QAAQ,CAAC,CAAC;IACZ,CAAC;IAED,MAAME,gBAAgB,GAAGb,kBAAkB,CAACc,WAAW,CACrD,0BAA0B,EAC1BQ,wBACF,CAAC;IAED,OAAO,MAAM;MACXT,gBAAgB,CAACE,MAAM,CAAC,CAAC;IAC3B,CAAC;EACH,CAAC;EAEDQ,iBAAiB,EAAGZ,QAAQ,IAAK;IAC/B,MAAMY,iBAAiB,GAAIL,KAAa,IAAK;MAC3CP,QAAQ,CAAC,IAAIQ,KAAK,CAACD,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED,MAAME,aAAa,GAAGpB,kBAAkB,CAACc,WAAW,CAClD,mBAAmB,EACnBS,iBACF,CAAC;IAED,OAAO,MAAM;MACXH,aAAa,CAACL,MAAM,CAAC,CAAC;IACxB,CAAC;EACH;AACF,CAAC","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"crowdconnected-location-provider-native-module.d.ts","sourceRoot":"","sources":["../../../src/crowdconnected-location-provider-native-module.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,2CAA2C,EAC3C,+BAA+B,EAEhC,MAAM,SAAS,CAAC;AAOjB,eAAO,MAAM,6CAA6C,EACnB,2CAA2C,CAAC;AAInF,eAAO,MAAM,8BAA8B,EAAE,+
|
|
1
|
+
{"version":3,"file":"crowdconnected-location-provider-native-module.d.ts","sourceRoot":"","sources":["../../../src/crowdconnected-location-provider-native-module.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,2CAA2C,EAC3C,+BAA+B,EAEhC,MAAM,SAAS,CAAC;AAOjB,eAAO,MAAM,6CAA6C,EACnB,2CAA2C,CAAC;AAInF,eAAO,MAAM,8BAA8B,EAAE,+BAwF5C,CAAC"}
|
|
@@ -3,6 +3,9 @@ export interface ICrowdConnectedLocationProviderNativeModule {
|
|
|
3
3
|
startUpdatingLocation(): Promise<ExpoFpProviderInfo>;
|
|
4
4
|
stopUpdatingLocation(): Promise<ExpoFpProviderInfo>;
|
|
5
5
|
isLocationUpdating(): Promise<ExpoFpProviderInfo>;
|
|
6
|
+
activateSimulation(token: string): void;
|
|
7
|
+
deactivateSimulation(): void;
|
|
8
|
+
setLowPowerMode(enabled: boolean): void;
|
|
6
9
|
}
|
|
7
10
|
export interface ICrowdConnectedLocationProvider {
|
|
8
11
|
setup(settings: ExpoFpLocationSettings): Promise<ExpoFpProviderInfo>;
|
|
@@ -11,18 +14,44 @@ export interface ICrowdConnectedLocationProvider {
|
|
|
11
14
|
isLocationUpdating(): Promise<ExpoFpProviderInfo>;
|
|
12
15
|
onLocationChange(callback: LocationUpdateCallback): Unsubscribe;
|
|
13
16
|
onError(callback: ErrorCallback): Unsubscribe;
|
|
17
|
+
/**
|
|
18
|
+
* Starts a simulation session that replays GPS/IPS paths on the device
|
|
19
|
+
* without physical movement.
|
|
20
|
+
*
|
|
21
|
+
* The SDK must already be started (`startUpdatingLocation()`) before calling
|
|
22
|
+
* this. A second call replaces any existing session.
|
|
23
|
+
*
|
|
24
|
+
* @param token A signed JWT containing the `sid` (session ID) and `exp` claims.
|
|
25
|
+
*/
|
|
26
|
+
activateSimulation(token: string): void;
|
|
27
|
+
/** Stops the active simulation session. */
|
|
28
|
+
deactivateSimulation(): void;
|
|
29
|
+
/**
|
|
30
|
+
* Manually toggles low-power GPS mode at runtime. `true` drops to a
|
|
31
|
+
* low-frequency, battery-saving mode; `false` restores high-frequency
|
|
32
|
+
* navigation mode.
|
|
33
|
+
*
|
|
34
|
+
* The SDK must already be started (`startUpdatingLocation()`); otherwise this
|
|
35
|
+
* is a safe no-op.
|
|
36
|
+
*/
|
|
37
|
+
setLowPowerMode(enabled: boolean): void;
|
|
38
|
+
onSimulationConnected(callback: VoidCallback): Unsubscribe;
|
|
39
|
+
onSimulationDisconnected(callback: VoidCallback): Unsubscribe;
|
|
40
|
+
onSimulationError(callback: ErrorCallback): Unsubscribe;
|
|
14
41
|
}
|
|
15
42
|
export type Unsubscribe = () => void;
|
|
16
43
|
export type LocationUpdateCallback = (location: ExpoFpPosition) => void;
|
|
44
|
+
export type VoidCallback = () => void;
|
|
17
45
|
export type ErrorCallback = (e: Error) => void;
|
|
18
46
|
export interface ExpoFpLocationSettings {
|
|
19
47
|
appKey: string;
|
|
20
|
-
|
|
21
|
-
|
|
48
|
+
clientId: string;
|
|
49
|
+
clientSecret: string;
|
|
22
50
|
navigationType: "all" | "GEO" | "IPS";
|
|
23
51
|
isBackgroundUpdateEnabled: boolean;
|
|
24
52
|
isBluetoothEnabled: boolean;
|
|
25
53
|
isHeadingEnabled: boolean;
|
|
54
|
+
isLowPowerModeEnabled?: boolean;
|
|
26
55
|
aliases?: Record<string, string>;
|
|
27
56
|
}
|
|
28
57
|
export type ExpoFpPosition = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,2CAA2C;IAC1D,KAAK,CAAC,QAAQ,EAAE,sBAAsB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACrE,qBAAqB,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACrD,oBAAoB,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACpD,kBAAkB,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/types.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,2CAA2C;IAC1D,KAAK,CAAC,QAAQ,EAAE,sBAAsB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACrE,qBAAqB,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACrD,oBAAoB,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACpD,kBAAkB,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAClD,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,oBAAoB,IAAI,IAAI,CAAC;IAC7B,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;CACzC;AAED,MAAM,WAAW,+BAA+B;IAC9C,KAAK,CAAC,QAAQ,EAAE,sBAAsB,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACrE,qBAAqB,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACrD,oBAAoB,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACpD,kBAAkB,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAClD,gBAAgB,CAAC,QAAQ,EAAE,sBAAsB,GAAG,WAAW,CAAC;IAChE,OAAO,CAAC,QAAQ,EAAE,aAAa,GAAG,WAAW,CAAC;IAE9C;;;;;;;;OAQG;IACH,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,2CAA2C;IAC3C,oBAAoB,IAAI,IAAI,CAAC;IAE7B;;;;;;;OAOG;IACH,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxC,qBAAqB,CAAC,QAAQ,EAAE,YAAY,GAAG,WAAW,CAAC;IAC3D,wBAAwB,CAAC,QAAQ,EAAE,YAAY,GAAG,WAAW,CAAC;IAC9D,iBAAiB,CAAC,QAAQ,EAAE,aAAa,GAAG,WAAW,CAAC;CACzD;AAED,MAAM,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC;AAErC,MAAM,MAAM,sBAAsB,GAAG,CAAC,QAAQ,EAAE,cAAc,KAAK,IAAI,CAAC;AACxE,MAAM,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC;AACtC,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC;AAE/C,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;IACtC,yBAAyB,EAAE,OAAO,CAAC;IACnC,kBAAkB,EAAE,OAAO,CAAC;IAC5B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAClC;AAGD,MAAM,MAAM,cAAc,GAAG;IAC3B,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,kBAAkB,EAAE,OAAO,CAAC;CAC7B,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@expofp/react-native-efp-crowdconnected",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.10",
|
|
4
4
|
"description": "React Native wrapper for ExpoFP around CrowdConnected SDK",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react-native",
|
|
@@ -102,14 +102,6 @@
|
|
|
102
102
|
"publishConfig": {
|
|
103
103
|
"registry": "https://registry.npmjs.org/"
|
|
104
104
|
},
|
|
105
|
-
"codegenConfig": {
|
|
106
|
-
"name": "ExpofpCrowdconnectedSpec",
|
|
107
|
-
"type": "modules",
|
|
108
|
-
"jsSrcsDir": "src",
|
|
109
|
-
"android": {
|
|
110
|
-
"javaPackageName": "com.expofpcrowdconnected"
|
|
111
|
-
}
|
|
112
|
-
},
|
|
113
105
|
"create-react-native-library": {
|
|
114
106
|
"languages": "kotlin-objc",
|
|
115
107
|
"type": "turbo-module",
|
|
@@ -25,6 +25,12 @@ export const CrowdConnectedLocationProvider: ICrowdConnectedLocationProvider = {
|
|
|
25
25
|
RCTCrowdConnectedLocationProviderNativeModule.stopUpdatingLocation,
|
|
26
26
|
isLocationUpdating:
|
|
27
27
|
RCTCrowdConnectedLocationProviderNativeModule.isLocationUpdating,
|
|
28
|
+
activateSimulation:
|
|
29
|
+
RCTCrowdConnectedLocationProviderNativeModule.activateSimulation,
|
|
30
|
+
deactivateSimulation:
|
|
31
|
+
RCTCrowdConnectedLocationProviderNativeModule.deactivateSimulation,
|
|
32
|
+
setLowPowerMode:
|
|
33
|
+
RCTCrowdConnectedLocationProviderNativeModule.setLowPowerMode,
|
|
28
34
|
onLocationChange: (callback) => {
|
|
29
35
|
const onLocationChange = (location: ExpoFpPosition) => {
|
|
30
36
|
callback(location);
|
|
@@ -54,4 +60,49 @@ export const CrowdConnectedLocationProvider: ICrowdConnectedLocationProvider = {
|
|
|
54
60
|
errorListener.remove();
|
|
55
61
|
};
|
|
56
62
|
},
|
|
63
|
+
|
|
64
|
+
onSimulationConnected: (callback) => {
|
|
65
|
+
const onSimulationConnected = () => {
|
|
66
|
+
callback();
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
const locationListener = nativeEventEmitter.addListener(
|
|
70
|
+
"onSimulationConnected",
|
|
71
|
+
onSimulationConnected,
|
|
72
|
+
);
|
|
73
|
+
|
|
74
|
+
return () => {
|
|
75
|
+
locationListener.remove();
|
|
76
|
+
};
|
|
77
|
+
},
|
|
78
|
+
|
|
79
|
+
onSimulationDisconnected: (callback) => {
|
|
80
|
+
const onSimulationDisconnected = () => {
|
|
81
|
+
callback();
|
|
82
|
+
};
|
|
83
|
+
|
|
84
|
+
const locationListener = nativeEventEmitter.addListener(
|
|
85
|
+
"onSimulationDisconnected",
|
|
86
|
+
onSimulationDisconnected,
|
|
87
|
+
);
|
|
88
|
+
|
|
89
|
+
return () => {
|
|
90
|
+
locationListener.remove();
|
|
91
|
+
};
|
|
92
|
+
},
|
|
93
|
+
|
|
94
|
+
onSimulationError: (callback) => {
|
|
95
|
+
const onSimulationError = (error: string) => {
|
|
96
|
+
callback(new Error(error));
|
|
97
|
+
};
|
|
98
|
+
|
|
99
|
+
const errorListener = nativeEventEmitter.addListener(
|
|
100
|
+
"onSimulationError",
|
|
101
|
+
onSimulationError,
|
|
102
|
+
);
|
|
103
|
+
|
|
104
|
+
return () => {
|
|
105
|
+
errorListener.remove();
|
|
106
|
+
};
|
|
107
|
+
},
|
|
57
108
|
};
|
package/src/types.ts
CHANGED
|
@@ -6,6 +6,9 @@ export interface ICrowdConnectedLocationProviderNativeModule {
|
|
|
6
6
|
startUpdatingLocation(): Promise<ExpoFpProviderInfo>;
|
|
7
7
|
stopUpdatingLocation(): Promise<ExpoFpProviderInfo>;
|
|
8
8
|
isLocationUpdating(): Promise<ExpoFpProviderInfo>;
|
|
9
|
+
activateSimulation(token: string): void;
|
|
10
|
+
deactivateSimulation(): void;
|
|
11
|
+
setLowPowerMode(enabled: boolean): void;
|
|
9
12
|
}
|
|
10
13
|
|
|
11
14
|
export interface ICrowdConnectedLocationProvider {
|
|
@@ -15,21 +18,49 @@ export interface ICrowdConnectedLocationProvider {
|
|
|
15
18
|
isLocationUpdating(): Promise<ExpoFpProviderInfo>;
|
|
16
19
|
onLocationChange(callback: LocationUpdateCallback): Unsubscribe;
|
|
17
20
|
onError(callback: ErrorCallback): Unsubscribe;
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Starts a simulation session that replays GPS/IPS paths on the device
|
|
24
|
+
* without physical movement.
|
|
25
|
+
*
|
|
26
|
+
* The SDK must already be started (`startUpdatingLocation()`) before calling
|
|
27
|
+
* this. A second call replaces any existing session.
|
|
28
|
+
*
|
|
29
|
+
* @param token A signed JWT containing the `sid` (session ID) and `exp` claims.
|
|
30
|
+
*/
|
|
31
|
+
activateSimulation(token: string): void;
|
|
32
|
+
/** Stops the active simulation session. */
|
|
33
|
+
deactivateSimulation(): void;
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Manually toggles low-power GPS mode at runtime. `true` drops to a
|
|
37
|
+
* low-frequency, battery-saving mode; `false` restores high-frequency
|
|
38
|
+
* navigation mode.
|
|
39
|
+
*
|
|
40
|
+
* The SDK must already be started (`startUpdatingLocation()`); otherwise this
|
|
41
|
+
* is a safe no-op.
|
|
42
|
+
*/
|
|
43
|
+
setLowPowerMode(enabled: boolean): void;
|
|
44
|
+
onSimulationConnected(callback: VoidCallback): Unsubscribe;
|
|
45
|
+
onSimulationDisconnected(callback: VoidCallback): Unsubscribe;
|
|
46
|
+
onSimulationError(callback: ErrorCallback): Unsubscribe;
|
|
18
47
|
}
|
|
19
48
|
|
|
20
49
|
export type Unsubscribe = () => void;
|
|
21
50
|
|
|
22
51
|
export type LocationUpdateCallback = (location: ExpoFpPosition) => void;
|
|
52
|
+
export type VoidCallback = () => void;
|
|
23
53
|
export type ErrorCallback = (e: Error) => void;
|
|
24
54
|
|
|
25
55
|
export interface ExpoFpLocationSettings {
|
|
26
56
|
appKey: string;
|
|
27
|
-
|
|
28
|
-
|
|
57
|
+
clientId: string;
|
|
58
|
+
clientSecret: string;
|
|
29
59
|
navigationType: "all" | "GEO" | "IPS";
|
|
30
60
|
isBackgroundUpdateEnabled: boolean;
|
|
31
61
|
isBluetoothEnabled: boolean;
|
|
32
62
|
isHeadingEnabled: boolean;
|
|
63
|
+
isLowPowerModeEnabled?: boolean;
|
|
33
64
|
aliases?: Record<string, string>;
|
|
34
65
|
}
|
|
35
66
|
|