react-native-background-geolocation 4.19.2 → 5.0.0-beta.1
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/README.md +1 -1
- package/RNBackgroundGeolocation.podspec +3 -3
- package/android/.settings/org.eclipse.buildship.core.prefs +13 -0
- package/android/build.gradle +21 -56
- package/android/proguard-rules.pro +66 -38
- package/android/src/main/java/com/transistorsoft/rnbackgroundgeolocation/HeadlessTask.java +44 -44
- package/android/src/main/java/com/transistorsoft/rnbackgroundgeolocation/RNBackgroundGeolocation.java +1 -0
- package/android/src/main/java/com/transistorsoft/rnbackgroundgeolocation/RNBackgroundGeolocationModule.java +303 -274
- package/babel.config.js +5 -0
- package/expo/plugin/build/androidPlugin.js.map +1 -1
- package/expo/plugin/tsconfig.tsbuildinfo +1 -0
- package/ios/RNBackgroundGeolocation/RNBackgroundGeolocation.m +177 -162
- package/jest.config.js +14 -0
- package/mocks/react-native.js +52 -0
- package/package.json +24 -13
- package/src/DeviceSettings.js +7 -24
- package/src/Logger.js +4 -23
- package/src/NativeModule.js +61 -262
- package/src/{TransistorAuthorizationToken.js → TransistorAuthorizationService.js} +17 -19
- package/src/index.d.ts +13 -1
- package/src/index.js +266 -462
- package/src/native/specs/NativeBackgroundGeolocation.ts +49 -0
- package/tests/enums-bridge-test.js +16 -0
- package/tests/enums.test.js +23 -0
- package/tests/ready-compound.test.js +28 -0
- package/tests/ready.test.js +6 -0
- package/tests-types/config-surface.ts +38 -0
- package/tests-types/enums-smoke-test.ts +35 -0
- package/tests-types/events-typing.ts +23 -0
- package/tests-types/flat-config.ts +0 -0
- package/tests-types/ok.ts +20 -0
- package/tests-types/tsconfig.json +14 -0
- package/typedoc.json +49 -0
- package/android/libs/com/transistorsoft/tslocationmanager/3.7.0/tslocationmanager-3.7.0.aar +0 -0
- package/android/libs/com/transistorsoft/tslocationmanager/3.7.0/tslocationmanager-3.7.0.aar.md5 +0 -1
- package/android/libs/com/transistorsoft/tslocationmanager/3.7.0/tslocationmanager-3.7.0.aar.sha1 +0 -1
- package/android/libs/com/transistorsoft/tslocationmanager/3.7.0/tslocationmanager-3.7.0.aar.sha256 +0 -1
- package/android/libs/com/transistorsoft/tslocationmanager/3.7.0/tslocationmanager-3.7.0.aar.sha512 +0 -1
- package/android/libs/com/transistorsoft/tslocationmanager/3.7.0/tslocationmanager-3.7.0.pom +0 -9
- package/android/libs/com/transistorsoft/tslocationmanager/3.7.0/tslocationmanager-3.7.0.pom.md5 +0 -1
- package/android/libs/com/transistorsoft/tslocationmanager/3.7.0/tslocationmanager-3.7.0.pom.sha1 +0 -1
- package/android/libs/com/transistorsoft/tslocationmanager/3.7.0/tslocationmanager-3.7.0.pom.sha256 +0 -1
- package/android/libs/com/transistorsoft/tslocationmanager/3.7.0/tslocationmanager-3.7.0.pom.sha512 +0 -1
- package/android/libs/com/transistorsoft/tslocationmanager/maven-metadata.xml +0 -13
- package/android/libs/com/transistorsoft/tslocationmanager-v21/3.7.0/tslocationmanager-v21-3.7.0.aar +0 -0
- package/android/libs/com/transistorsoft/tslocationmanager-v21/3.7.0/tslocationmanager-v21-3.7.0.aar.md5 +0 -1
- package/android/libs/com/transistorsoft/tslocationmanager-v21/3.7.0/tslocationmanager-v21-3.7.0.aar.sha1 +0 -1
- package/android/libs/com/transistorsoft/tslocationmanager-v21/3.7.0/tslocationmanager-v21-3.7.0.aar.sha256 +0 -1
- package/android/libs/com/transistorsoft/tslocationmanager-v21/3.7.0/tslocationmanager-v21-3.7.0.aar.sha512 +0 -1
- package/android/libs/com/transistorsoft/tslocationmanager-v21/3.7.0/tslocationmanager-v21-3.7.0.pom +0 -9
- package/android/libs/com/transistorsoft/tslocationmanager-v21/3.7.0/tslocationmanager-v21-3.7.0.pom.md5 +0 -1
- package/android/libs/com/transistorsoft/tslocationmanager-v21/3.7.0/tslocationmanager-v21-3.7.0.pom.sha1 +0 -1
- package/android/libs/com/transistorsoft/tslocationmanager-v21/3.7.0/tslocationmanager-v21-3.7.0.pom.sha256 +0 -1
- package/android/libs/com/transistorsoft/tslocationmanager-v21/3.7.0/tslocationmanager-v21-3.7.0.pom.sha512 +0 -1
- package/android/libs/com/transistorsoft/tslocationmanager-v21/maven-metadata.xml +0 -13
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/Info.plist +0 -61
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/_CodeSignature/CodeDirectory +0 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/_CodeSignature/CodeRequirements +0 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/_CodeSignature/CodeRequirements-1 +0 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/_CodeSignature/CodeResources +0 -2033
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/_CodeSignature/CodeSignature +0 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64/TSLocationManager.framework/Headers/AtomicBoolean.h +0 -18
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64/TSLocationManager.framework/Headers/ConfigModule.h +0 -21
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64/TSLocationManager.framework/Headers/HttpRequest.h +0 -21
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64/TSLocationManager.framework/Headers/HttpResponse.h +0 -29
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64/TSLocationManager.framework/Headers/LocationManager.h +0 -55
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64/TSLocationManager.framework/Headers/LogQuery.h +0 -13
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64/TSLocationManager.framework/Headers/SOMotionDetector.h +0 -141
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64/TSLocationManager.framework/Headers/SQLQuery.h +0 -34
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64/TSLocationManager.framework/Headers/TSActivityChangeEvent.h +0 -16
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64/TSLocationManager.framework/Headers/TSAuthorization.h +0 -38
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64/TSLocationManager.framework/Headers/TSAuthorizationEvent.h +0 -18
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64/TSLocationManager.framework/Headers/TSCallback.h +0 -18
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64/TSLocationManager.framework/Headers/TSConfig.h +0 -310
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64/TSLocationManager.framework/Headers/TSConnectivityChangeEvent.h +0 -17
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64/TSLocationManager.framework/Headers/TSCurrentPositionRequest.h +0 -43
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64/TSLocationManager.framework/Headers/TSDeviceInfo.h +0 -24
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64/TSLocationManager.framework/Headers/TSEnabledChangeEvent.h +0 -15
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64/TSLocationManager.framework/Headers/TSGeofence.h +0 -54
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64/TSLocationManager.framework/Headers/TSGeofenceEvent.h +0 -64
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64/TSLocationManager.framework/Headers/TSGeofenceManager.h +0 -54
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64/TSLocationManager.framework/Headers/TSGeofencesChangeEvent.h +0 -17
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64/TSLocationManager.framework/Headers/TSHeartbeatEvent.h +0 -18
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64/TSLocationManager.framework/Headers/TSHttpEvent.h +0 -19
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64/TSLocationManager.framework/Headers/TSHttpService.h +0 -58
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64/TSLocationManager.framework/Headers/TSLocation.h +0 -105
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64/TSLocationManager.framework/Headers/TSLocationManager.h +0 -315
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64/TSLocationManager.framework/Headers/TSPowerSaveChangeEvent.h +0 -14
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64/TSLocationManager.framework/Headers/TSProviderChangeEvent.h +0 -20
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64/TSLocationManager.framework/Headers/TSReachability.h +0 -106
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64/TSLocationManager.framework/Headers/TSSchedule.h +0 -40
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64/TSLocationManager.framework/Headers/TSScheduleEvent.h +0 -18
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64/TSLocationManager.framework/Headers/TSWatchPositionRequest.h +0 -41
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64/TSLocationManager.framework/Headers/TransistorAuthorizationToken.h +0 -31
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64/TSLocationManager.framework/Info.plist +0 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64/TSLocationManager.framework/Miniball/Miniball.hpp +0 -525
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64/TSLocationManager.framework/Modules/module.modulemap +0 -6
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64/TSLocationManager.framework/PrivacyInfo.xcprivacy +0 -36
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64/TSLocationManager.framework/TSLocationManager +0 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64/TSLocationManager.framework/_CodeSignature/CodeDirectory +0 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64/TSLocationManager.framework/_CodeSignature/CodeRequirements +0 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64/TSLocationManager.framework/_CodeSignature/CodeRequirements-1 +0 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64/TSLocationManager.framework/_CodeSignature/CodeResources +0 -642
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64/TSLocationManager.framework/_CodeSignature/CodeSignature +0 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/AtomicBoolean.h +0 -18
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/ConfigModule.h +0 -21
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/HttpRequest.h +0 -21
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/HttpResponse.h +0 -29
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/LocationManager.h +0 -55
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/LogQuery.h +0 -13
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/SOMotionDetector.h +0 -141
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/SQLQuery.h +0 -34
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSActivityChangeEvent.h +0 -16
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSAuthorization.h +0 -38
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSAuthorizationEvent.h +0 -18
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSCallback.h +0 -18
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSConfig.h +0 -310
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSConnectivityChangeEvent.h +0 -17
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSCurrentPositionRequest.h +0 -43
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSDeviceInfo.h +0 -24
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSEnabledChangeEvent.h +0 -15
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSGeofence.h +0 -54
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSGeofenceEvent.h +0 -64
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSGeofenceManager.h +0 -54
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSGeofencesChangeEvent.h +0 -17
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSHeartbeatEvent.h +0 -18
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSHttpEvent.h +0 -19
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSHttpService.h +0 -58
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSLocation.h +0 -105
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSLocationManager.h +0 -315
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSPowerSaveChangeEvent.h +0 -14
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSProviderChangeEvent.h +0 -20
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSReachability.h +0 -106
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSSchedule.h +0 -40
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSScheduleEvent.h +0 -18
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSWatchPositionRequest.h +0 -41
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TransistorAuthorizationToken.h +0 -31
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Modules/module.modulemap +0 -6
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Resources/Info.plist +0 -50
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Resources/Miniball/Miniball.hpp +0 -525
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Resources/PrivacyInfo.xcprivacy +0 -36
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/TSLocationManager +0 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/_CodeSignature/CodeDirectory +0 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/_CodeSignature/CodeRequirements +0 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/_CodeSignature/CodeRequirements-1 +0 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/_CodeSignature/CodeResources +0 -536
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/_CodeSignature/CodeSignature +0 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-simulator/TSLocationManager.framework/Headers/AtomicBoolean.h +0 -18
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-simulator/TSLocationManager.framework/Headers/ConfigModule.h +0 -21
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-simulator/TSLocationManager.framework/Headers/HttpRequest.h +0 -21
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-simulator/TSLocationManager.framework/Headers/HttpResponse.h +0 -29
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-simulator/TSLocationManager.framework/Headers/LocationManager.h +0 -55
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-simulator/TSLocationManager.framework/Headers/LogQuery.h +0 -13
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-simulator/TSLocationManager.framework/Headers/SOMotionDetector.h +0 -141
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-simulator/TSLocationManager.framework/Headers/SQLQuery.h +0 -34
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-simulator/TSLocationManager.framework/Headers/TSActivityChangeEvent.h +0 -16
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-simulator/TSLocationManager.framework/Headers/TSAuthorization.h +0 -38
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-simulator/TSLocationManager.framework/Headers/TSAuthorizationEvent.h +0 -18
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-simulator/TSLocationManager.framework/Headers/TSCallback.h +0 -18
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-simulator/TSLocationManager.framework/Headers/TSConfig.h +0 -310
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-simulator/TSLocationManager.framework/Headers/TSConnectivityChangeEvent.h +0 -17
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-simulator/TSLocationManager.framework/Headers/TSCurrentPositionRequest.h +0 -43
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-simulator/TSLocationManager.framework/Headers/TSDeviceInfo.h +0 -24
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-simulator/TSLocationManager.framework/Headers/TSEnabledChangeEvent.h +0 -15
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-simulator/TSLocationManager.framework/Headers/TSGeofence.h +0 -54
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-simulator/TSLocationManager.framework/Headers/TSGeofenceEvent.h +0 -64
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-simulator/TSLocationManager.framework/Headers/TSGeofenceManager.h +0 -54
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-simulator/TSLocationManager.framework/Headers/TSGeofencesChangeEvent.h +0 -17
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-simulator/TSLocationManager.framework/Headers/TSHeartbeatEvent.h +0 -18
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-simulator/TSLocationManager.framework/Headers/TSHttpEvent.h +0 -19
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-simulator/TSLocationManager.framework/Headers/TSHttpService.h +0 -58
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-simulator/TSLocationManager.framework/Headers/TSLocation.h +0 -105
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-simulator/TSLocationManager.framework/Headers/TSLocationManager.h +0 -315
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-simulator/TSLocationManager.framework/Headers/TSPowerSaveChangeEvent.h +0 -14
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-simulator/TSLocationManager.framework/Headers/TSProviderChangeEvent.h +0 -20
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-simulator/TSLocationManager.framework/Headers/TSReachability.h +0 -106
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-simulator/TSLocationManager.framework/Headers/TSSchedule.h +0 -40
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-simulator/TSLocationManager.framework/Headers/TSScheduleEvent.h +0 -18
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-simulator/TSLocationManager.framework/Headers/TSWatchPositionRequest.h +0 -41
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-simulator/TSLocationManager.framework/Headers/TransistorAuthorizationToken.h +0 -31
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-simulator/TSLocationManager.framework/Info.plist +0 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-simulator/TSLocationManager.framework/Miniball/Miniball.hpp +0 -525
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-simulator/TSLocationManager.framework/Modules/module.modulemap +0 -6
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-simulator/TSLocationManager.framework/PrivacyInfo.xcprivacy +0 -36
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-simulator/TSLocationManager.framework/TSLocationManager +0 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-simulator/TSLocationManager.framework/_CodeSignature/CodeDirectory +0 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-simulator/TSLocationManager.framework/_CodeSignature/CodeRequirements +0 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-simulator/TSLocationManager.framework/_CodeSignature/CodeRequirements-1 +0 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-simulator/TSLocationManager.framework/_CodeSignature/CodeResources +0 -642
- package/src/Events.js +0 -17
- package/src/declarations/BackgroundGeolocation.d.ts +0 -1683
- /package/{ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-simulator/TSLocationManager.framework/_CodeSignature/CodeSignature → tests-types/api-surface.ts} +0 -0
|
@@ -4,12 +4,12 @@ import android.Manifest;
|
|
|
4
4
|
import android.app.Activity;
|
|
5
5
|
import android.content.Context;
|
|
6
6
|
import android.content.Intent;
|
|
7
|
-
import android.util.Log;
|
|
8
7
|
import android.os.Build;
|
|
8
|
+
import android.util.Log;
|
|
9
9
|
|
|
10
10
|
import com.facebook.react.bridge.ActivityEventListener;
|
|
11
|
-
import com.facebook.react.bridge.Callback;
|
|
12
11
|
import com.facebook.react.bridge.LifecycleEventListener;
|
|
12
|
+
import com.facebook.react.bridge.Promise;
|
|
13
13
|
import com.facebook.react.bridge.ReactApplicationContext;
|
|
14
14
|
import com.facebook.react.bridge.ReactContextBaseJavaModule;
|
|
15
15
|
import com.facebook.react.bridge.ReactMethod;
|
|
@@ -21,23 +21,27 @@ import com.facebook.react.bridge.WritableArray;
|
|
|
21
21
|
import com.facebook.react.bridge.WritableMap;
|
|
22
22
|
import com.facebook.react.bridge.WritableNativeArray;
|
|
23
23
|
import com.facebook.react.bridge.WritableNativeMap;
|
|
24
|
-
import com.facebook.react.
|
|
24
|
+
import com.facebook.react.module.annotations.ReactModule;
|
|
25
|
+
import com.facebook.react.modules.core.DeviceEventManagerModule;
|
|
25
26
|
|
|
26
27
|
import org.greenrobot.eventbus.EventBus;
|
|
27
28
|
import org.json.JSONArray;
|
|
28
29
|
import org.json.JSONException;
|
|
29
30
|
import org.json.JSONObject;
|
|
30
31
|
|
|
32
|
+
import com.transistorsoft.locationmanager.config.TSConfig;
|
|
33
|
+
import com.transistorsoft.locationmanager.config.edit.Editor;
|
|
34
|
+
import com.transistorsoft.locationmanager.event.EventName;
|
|
31
35
|
import com.transistorsoft.locationmanager.event.FinishHeadlessTaskEvent;
|
|
32
36
|
import com.transistorsoft.locationmanager.event.HeadlessEvent;
|
|
33
37
|
import com.google.android.gms.common.GoogleApiAvailability;
|
|
34
38
|
|
|
35
39
|
import com.transistorsoft.locationmanager.adapter.BackgroundGeolocation;
|
|
36
|
-
|
|
40
|
+
|
|
37
41
|
import com.transistorsoft.locationmanager.adapter.callback.*;
|
|
38
|
-
|
|
39
|
-
import com.transistorsoft.locationmanager.config.TSAuthorization;
|
|
42
|
+
|
|
40
43
|
import com.transistorsoft.locationmanager.data.LocationModel;
|
|
44
|
+
|
|
41
45
|
import com.transistorsoft.locationmanager.data.SQLQuery;
|
|
42
46
|
import com.transistorsoft.locationmanager.device.DeviceInfo;
|
|
43
47
|
import com.transistorsoft.locationmanager.event.ActivityChangeEvent;
|
|
@@ -46,12 +50,14 @@ import com.transistorsoft.locationmanager.event.ConnectivityChangeEvent;
|
|
|
46
50
|
import com.transistorsoft.locationmanager.event.GeofenceEvent;
|
|
47
51
|
import com.transistorsoft.locationmanager.event.GeofencesChangeEvent;
|
|
48
52
|
import com.transistorsoft.locationmanager.event.HeartbeatEvent;
|
|
53
|
+
import com.transistorsoft.locationmanager.event.LocationEvent;
|
|
49
54
|
import com.transistorsoft.locationmanager.event.LocationProviderChangeEvent;
|
|
50
55
|
import com.transistorsoft.locationmanager.geofence.TSGeofence;
|
|
51
56
|
import com.transistorsoft.locationmanager.http.HttpResponse;
|
|
52
57
|
import com.transistorsoft.locationmanager.http.HttpService;
|
|
58
|
+
import com.transistorsoft.locationmanager.http.TSAuthorization;
|
|
59
|
+
import com.transistorsoft.locationmanager.http.TransistorAuthorizationToken;
|
|
53
60
|
import com.transistorsoft.locationmanager.location.TSCurrentPositionRequest;
|
|
54
|
-
import com.transistorsoft.locationmanager.location.TSLocation;
|
|
55
61
|
import com.transistorsoft.locationmanager.location.TSWatchPositionRequest;
|
|
56
62
|
import com.transistorsoft.locationmanager.scheduler.TSScheduleManager;
|
|
57
63
|
import com.transistorsoft.locationmanager.scheduler.ScheduleEvent;
|
|
@@ -70,7 +76,10 @@ import java.util.Map;
|
|
|
70
76
|
/**
|
|
71
77
|
* Created by chris on 2015-10-30.
|
|
72
78
|
*/
|
|
73
|
-
|
|
79
|
+
@ReactModule(name = "RNBackgroundGeolocation")
|
|
80
|
+
public class RNBackgroundGeolocationModule
|
|
81
|
+
extends ReactContextBaseJavaModule
|
|
82
|
+
implements ActivityEventListener, LifecycleEventListener {
|
|
74
83
|
|
|
75
84
|
private static final String TAG = "TSLocationManager";
|
|
76
85
|
private static final String JOB_SERVICE_CLASS = "HeadlessTask";
|
|
@@ -97,26 +106,26 @@ public class RNBackgroundGeolocationModule extends ReactContextBaseJavaModule im
|
|
|
97
106
|
reactContext.addLifecycleEventListener(this);
|
|
98
107
|
|
|
99
108
|
TSConfig config = TSConfig.getInstance(getReactApplicationContext());
|
|
100
|
-
config.
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
109
|
+
config.setUseCLLocationAccuracy(true);
|
|
110
|
+
Editor ed = config.edit();
|
|
111
|
+
//ed.geo().setUseCLLocationAccuracy(true);
|
|
112
|
+
ed.app().setHeadlessJobService(getClass().getPackage().getName() + "." + JOB_SERVICE_CLASS);
|
|
113
|
+
ed.commit();
|
|
105
114
|
|
|
106
115
|
// These are the only events which can be subscribed to.
|
|
107
|
-
mEvents.add(
|
|
108
|
-
mEvents.add(
|
|
109
|
-
mEvents.add(
|
|
110
|
-
mEvents.add(
|
|
111
|
-
mEvents.add(
|
|
112
|
-
mEvents.add(
|
|
113
|
-
mEvents.add(
|
|
114
|
-
mEvents.add(
|
|
115
|
-
mEvents.add(
|
|
116
|
-
mEvents.add(
|
|
117
|
-
mEvents.add(
|
|
118
|
-
mEvents.add(
|
|
119
|
-
mEvents.add(
|
|
116
|
+
mEvents.add(EventName.LOCATION);
|
|
117
|
+
mEvents.add(EventName.MOTIONCHANGE);
|
|
118
|
+
mEvents.add(EventName.ACTIVITYCHANGE);
|
|
119
|
+
mEvents.add(EventName.PROVIDERCHANGE);
|
|
120
|
+
mEvents.add(EventName.GEOFENCESCHANGE);
|
|
121
|
+
mEvents.add(EventName.GEOFENCE);
|
|
122
|
+
mEvents.add(EventName.HEARTBEAT);
|
|
123
|
+
mEvents.add(EventName.HTTP);
|
|
124
|
+
mEvents.add(EventName.SCHEDULE);
|
|
125
|
+
mEvents.add(EventName.POWERSAVECHANGE);
|
|
126
|
+
mEvents.add(EventName.CONNECTIVITYCHANGE);
|
|
127
|
+
mEvents.add(EventName.ENABLEDCHANGE);
|
|
128
|
+
mEvents.add(EventName.NOTIFICATIONACTION);
|
|
120
129
|
mEvents.add(TSAuthorization.NAME);
|
|
121
130
|
}
|
|
122
131
|
|
|
@@ -131,6 +140,7 @@ public class RNBackgroundGeolocationModule extends ReactContextBaseJavaModule im
|
|
|
131
140
|
|
|
132
141
|
private void registerEvents() {
|
|
133
142
|
BackgroundGeolocation adapter = getAdapter();
|
|
143
|
+
|
|
134
144
|
adapter.onLocation(new LocationCallback());
|
|
135
145
|
adapter.onMotionChange(new MotionChangeCallback());
|
|
136
146
|
adapter.onActivityChange(new ActivityChangeCallback());
|
|
@@ -151,13 +161,11 @@ public class RNBackgroundGeolocationModule extends ReactContextBaseJavaModule im
|
|
|
151
161
|
* location event callback
|
|
152
162
|
*/
|
|
153
163
|
private class LocationCallback implements TSLocationCallback {
|
|
154
|
-
@Override
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
} catch (JSONException e) {
|
|
158
|
-
e.printStackTrace();
|
|
159
|
-
}
|
|
164
|
+
@Override
|
|
165
|
+
public void onLocation(LocationEvent locationEvent) {
|
|
166
|
+
sendEvent(EventName.LOCATION, mapToWritableMap(locationEvent.toMap()));
|
|
160
167
|
}
|
|
168
|
+
|
|
161
169
|
@Override public void onError(Integer error) {
|
|
162
170
|
onLocationError(error);
|
|
163
171
|
}
|
|
@@ -167,16 +175,14 @@ public class RNBackgroundGeolocationModule extends ReactContextBaseJavaModule im
|
|
|
167
175
|
* motionchange event callback
|
|
168
176
|
*/
|
|
169
177
|
private class MotionChangeCallback implements TSLocationCallback {
|
|
170
|
-
@Override
|
|
178
|
+
@Override
|
|
179
|
+
public void onLocation(LocationEvent locationEvent) {
|
|
171
180
|
WritableMap params = new WritableNativeMap();
|
|
172
|
-
params.putBoolean("isMoving",
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
sendEvent(BackgroundGeolocation.EVENT_MOTIONCHANGE, params);
|
|
176
|
-
} catch (JSONException e) {
|
|
177
|
-
e.printStackTrace();
|
|
178
|
-
}
|
|
181
|
+
params.putBoolean("isMoving", locationEvent.isMoving());
|
|
182
|
+
params.putMap("location", mapToWritableMap(locationEvent.toMap()));
|
|
183
|
+
sendEvent(EventName.MOTIONCHANGE, params);
|
|
179
184
|
}
|
|
185
|
+
|
|
180
186
|
@Override public void onError(Integer error) {
|
|
181
187
|
onLocationError(error);
|
|
182
188
|
}
|
|
@@ -187,11 +193,7 @@ public class RNBackgroundGeolocationModule extends ReactContextBaseJavaModule im
|
|
|
187
193
|
*/
|
|
188
194
|
private class ActivityChangeCallback implements TSActivityChangeCallback {
|
|
189
195
|
@Override public void onActivityChange(ActivityChangeEvent event) {
|
|
190
|
-
|
|
191
|
-
sendEvent(BackgroundGeolocation.EVENT_ACTIVITYCHANGE, jsonToMap(event.toJson()));
|
|
192
|
-
} catch (JSONException e) {
|
|
193
|
-
e.printStackTrace();
|
|
194
|
-
}
|
|
196
|
+
sendEvent(EventName.ACTIVITYCHANGE, mapToWritableMap(event.toMap()));
|
|
195
197
|
}
|
|
196
198
|
}
|
|
197
199
|
|
|
@@ -206,7 +208,7 @@ public class RNBackgroundGeolocationModule extends ReactContextBaseJavaModule im
|
|
|
206
208
|
params.putBoolean("enabled", event.isEnabled());
|
|
207
209
|
params.putInt("accuracyAuthorization", event.getAccuracyAuthorization());
|
|
208
210
|
params.putInt("status", event.getStatus());
|
|
209
|
-
sendEvent(
|
|
211
|
+
sendEvent(EventName.PROVIDERCHANGE, params);
|
|
210
212
|
}
|
|
211
213
|
}
|
|
212
214
|
|
|
@@ -217,7 +219,7 @@ public class RNBackgroundGeolocationModule extends ReactContextBaseJavaModule im
|
|
|
217
219
|
@Override public void onConnectivityChange(ConnectivityChangeEvent event) {
|
|
218
220
|
WritableMap params = new WritableNativeMap();
|
|
219
221
|
params.putBoolean("connected", event.hasConnection());
|
|
220
|
-
sendEvent(
|
|
222
|
+
sendEvent(EventName.CONNECTIVITYCHANGE, params);
|
|
221
223
|
}
|
|
222
224
|
}
|
|
223
225
|
/**
|
|
@@ -225,7 +227,7 @@ public class RNBackgroundGeolocationModule extends ReactContextBaseJavaModule im
|
|
|
225
227
|
*/
|
|
226
228
|
private class EnabledChangeCallback implements TSEnabledChangeCallback {
|
|
227
229
|
@Override public void onEnabledChange(boolean enabled) {
|
|
228
|
-
sendEvent(
|
|
230
|
+
sendEvent(EventName.ENABLEDCHANGE, enabled);
|
|
229
231
|
}
|
|
230
232
|
}
|
|
231
233
|
/**
|
|
@@ -233,7 +235,7 @@ public class RNBackgroundGeolocationModule extends ReactContextBaseJavaModule im
|
|
|
233
235
|
*/
|
|
234
236
|
private class NotificationActionCallback implements TSNotificationActionCallback {
|
|
235
237
|
@Override public void onClick(String buttonId) {
|
|
236
|
-
sendEvent(
|
|
238
|
+
sendEvent(EventName.NOTIFICATIONACTION, buttonId);
|
|
237
239
|
}
|
|
238
240
|
}
|
|
239
241
|
/**
|
|
@@ -241,15 +243,11 @@ public class RNBackgroundGeolocationModule extends ReactContextBaseJavaModule im
|
|
|
241
243
|
*/
|
|
242
244
|
private class GeofencesChangeCallback implements TSGeofencesChangeCallback {
|
|
243
245
|
@Override public void onGeofencesChange(GeofencesChangeEvent event) {
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
sendEvent(BackgroundGeolocation.EVENT_GEOFENCESCHANGE, jsonToMap(event.toJson()));
|
|
250
|
-
} catch (JSONException e) {
|
|
251
|
-
e.printStackTrace();
|
|
252
|
-
}
|
|
246
|
+
// TODO
|
|
247
|
+
WritableMap params = new WritableNativeMap();
|
|
248
|
+
WritableArray on = new WritableNativeArray();
|
|
249
|
+
WritableArray off = new WritableNativeArray();
|
|
250
|
+
sendEvent(EventName.GEOFENCESCHANGE, mapToWritableMap(event.toMap()));
|
|
253
251
|
}
|
|
254
252
|
}
|
|
255
253
|
|
|
@@ -258,11 +256,7 @@ public class RNBackgroundGeolocationModule extends ReactContextBaseJavaModule im
|
|
|
258
256
|
*/
|
|
259
257
|
private class GeofenceCallback implements TSGeofenceCallback {
|
|
260
258
|
@Override public void onGeofence(GeofenceEvent event) {
|
|
261
|
-
|
|
262
|
-
sendEvent(BackgroundGeolocation.EVENT_GEOFENCE, jsonToMap(event.toJson()));
|
|
263
|
-
} catch (JSONException e) {
|
|
264
|
-
e.printStackTrace();
|
|
265
|
-
}
|
|
259
|
+
sendEvent(EventName.GEOFENCE, mapToWritableMap(event.toMap()));
|
|
266
260
|
}
|
|
267
261
|
}
|
|
268
262
|
|
|
@@ -271,11 +265,7 @@ public class RNBackgroundGeolocationModule extends ReactContextBaseJavaModule im
|
|
|
271
265
|
*/
|
|
272
266
|
private class HeartbeatCallback implements TSHeartbeatCallback {
|
|
273
267
|
@Override public void onHeartbeat(HeartbeatEvent event) {
|
|
274
|
-
|
|
275
|
-
sendEvent(BackgroundGeolocation.EVENT_HEARTBEAT, jsonToMap(event.toJson()));
|
|
276
|
-
} catch (JSONException e) {
|
|
277
|
-
e.printStackTrace();
|
|
278
|
-
}
|
|
268
|
+
sendEvent(EventName.HEARTBEAT, mapToWritableMap(event.toMap()));
|
|
279
269
|
}
|
|
280
270
|
}
|
|
281
271
|
|
|
@@ -288,7 +278,7 @@ public class RNBackgroundGeolocationModule extends ReactContextBaseJavaModule im
|
|
|
288
278
|
params.putBoolean("success", response.isSuccess());
|
|
289
279
|
params.putInt("status", response.status);
|
|
290
280
|
params.putString("responseText", response.responseText);
|
|
291
|
-
sendEvent(
|
|
281
|
+
sendEvent(EventName.HTTP, params);
|
|
292
282
|
}
|
|
293
283
|
}
|
|
294
284
|
|
|
@@ -297,11 +287,8 @@ public class RNBackgroundGeolocationModule extends ReactContextBaseJavaModule im
|
|
|
297
287
|
*/
|
|
298
288
|
private class ScheduleCallback implements TSScheduleCallback {
|
|
299
289
|
@Override public void onSchedule(ScheduleEvent event) {
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
} catch (JSONException e) {
|
|
303
|
-
e.printStackTrace();
|
|
304
|
-
}
|
|
290
|
+
TSConfig config = TSConfig.getInstance(getReactApplicationContext());
|
|
291
|
+
sendEvent(EventName.SCHEDULE, mapToWritableMap(config.toMap(false)));
|
|
305
292
|
}
|
|
306
293
|
}
|
|
307
294
|
|
|
@@ -310,7 +297,7 @@ public class RNBackgroundGeolocationModule extends ReactContextBaseJavaModule im
|
|
|
310
297
|
*/
|
|
311
298
|
private class PowerSaveChangeCallack implements TSPowerSaveChangeCallback {
|
|
312
299
|
@Override public void onPowerSaveChange(Boolean isPowerSaveMode) {
|
|
313
|
-
sendEvent(
|
|
300
|
+
sendEvent(EventName.POWERSAVECHANGE, isPowerSaveMode);
|
|
314
301
|
}
|
|
315
302
|
}
|
|
316
303
|
|
|
@@ -319,11 +306,7 @@ public class RNBackgroundGeolocationModule extends ReactContextBaseJavaModule im
|
|
|
319
306
|
*/
|
|
320
307
|
private class AuthorizationCallback implements TSAuthorizationCallback {
|
|
321
308
|
@Override public void onResponse(AuthorizationEvent event) {
|
|
322
|
-
|
|
323
|
-
sendEvent(TSAuthorization.NAME, jsonToMap(event.toJson()));
|
|
324
|
-
} catch (JSONException e) {
|
|
325
|
-
TSLog.logger.error(TSLog.error(e.getMessage()), e);
|
|
326
|
-
}
|
|
309
|
+
sendEvent(TSAuthorization.NAME, mapToWritableMap(event.toMap()));
|
|
327
310
|
}
|
|
328
311
|
}
|
|
329
312
|
|
|
@@ -371,7 +354,7 @@ public class RNBackgroundGeolocationModule extends ReactContextBaseJavaModule im
|
|
|
371
354
|
}
|
|
372
355
|
|
|
373
356
|
@ReactMethod
|
|
374
|
-
public void ready(ReadableMap params, final
|
|
357
|
+
public void ready(ReadableMap params, final Promise response) {
|
|
375
358
|
TSConfig config = TSConfig.getInstance(getReactApplicationContext());
|
|
376
359
|
|
|
377
360
|
boolean reset = true;
|
|
@@ -381,11 +364,11 @@ public class RNBackgroundGeolocationModule extends ReactContextBaseJavaModule im
|
|
|
381
364
|
|
|
382
365
|
if (mReady) {
|
|
383
366
|
if (reset) {
|
|
384
|
-
TSLog.
|
|
385
|
-
setConfig(params,
|
|
367
|
+
TSLog.w(TSLog.warn("#ready already called. Redirecting to #setConfig"));
|
|
368
|
+
setConfig(params, response);
|
|
386
369
|
} else {
|
|
387
|
-
TSLog.
|
|
388
|
-
|
|
370
|
+
TSLog.w(TSLog.warn("#ready already called. Ignored config since reset: false"));
|
|
371
|
+
response.resolve(getState());
|
|
389
372
|
}
|
|
390
373
|
return;
|
|
391
374
|
}
|
|
@@ -405,99 +388,99 @@ public class RNBackgroundGeolocationModule extends ReactContextBaseJavaModule im
|
|
|
405
388
|
// Have to be careful with expires: ReadadbleMap#toHashMap converts it to Double.
|
|
406
389
|
options.put(TSAuthorization.FIELD_EXPIRES, readableMap.getInt(TSAuthorization.FIELD_EXPIRES));
|
|
407
390
|
|
|
408
|
-
config.
|
|
409
|
-
|
|
410
|
-
|
|
391
|
+
Editor ed = config.edit();
|
|
392
|
+
ed.auth().setAuthorization(options);
|
|
393
|
+
ed.commit();
|
|
411
394
|
}
|
|
412
395
|
}
|
|
413
396
|
}
|
|
414
397
|
getAdapter().ready(new TSCallback() {
|
|
415
|
-
@Override public void onSuccess() {
|
|
416
|
-
@Override public void onFailure(String error) {
|
|
398
|
+
@Override public void onSuccess() { response.resolve(getState()); }
|
|
399
|
+
@Override public void onFailure(String error) { response.reject(error); }
|
|
417
400
|
});
|
|
418
401
|
}
|
|
419
402
|
|
|
420
403
|
@ReactMethod
|
|
421
|
-
public void configure(ReadableMap params, final
|
|
404
|
+
public void configure(ReadableMap params, final Promise response){
|
|
422
405
|
final TSConfig config = TSConfig.getInstance(getReactApplicationContext());
|
|
423
406
|
config.reset();
|
|
424
407
|
config.updateWithJSONObject(mapToJson(setHeadlessJobService(params)));
|
|
425
408
|
|
|
426
409
|
getAdapter().ready(new TSCallback() {
|
|
427
|
-
@Override public void onSuccess() {
|
|
428
|
-
@Override public void onFailure(String error) {
|
|
410
|
+
@Override public void onSuccess() { response.resolve(getState()); }
|
|
411
|
+
@Override public void onFailure(String error) { response.reject(error); }
|
|
429
412
|
});
|
|
430
413
|
}
|
|
431
414
|
|
|
432
415
|
@ReactMethod
|
|
433
|
-
public void setConfig(ReadableMap params, final
|
|
416
|
+
public void setConfig(ReadableMap params, final Promise response) {
|
|
434
417
|
TSConfig config = TSConfig.getInstance(getReactApplicationContext());
|
|
435
418
|
config.updateWithJSONObject(mapToJson(params));
|
|
436
|
-
|
|
419
|
+
response.resolve(getState());
|
|
437
420
|
}
|
|
438
421
|
|
|
439
422
|
@ReactMethod
|
|
440
|
-
public void reset(ReadableMap defaultConfig, final
|
|
423
|
+
public void reset(ReadableMap defaultConfig, final Promise response) {
|
|
441
424
|
TSConfig config = TSConfig.getInstance(getReactApplicationContext());
|
|
442
425
|
config.reset();
|
|
443
426
|
config.updateWithJSONObject(mapToJson(setHeadlessJobService(defaultConfig)));
|
|
444
|
-
|
|
427
|
+
response.resolve(getState());
|
|
445
428
|
}
|
|
446
429
|
|
|
447
430
|
@ReactMethod
|
|
448
|
-
public void start(final
|
|
431
|
+
public void start(final Promise response) {
|
|
449
432
|
getAdapter().start(new TSCallback() {
|
|
450
|
-
@Override public void onSuccess() {
|
|
451
|
-
@Override public void onFailure(String error) {
|
|
433
|
+
@Override public void onSuccess() { response.resolve(getState()); }
|
|
434
|
+
@Override public void onFailure(String error) { response.reject(error); }
|
|
452
435
|
});
|
|
453
436
|
}
|
|
454
437
|
|
|
455
438
|
@ReactMethod
|
|
456
|
-
public void startSchedule(
|
|
439
|
+
public void startSchedule(Promise response) {
|
|
457
440
|
if (getAdapter().startSchedule()) {
|
|
458
|
-
|
|
441
|
+
response.resolve(getState());
|
|
459
442
|
} else {
|
|
460
|
-
|
|
443
|
+
response.reject("Failed to start schedule. Did you configure a #schedule?");
|
|
461
444
|
}
|
|
462
445
|
}
|
|
463
446
|
|
|
464
447
|
@ReactMethod
|
|
465
|
-
public void stopSchedule(
|
|
448
|
+
public void stopSchedule(Promise response) {
|
|
466
449
|
getAdapter().stopSchedule();
|
|
467
|
-
|
|
450
|
+
response.resolve(getState());
|
|
468
451
|
}
|
|
469
452
|
|
|
470
453
|
@ReactMethod
|
|
471
|
-
public void startGeofences(final
|
|
454
|
+
public void startGeofences(final Promise response) {
|
|
472
455
|
getAdapter().startGeofences(new TSCallback() {
|
|
473
|
-
@Override public void onSuccess() {
|
|
474
|
-
@Override public void onFailure(String error) {
|
|
456
|
+
@Override public void onSuccess() { response.resolve(getState()); }
|
|
457
|
+
@Override public void onFailure(String error) { response.reject(error); }
|
|
475
458
|
});
|
|
476
459
|
}
|
|
477
460
|
|
|
478
461
|
@ReactMethod
|
|
479
|
-
public void stop(final
|
|
462
|
+
public void stop(final Promise response) {
|
|
480
463
|
getAdapter().stop(new TSCallback() {
|
|
481
|
-
@Override public void onSuccess() {
|
|
482
|
-
@Override public void onFailure(String error) {
|
|
464
|
+
@Override public void onSuccess() { response.resolve(getState()); }
|
|
465
|
+
@Override public void onFailure(String error) { response.reject(error); }
|
|
483
466
|
});
|
|
484
467
|
}
|
|
485
468
|
|
|
486
469
|
@ReactMethod
|
|
487
|
-
public void changePace(Boolean moving, final
|
|
470
|
+
public void changePace(final Boolean moving, final Promise response) {
|
|
488
471
|
getAdapter().changePace(moving, new TSCallback() {
|
|
489
|
-
@Override public void onSuccess() {
|
|
490
|
-
@Override public void onFailure(String error) {
|
|
472
|
+
@Override public void onSuccess() { response.resolve(moving); }
|
|
473
|
+
@Override public void onFailure(String error) { response.reject(error); }
|
|
491
474
|
});
|
|
492
475
|
}
|
|
493
476
|
|
|
494
477
|
@ReactMethod
|
|
495
|
-
public void getState(
|
|
496
|
-
|
|
478
|
+
public void getState(Promise response) {
|
|
479
|
+
response.resolve(getState());
|
|
497
480
|
}
|
|
498
481
|
|
|
499
482
|
@ReactMethod
|
|
500
|
-
public void getLocations(final
|
|
483
|
+
public void getLocations(final Promise response) {
|
|
501
484
|
getAdapter().getLocations(new TSGetLocationsCallback() {
|
|
502
485
|
@Override public void onSuccess(List<LocationModel> records) {
|
|
503
486
|
try {
|
|
@@ -505,73 +488,75 @@ public class RNBackgroundGeolocationModule extends ReactContextBaseJavaModule im
|
|
|
505
488
|
for (LocationModel location : records) {
|
|
506
489
|
data.put(location.json);
|
|
507
490
|
}
|
|
508
|
-
|
|
491
|
+
response.resolve(convertJsonToArray(data));
|
|
509
492
|
} catch (JSONException e) {
|
|
510
493
|
e.printStackTrace();
|
|
511
|
-
|
|
494
|
+
response.reject(e.getMessage());
|
|
512
495
|
}
|
|
513
496
|
}
|
|
514
|
-
@Override public void onFailure(Integer error) {
|
|
497
|
+
@Override public void onFailure(Integer error) { response.reject(error.toString()); }
|
|
515
498
|
});
|
|
516
499
|
}
|
|
517
500
|
|
|
518
501
|
@ReactMethod
|
|
519
|
-
public void getCount(final
|
|
520
|
-
|
|
502
|
+
public void getCount(final Promise response) {
|
|
503
|
+
response.resolve(getAdapter().getCount());
|
|
521
504
|
}
|
|
522
505
|
|
|
523
506
|
@ReactMethod
|
|
524
|
-
public void insertLocation(ReadableMap params, final
|
|
507
|
+
public void insertLocation(ReadableMap params, final Promise response) {
|
|
525
508
|
getAdapter().insertLocation(mapToJson(params), new TSInsertLocationCallback() {
|
|
526
509
|
@Override public void onSuccess(String uuid) {
|
|
527
|
-
|
|
510
|
+
response.resolve(uuid);
|
|
528
511
|
}
|
|
529
512
|
@Override public void onFailure(String error) {
|
|
530
|
-
|
|
513
|
+
response.reject(error);
|
|
531
514
|
}
|
|
532
515
|
});
|
|
533
516
|
}
|
|
534
517
|
|
|
535
518
|
// @deprecated -> #destroyLocations
|
|
536
519
|
@ReactMethod
|
|
537
|
-
public void clearDatabase(
|
|
538
|
-
destroyLocations(
|
|
520
|
+
public void clearDatabase(Promise response) {
|
|
521
|
+
destroyLocations(response);
|
|
539
522
|
}
|
|
540
523
|
|
|
541
524
|
@ReactMethod
|
|
542
|
-
public void destroyLocations(final
|
|
525
|
+
public void destroyLocations(final Promise response) {
|
|
543
526
|
getAdapter().destroyLocations(new TSCallback() {
|
|
544
|
-
@Override public void onSuccess() {
|
|
527
|
+
@Override public void onSuccess() {
|
|
528
|
+
response.resolve(true);
|
|
529
|
+
}
|
|
545
530
|
@Override public void onFailure(String error) {
|
|
546
|
-
|
|
531
|
+
response.reject(error);
|
|
547
532
|
}
|
|
548
533
|
});
|
|
549
534
|
}
|
|
550
535
|
|
|
551
536
|
@ReactMethod
|
|
552
|
-
public void destroyLocation(String uuid, final
|
|
537
|
+
public void destroyLocation(String uuid, final Promise response) {
|
|
553
538
|
getAdapter().destroyLocation(uuid, new TSCallback() {
|
|
554
|
-
@Override public void onSuccess() {
|
|
539
|
+
@Override public void onSuccess() { response.resolve(true); }
|
|
555
540
|
@Override public void onFailure(String error) {
|
|
556
|
-
|
|
541
|
+
response.reject(error);
|
|
557
542
|
}
|
|
558
543
|
});
|
|
559
544
|
}
|
|
560
545
|
|
|
561
546
|
@ReactMethod
|
|
562
|
-
public void destroyLog(final
|
|
547
|
+
public void destroyLog(final Promise response) {
|
|
563
548
|
getAdapter().destroyLog(new TSCallback() {
|
|
564
549
|
@Override public void onSuccess() {
|
|
565
|
-
|
|
550
|
+
response.resolve(true);
|
|
566
551
|
}
|
|
567
552
|
@Override public void onFailure(String error) {
|
|
568
|
-
|
|
553
|
+
response.reject(error);
|
|
569
554
|
}
|
|
570
555
|
});
|
|
571
556
|
}
|
|
572
557
|
|
|
573
558
|
@ReactMethod
|
|
574
|
-
public void sync(final
|
|
559
|
+
public void sync(final Promise response) {
|
|
575
560
|
getAdapter().sync(new TSSyncCallback() {
|
|
576
561
|
@Override public void onSuccess(List<LocationModel> records) {
|
|
577
562
|
try {
|
|
@@ -579,31 +564,27 @@ public class RNBackgroundGeolocationModule extends ReactContextBaseJavaModule im
|
|
|
579
564
|
for (LocationModel location : records) {
|
|
580
565
|
data.put(location.json);
|
|
581
566
|
}
|
|
582
|
-
|
|
567
|
+
response.resolve(convertJsonToArray(data));
|
|
583
568
|
} catch (JSONException e) {
|
|
584
|
-
|
|
569
|
+
response.reject(e.getMessage());
|
|
585
570
|
}
|
|
586
571
|
}
|
|
587
572
|
@Override public void onFailure(String error) {
|
|
588
|
-
|
|
573
|
+
response.reject(error);
|
|
589
574
|
}
|
|
590
575
|
});
|
|
591
576
|
}
|
|
592
577
|
|
|
593
578
|
@ReactMethod
|
|
594
|
-
public void getCurrentPosition(ReadableMap options, final
|
|
579
|
+
public void getCurrentPosition(ReadableMap options, final Promise response) {
|
|
595
580
|
TSCurrentPositionRequest.Builder builder = new TSCurrentPositionRequest.Builder(getReactApplicationContext());
|
|
596
581
|
|
|
597
582
|
builder.setCallback(new TSLocationCallback() {
|
|
598
|
-
@Override public void onLocation(
|
|
599
|
-
|
|
600
|
-
success.invoke(jsonToMap(tsLocation.toJson()));
|
|
601
|
-
} catch (JSONException e) {
|
|
602
|
-
failure.invoke(e.getMessage());
|
|
603
|
-
}
|
|
583
|
+
@Override public void onLocation(LocationEvent event) {
|
|
584
|
+
response.resolve(mapToWritableMap(event.toMap()));
|
|
604
585
|
}
|
|
605
586
|
@Override public void onError(Integer errorCode) {
|
|
606
|
-
|
|
587
|
+
response.reject(errorCode.toString());
|
|
607
588
|
}
|
|
608
589
|
});
|
|
609
590
|
|
|
@@ -617,19 +598,15 @@ public class RNBackgroundGeolocationModule extends ReactContextBaseJavaModule im
|
|
|
617
598
|
getAdapter().getCurrentPosition(builder.build());
|
|
618
599
|
}
|
|
619
600
|
@ReactMethod
|
|
620
|
-
public void watchPosition(ReadableMap options, final
|
|
601
|
+
public void watchPosition(ReadableMap options, final Promise response) {
|
|
621
602
|
TSWatchPositionRequest.Builder builder = new TSWatchPositionRequest.Builder(getReactApplicationContext());
|
|
622
603
|
|
|
623
604
|
builder.setCallback(new TSLocationCallback() {
|
|
624
|
-
@Override public void onLocation(
|
|
625
|
-
|
|
626
|
-
sendEvent(EVENT_WATCHPOSITION, jsonToMap(tsLocation.toJson()));
|
|
627
|
-
} catch (JSONException e) {
|
|
628
|
-
e.printStackTrace();
|
|
629
|
-
}
|
|
605
|
+
@Override public void onLocation(LocationEvent event) {
|
|
606
|
+
sendEvent(EVENT_WATCHPOSITION, mapToWritableMap(event.toMap()));
|
|
630
607
|
}
|
|
631
608
|
@Override public void onError(Integer error) {
|
|
632
|
-
|
|
609
|
+
response.reject(error.toString());
|
|
633
610
|
}
|
|
634
611
|
});
|
|
635
612
|
|
|
@@ -639,68 +616,64 @@ public class RNBackgroundGeolocationModule extends ReactContextBaseJavaModule im
|
|
|
639
616
|
if (options.hasKey("desiredAccuracy")) { builder.setDesiredAccuracy(options.getInt("desiredAccuracy")); }
|
|
640
617
|
|
|
641
618
|
getAdapter().watchPosition(builder.build());
|
|
642
|
-
|
|
619
|
+
response.resolve(true);
|
|
643
620
|
}
|
|
644
621
|
@ReactMethod
|
|
645
|
-
public void stopWatchPosition(final
|
|
622
|
+
public void stopWatchPosition(final Promise response) {
|
|
646
623
|
getAdapter().stopWatchPosition(new TSCallback() {
|
|
647
624
|
@Override public void onSuccess() {
|
|
648
|
-
|
|
625
|
+
response.resolve(true);
|
|
649
626
|
}
|
|
650
627
|
@Override public void onFailure(String error) {
|
|
651
|
-
|
|
628
|
+
response.reject(error);
|
|
652
629
|
}
|
|
653
630
|
});
|
|
654
631
|
}
|
|
655
632
|
@ReactMethod
|
|
656
|
-
public void getOdometer(
|
|
657
|
-
|
|
633
|
+
public void getOdometer(final Promise response) {
|
|
634
|
+
response.resolve(getAdapter().getOdometer());
|
|
658
635
|
}
|
|
659
636
|
@ReactMethod
|
|
660
|
-
public void setOdometer(
|
|
637
|
+
public void setOdometer(Double value, final Promise response) {
|
|
661
638
|
getAdapter().setOdometer(value, new TSLocationCallback() {
|
|
662
|
-
@Override public void onLocation(
|
|
663
|
-
|
|
664
|
-
success.invoke(jsonToMap(location.toJson()));
|
|
665
|
-
} catch (JSONException e) {
|
|
666
|
-
failure.invoke(e.getMessage());
|
|
667
|
-
}
|
|
639
|
+
@Override public void onLocation(LocationEvent event) {
|
|
640
|
+
response.resolve(mapToWritableMap(event.toMap()));
|
|
668
641
|
}
|
|
669
642
|
@Override public void onError(Integer errorCode) {
|
|
670
|
-
|
|
643
|
+
response.reject(errorCode.toString());
|
|
671
644
|
}
|
|
672
645
|
});
|
|
673
646
|
}
|
|
674
647
|
@ReactMethod
|
|
675
|
-
public void addGeofence(ReadableMap options, final
|
|
648
|
+
public void addGeofence(ReadableMap options, final Promise response) {
|
|
676
649
|
try {
|
|
677
650
|
getAdapter().addGeofence(buildGeofence(options), new TSCallback() {
|
|
678
|
-
@Override public void onSuccess() {
|
|
679
|
-
@Override public void onFailure(String error) {
|
|
651
|
+
@Override public void onSuccess() { response.resolve(true); }
|
|
652
|
+
@Override public void onFailure(String error) { response.reject(error); }
|
|
680
653
|
});
|
|
681
654
|
} catch (TSGeofence.Exception e) {
|
|
682
|
-
|
|
655
|
+
response.reject(e.getMessage());
|
|
683
656
|
}
|
|
684
657
|
}
|
|
685
658
|
|
|
686
659
|
@ReactMethod
|
|
687
|
-
public void addGeofences(ReadableArray data, final
|
|
660
|
+
public void addGeofences(ReadableArray data, final Promise response) {
|
|
688
661
|
List<TSGeofence> geofences = new ArrayList<TSGeofence>();
|
|
689
662
|
for (int n=0;n<data.size();n++) {
|
|
690
663
|
try {
|
|
691
664
|
geofences.add(buildGeofence(data.getMap(n)));
|
|
692
665
|
} catch (TSGeofence.Exception e) {
|
|
693
|
-
|
|
666
|
+
response.reject(e.getMessage());
|
|
694
667
|
return;
|
|
695
668
|
}
|
|
696
669
|
}
|
|
697
670
|
|
|
698
671
|
getAdapter().addGeofences(geofences, new TSCallback() {
|
|
699
672
|
@Override public void onSuccess() {
|
|
700
|
-
|
|
673
|
+
response.resolve(true);
|
|
701
674
|
}
|
|
702
675
|
@Override public void onFailure(String error) {
|
|
703
|
-
|
|
676
|
+
response.reject(error);
|
|
704
677
|
}
|
|
705
678
|
});
|
|
706
679
|
}
|
|
@@ -736,83 +709,73 @@ public class RNBackgroundGeolocationModule extends ReactContextBaseJavaModule im
|
|
|
736
709
|
}
|
|
737
710
|
|
|
738
711
|
@ReactMethod
|
|
739
|
-
public void removeGeofence(String identifier, final
|
|
712
|
+
public void removeGeofence(String identifier, final Promise response) {
|
|
740
713
|
getAdapter().removeGeofence(identifier, new TSCallback() {
|
|
741
714
|
@Override public void onSuccess() {
|
|
742
|
-
|
|
715
|
+
response.resolve(true);
|
|
743
716
|
}
|
|
744
717
|
@Override public void onFailure(String error) {
|
|
745
|
-
|
|
718
|
+
response.reject(error);
|
|
746
719
|
}
|
|
747
720
|
});
|
|
748
721
|
}
|
|
749
722
|
|
|
750
723
|
@ReactMethod
|
|
751
|
-
public void removeGeofences(final
|
|
724
|
+
public void removeGeofences(final Promise response) {
|
|
752
725
|
// TODO allow JS api to delete a list-of-geofences.
|
|
753
726
|
// TODO accept WritableArray geofences from Client js API, allowing to remove a set of geofences
|
|
754
727
|
List<String> identifiers = new ArrayList<>();
|
|
755
728
|
getAdapter().removeGeofences(identifiers, new TSCallback() {
|
|
756
729
|
@Override public void onSuccess() {
|
|
757
|
-
|
|
730
|
+
response.resolve(true);
|
|
758
731
|
}
|
|
759
732
|
@Override public void onFailure(String error) {
|
|
760
|
-
|
|
733
|
+
response.reject(error);
|
|
761
734
|
}
|
|
762
735
|
});
|
|
763
736
|
}
|
|
764
737
|
|
|
765
738
|
@ReactMethod
|
|
766
|
-
public void getGeofences(final
|
|
739
|
+
public void getGeofences(final Promise response) {
|
|
767
740
|
getAdapter().getGeofences(new TSGetGeofencesCallback() {
|
|
768
741
|
@Override public void onSuccess(List<TSGeofence> geofences) {
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
rs.pushMap(jsonToMap(geofence.toJson()));
|
|
773
|
-
}
|
|
774
|
-
success.invoke(rs);
|
|
775
|
-
} catch (JSONException e) {
|
|
776
|
-
e.printStackTrace();
|
|
777
|
-
failure.invoke(e.getMessage());
|
|
742
|
+
WritableArray rs = new WritableNativeArray();
|
|
743
|
+
for (TSGeofence geofence : geofences) {
|
|
744
|
+
rs.pushMap(mapToWritableMap(geofence.toMap()));
|
|
778
745
|
}
|
|
746
|
+
response.resolve(rs);
|
|
779
747
|
}
|
|
780
|
-
@Override public void onFailure(String error) {
|
|
748
|
+
@Override public void onFailure(String error) { response.reject(error); }
|
|
781
749
|
});
|
|
782
750
|
}
|
|
783
751
|
|
|
784
752
|
@ReactMethod
|
|
785
|
-
public void getGeofence(String identifier, final
|
|
753
|
+
public void getGeofence(String identifier, final Promise response) {
|
|
786
754
|
getAdapter().getGeofence(identifier, new TSGetGeofenceCallback() {
|
|
787
755
|
@Override public void onSuccess(TSGeofence geofence) {
|
|
788
|
-
|
|
789
|
-
success.invoke(jsonToMap(geofence.toJson()));
|
|
790
|
-
} catch (JSONException e) {
|
|
791
|
-
e.printStackTrace();
|
|
792
|
-
failure.invoke(e.getMessage());
|
|
793
|
-
}
|
|
756
|
+
response.resolve(mapToWritableMap(geofence.toMap()));
|
|
794
757
|
}
|
|
795
758
|
@Override public void onFailure(String error) {
|
|
796
|
-
|
|
759
|
+
response.reject(error);
|
|
797
760
|
}
|
|
798
761
|
});
|
|
799
762
|
}
|
|
800
763
|
|
|
801
764
|
@ReactMethod
|
|
802
|
-
public void geofenceExists(String identifier, final
|
|
765
|
+
public void geofenceExists(String identifier, final Promise response) {
|
|
803
766
|
getAdapter().geofenceExists(identifier, new TSGeofenceExistsCallback() {
|
|
804
767
|
@Override public void onResult(boolean exists) {
|
|
805
|
-
|
|
768
|
+
response.resolve(exists);
|
|
806
769
|
}
|
|
807
770
|
});
|
|
808
771
|
}
|
|
809
772
|
|
|
810
773
|
// TODO Rename #beginBackgroundTask -> #startBackgroundTask
|
|
811
774
|
@ReactMethod
|
|
812
|
-
public void beginBackgroundTask(final
|
|
775
|
+
public void beginBackgroundTask(final Promise response) {
|
|
813
776
|
getAdapter().startBackgroundTask(new TSBackgroundTaskCallback() {
|
|
814
777
|
@Override public void onStart(int taskId) {
|
|
815
|
-
|
|
778
|
+
response.resolve(taskId);
|
|
816
779
|
}
|
|
817
780
|
@Override public void onCancel(int taskId) { } // NO IMPLEMENTATION
|
|
818
781
|
});
|
|
@@ -820,115 +783,111 @@ public class RNBackgroundGeolocationModule extends ReactContextBaseJavaModule im
|
|
|
820
783
|
|
|
821
784
|
// TODO Rename #finish -> #stopBackgroundTask
|
|
822
785
|
@ReactMethod
|
|
823
|
-
public void finish(int taskId,
|
|
786
|
+
public void finish(int taskId, Promise response) {
|
|
824
787
|
getAdapter().stopBackgroundTask(taskId);
|
|
825
|
-
|
|
788
|
+
response.resolve(taskId);
|
|
826
789
|
}
|
|
827
790
|
|
|
828
791
|
/**
|
|
829
792
|
* Called by user's registered HeadlessTask when they call BackgroundGeolocation.finishHeadlessTask(event.taskId)
|
|
830
|
-
* @param taskId
|
|
831
|
-
* @param success
|
|
832
|
-
* @param failure
|
|
793
|
+
* @param taskId*
|
|
833
794
|
*/
|
|
834
795
|
@ReactMethod
|
|
835
|
-
public void finishHeadlessTask(int taskId,
|
|
796
|
+
public void finishHeadlessTask(int taskId, Promise response) {
|
|
836
797
|
EventBus eventBus = EventBus.getDefault();
|
|
837
798
|
if (!eventBus.hasSubscriberForEvent(HeadlessEvent.class)) {
|
|
838
799
|
// This shouldn't happen. In order for this method to even be called, it MUST have been executed from within the consumer's
|
|
839
800
|
// registered HeadlessTask. In order for that headless-task to have even be called, HeadlessEvent MUST have been registered with EventBus.
|
|
840
801
|
String message = "finishHeadlessTask failed to find an EventBus subscriber for HeadlessEvent";
|
|
841
|
-
TSLog.
|
|
842
|
-
|
|
802
|
+
TSLog.e(TSLog.warn(message));
|
|
803
|
+
response.reject(message);
|
|
843
804
|
return;
|
|
844
805
|
}
|
|
845
806
|
FinishHeadlessTaskEvent event = new FinishHeadlessTaskEvent(getReactApplicationContext(), taskId);
|
|
846
807
|
eventBus.post(event);
|
|
847
|
-
|
|
808
|
+
response.resolve(true);
|
|
848
809
|
}
|
|
849
810
|
|
|
850
811
|
@ReactMethod
|
|
851
|
-
public void getTransistorToken(String orgname, String username, String url, final
|
|
812
|
+
public void getTransistorToken(String orgname, String username, String url, final Promise response) {
|
|
852
813
|
|
|
853
814
|
TransistorAuthorizationToken.findOrCreate(getReactApplicationContext(), orgname, username, url, new TransistorAuthorizationToken.Callback() {
|
|
854
815
|
@Override public void onSuccess(TransistorAuthorizationToken token) {
|
|
855
|
-
|
|
856
|
-
success.invoke(jsonToMap(token.toJson()));
|
|
857
|
-
} catch (JSONException e) {
|
|
858
|
-
failure.invoke(e.getMessage());
|
|
859
|
-
}
|
|
816
|
+
response.resolve(mapToWritableMap(token.toMap()));
|
|
860
817
|
}
|
|
861
818
|
@Override public void onFailure(String error) {
|
|
862
819
|
WritableMap params = new WritableNativeMap();
|
|
863
820
|
params.putString("status", error);
|
|
864
821
|
params.putString("message", error);
|
|
865
|
-
|
|
822
|
+
response.reject(error);
|
|
866
823
|
}
|
|
867
824
|
});
|
|
868
825
|
}
|
|
869
826
|
|
|
870
827
|
@ReactMethod
|
|
871
|
-
public void destroyTransistorToken(String url, final
|
|
828
|
+
public void destroyTransistorToken(String url, final Promise response) {
|
|
872
829
|
TransistorAuthorizationToken.destroyTokenForUrl(getReactApplicationContext(), url, new TSCallback() {
|
|
873
830
|
@Override public void onSuccess() {
|
|
874
|
-
|
|
831
|
+
response.resolve(true);
|
|
875
832
|
}
|
|
876
833
|
@Override public void onFailure(String error) {
|
|
877
|
-
|
|
834
|
+
response.reject(error);
|
|
878
835
|
}
|
|
879
836
|
});
|
|
880
837
|
}
|
|
881
838
|
|
|
882
839
|
@ReactMethod
|
|
883
|
-
public void playSound(String soundId) {
|
|
840
|
+
public void playSound(String soundId, Promise response) {
|
|
884
841
|
getAdapter().startTone(soundId);
|
|
842
|
+
response.resolve(true);
|
|
885
843
|
}
|
|
886
844
|
|
|
887
845
|
@ReactMethod
|
|
888
|
-
public void getLog(ReadableMap params, final
|
|
846
|
+
public void getLog(ReadableMap params, final Promise response) {
|
|
889
847
|
SQLQuery query = parseSQLQuery(params);
|
|
890
848
|
|
|
891
849
|
TSLog.getLog(query, new TSGetLogCallback() {
|
|
892
850
|
@Override public void onSuccess(String log) {
|
|
893
|
-
|
|
851
|
+
response.resolve(log);
|
|
894
852
|
}
|
|
895
853
|
@Override public void onFailure(String error) {
|
|
896
|
-
|
|
854
|
+
response.reject(error);
|
|
897
855
|
}
|
|
898
856
|
});
|
|
899
857
|
}
|
|
900
858
|
|
|
901
859
|
@ReactMethod
|
|
902
|
-
public void emailLog(String email, ReadableMap params, final
|
|
860
|
+
public void emailLog(String email, ReadableMap params, final Promise response) {
|
|
903
861
|
SQLQuery query = parseSQLQuery(params);
|
|
904
862
|
|
|
905
863
|
TSLog.emailLog(getCurrentActivity(), email, query, new TSEmailLogCallback() {
|
|
906
864
|
@Override public void onSuccess() {
|
|
907
|
-
|
|
865
|
+
response.resolve(true);
|
|
908
866
|
}
|
|
909
867
|
@Override public void onFailure(String error) {
|
|
910
|
-
|
|
868
|
+
response.reject(error);
|
|
911
869
|
}
|
|
912
870
|
});
|
|
913
871
|
}
|
|
914
872
|
|
|
915
873
|
@ReactMethod
|
|
916
|
-
public void uploadLog(String url, ReadableMap params, final
|
|
874
|
+
public void uploadLog(String url, ReadableMap params, final Promise response) {
|
|
917
875
|
SQLQuery query = parseSQLQuery(params);
|
|
918
876
|
|
|
919
877
|
TSLog.uploadLog(getReactApplicationContext(), url, query, new TSCallback() {
|
|
920
878
|
@Override public void onSuccess() {
|
|
921
|
-
|
|
879
|
+
response.resolve(true);
|
|
922
880
|
}
|
|
923
881
|
@Override public void onFailure(String error) {
|
|
924
|
-
|
|
882
|
+
response.reject(error);
|
|
925
883
|
}
|
|
926
884
|
});
|
|
927
885
|
}
|
|
928
886
|
|
|
929
887
|
@ReactMethod
|
|
930
|
-
public void log(String level, String message) throws JSONException {
|
|
888
|
+
public void log(String level, String message, Promise response) throws JSONException {
|
|
931
889
|
TSLog.log(level, message);
|
|
890
|
+
response.resolve(true);
|
|
932
891
|
}
|
|
933
892
|
|
|
934
893
|
private SQLQuery parseSQLQuery(ReadableMap params) {
|
|
@@ -951,7 +910,7 @@ public class RNBackgroundGeolocationModule extends ReactContextBaseJavaModule im
|
|
|
951
910
|
}
|
|
952
911
|
|
|
953
912
|
@ReactMethod
|
|
954
|
-
public void getSensors(
|
|
913
|
+
public void getSensors(Promise response) {
|
|
955
914
|
Sensors sensors = Sensors.getInstance(getReactApplicationContext());
|
|
956
915
|
WritableMap params = new WritableNativeMap();
|
|
957
916
|
params.putString("platform", "android");
|
|
@@ -959,11 +918,11 @@ public class RNBackgroundGeolocationModule extends ReactContextBaseJavaModule im
|
|
|
959
918
|
params.putBoolean("magnetometer", sensors.hasMagnetometer());
|
|
960
919
|
params.putBoolean("gyroscope", sensors.hasGyroscope());
|
|
961
920
|
params.putBoolean("significant_motion", sensors.hasSignificantMotion());
|
|
962
|
-
|
|
921
|
+
response.resolve(params);
|
|
963
922
|
}
|
|
964
923
|
|
|
965
924
|
@ReactMethod
|
|
966
|
-
public void getDeviceInfo(
|
|
925
|
+
public void getDeviceInfo(Promise response) {
|
|
967
926
|
DeviceInfo deviceInfo = DeviceInfo.getInstance(getReactApplicationContext());
|
|
968
927
|
|
|
969
928
|
WritableMap params = new WritableNativeMap();
|
|
@@ -972,72 +931,67 @@ public class RNBackgroundGeolocationModule extends ReactContextBaseJavaModule im
|
|
|
972
931
|
params.putString("version", deviceInfo.getVersion());
|
|
973
932
|
params.putString("platform", deviceInfo.getPlatform());
|
|
974
933
|
params.putString("framework", "react-native");
|
|
975
|
-
|
|
934
|
+
response.resolve(params);
|
|
976
935
|
}
|
|
977
936
|
|
|
978
937
|
@ReactMethod
|
|
979
|
-
public void isPowerSaveMode(
|
|
980
|
-
|
|
938
|
+
public void isPowerSaveMode(Promise response) {
|
|
939
|
+
response.resolve(getAdapter().isPowerSaveMode());
|
|
981
940
|
}
|
|
982
941
|
|
|
983
942
|
@ReactMethod
|
|
984
|
-
public void isIgnoringBatteryOptimizations(
|
|
943
|
+
public void isIgnoringBatteryOptimizations(Promise response) {
|
|
985
944
|
boolean isIgnoring = getAdapter().isIgnoringBatteryOptimizations();
|
|
986
|
-
|
|
945
|
+
response.resolve(isIgnoring);
|
|
987
946
|
}
|
|
988
947
|
|
|
989
948
|
@ReactMethod
|
|
990
|
-
public void requestSettings(ReadableMap args,
|
|
949
|
+
public void requestSettings(ReadableMap args, Promise response) throws JSONException {
|
|
991
950
|
String action = args.getString("action");
|
|
992
951
|
DeviceSettingsRequest request = getAdapter().requestSettings(action);
|
|
993
|
-
|
|
994
952
|
if (request != null) {
|
|
995
|
-
|
|
953
|
+
response.resolve(mapToWritableMap(request.toMap()));
|
|
996
954
|
} else {
|
|
997
|
-
|
|
955
|
+
response.reject("Failed to find " + action + " screen for device " + Build.MANUFACTURER + " " + Build.MODEL + "@" + Build.VERSION.RELEASE);
|
|
998
956
|
}
|
|
999
957
|
}
|
|
1000
958
|
|
|
1001
959
|
@ReactMethod
|
|
1002
|
-
public void showSettings(ReadableMap args,
|
|
960
|
+
public void showSettings(ReadableMap args, Promise response) {
|
|
1003
961
|
String action = args.getString("action");
|
|
1004
962
|
boolean didShow = getAdapter().showSettings(action);
|
|
1005
963
|
if (didShow) {
|
|
1006
|
-
|
|
964
|
+
response.resolve(true);
|
|
1007
965
|
} else {
|
|
1008
|
-
|
|
966
|
+
response.reject("Failed to find " + action + " screen for device " + Build.MANUFACTURER + " " + Build.MODEL + "@" + Build.VERSION.RELEASE);
|
|
1009
967
|
}
|
|
1010
968
|
}
|
|
1011
969
|
|
|
1012
970
|
@ReactMethod
|
|
1013
|
-
public void getProviderState(
|
|
1014
|
-
|
|
1015
|
-
success.invoke(jsonToMap(getAdapter().getProviderState().toJson()));
|
|
1016
|
-
} catch (JSONException e) {
|
|
1017
|
-
error.invoke(e.getMessage());
|
|
1018
|
-
}
|
|
971
|
+
public void getProviderState(Promise response) {
|
|
972
|
+
response.resolve(mapToWritableMap(getAdapter().getProviderState().toMap()));
|
|
1019
973
|
}
|
|
1020
974
|
|
|
1021
975
|
@ReactMethod
|
|
1022
|
-
public void requestPermission(final
|
|
976
|
+
public void requestPermission(final Promise response) {
|
|
1023
977
|
getAdapter().requestPermission(new TSRequestPermissionCallback() {
|
|
1024
978
|
@Override public void onSuccess(int status) {
|
|
1025
|
-
|
|
979
|
+
response.resolve(status);
|
|
1026
980
|
}
|
|
1027
981
|
@Override public void onFailure(int status) {
|
|
1028
|
-
|
|
982
|
+
response.reject("Permission request failed with status: " + status);
|
|
1029
983
|
}
|
|
1030
984
|
});
|
|
1031
985
|
}
|
|
1032
986
|
|
|
1033
987
|
@ReactMethod
|
|
1034
|
-
public void requestTemporaryFullAccuracy(String purpose, final
|
|
988
|
+
public void requestTemporaryFullAccuracy(String purpose, final Promise response) {
|
|
1035
989
|
getAdapter().requestTemporaryFullAccuracy(purpose, new TSRequestPermissionCallback() {
|
|
1036
990
|
@Override public void onSuccess(int accuracyAuthorization) {
|
|
1037
|
-
|
|
991
|
+
response.resolve(accuracyAuthorization);
|
|
1038
992
|
}
|
|
1039
993
|
@Override public void onFailure(int accuracyAuthorization) {
|
|
1040
|
-
|
|
994
|
+
response.reject("Temporary full accuracy request failed with status: " + accuracyAuthorization);
|
|
1041
995
|
}
|
|
1042
996
|
});
|
|
1043
997
|
}
|
|
@@ -1062,7 +1016,7 @@ public class RNBackgroundGeolocationModule extends ReactContextBaseJavaModule im
|
|
|
1062
1016
|
private void onLocationError(Integer code) {
|
|
1063
1017
|
WritableMap params = new WritableNativeMap();
|
|
1064
1018
|
params.putInt("error", code);
|
|
1065
|
-
sendEvent(
|
|
1019
|
+
sendEvent(EventName.LOCATION, params);
|
|
1066
1020
|
}
|
|
1067
1021
|
|
|
1068
1022
|
private void handlePlayServicesConnectError(Integer errorCode) {
|
|
@@ -1074,15 +1028,95 @@ public class RNBackgroundGeolocationModule extends ReactContextBaseJavaModule im
|
|
|
1074
1028
|
}
|
|
1075
1029
|
|
|
1076
1030
|
private void sendEvent(String eventName, WritableMap params) {
|
|
1077
|
-
getReactApplicationContext()
|
|
1031
|
+
getReactApplicationContext()
|
|
1032
|
+
.getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter.class)
|
|
1033
|
+
.emit(eventName, params);
|
|
1078
1034
|
}
|
|
1079
1035
|
|
|
1080
1036
|
private void sendEvent(String eventName, String result) {
|
|
1081
|
-
getReactApplicationContext()
|
|
1037
|
+
getReactApplicationContext()
|
|
1038
|
+
.getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter.class)
|
|
1039
|
+
.emit(eventName, result);
|
|
1082
1040
|
}
|
|
1083
1041
|
|
|
1084
1042
|
private void sendEvent(String eventName, Boolean result) {
|
|
1085
|
-
getReactApplicationContext()
|
|
1043
|
+
getReactApplicationContext()
|
|
1044
|
+
.getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter.class)
|
|
1045
|
+
.emit(eventName, result);
|
|
1046
|
+
}
|
|
1047
|
+
|
|
1048
|
+
@SuppressWarnings("unchecked")
|
|
1049
|
+
public static WritableMap mapToWritableMap(Map<String, ?> src) {
|
|
1050
|
+
WritableMap map = new WritableNativeMap();
|
|
1051
|
+
if (src == null) {
|
|
1052
|
+
return map;
|
|
1053
|
+
}
|
|
1054
|
+
|
|
1055
|
+
for (Map.Entry<String, ?> entry : src.entrySet()) {
|
|
1056
|
+
String key = entry.getKey();
|
|
1057
|
+
Object value = entry.getValue();
|
|
1058
|
+
|
|
1059
|
+
if (value == null) {
|
|
1060
|
+
map.putNull(key);
|
|
1061
|
+
} else if (value instanceof Boolean) {
|
|
1062
|
+
map.putBoolean(key, (Boolean) value);
|
|
1063
|
+
} else if (value instanceof Integer) {
|
|
1064
|
+
map.putInt(key, (Integer) value);
|
|
1065
|
+
} else if (value instanceof Long) {
|
|
1066
|
+
map.putDouble(key, ((Long) value).doubleValue());
|
|
1067
|
+
} else if (value instanceof Float) {
|
|
1068
|
+
map.putDouble(key, ((Float) value).doubleValue());
|
|
1069
|
+
} else if (value instanceof Double) {
|
|
1070
|
+
map.putDouble(key, (Double) value);
|
|
1071
|
+
} else if (value instanceof String) {
|
|
1072
|
+
map.putString(key, (String) value);
|
|
1073
|
+
} else if (value instanceof Map) {
|
|
1074
|
+
map.putMap(key, mapToWritableMap((Map<String, ?>) value));
|
|
1075
|
+
} else if (value instanceof Iterable) {
|
|
1076
|
+
map.putArray(key, iterableToWritableArray((Iterable<Object>) value));
|
|
1077
|
+
} else if (value.getClass().isArray()) {
|
|
1078
|
+
List<Object> list = Arrays.asList((Object[]) value);
|
|
1079
|
+
map.putArray(key, iterableToWritableArray(list));
|
|
1080
|
+
} else {
|
|
1081
|
+
map.putString(key, value.toString());
|
|
1082
|
+
}
|
|
1083
|
+
}
|
|
1084
|
+
|
|
1085
|
+
return map;
|
|
1086
|
+
}
|
|
1087
|
+
|
|
1088
|
+
private static WritableArray iterableToWritableArray(Iterable<Object> src) {
|
|
1089
|
+
WritableArray array = new WritableNativeArray();
|
|
1090
|
+
if (src == null) return array;
|
|
1091
|
+
|
|
1092
|
+
for (Object value : src) {
|
|
1093
|
+
if (value == null) {
|
|
1094
|
+
array.pushNull();
|
|
1095
|
+
} else if (value instanceof Boolean) {
|
|
1096
|
+
array.pushBoolean((Boolean) value);
|
|
1097
|
+
} else if (value instanceof Integer) {
|
|
1098
|
+
array.pushInt((Integer) value);
|
|
1099
|
+
} else if (value instanceof Long) {
|
|
1100
|
+
array.pushDouble(((Long) value).doubleValue());
|
|
1101
|
+
} else if (value instanceof Float) {
|
|
1102
|
+
array.pushDouble(((Float) value).doubleValue());
|
|
1103
|
+
} else if (value instanceof Double) {
|
|
1104
|
+
array.pushDouble((Double) value);
|
|
1105
|
+
} else if (value instanceof String) {
|
|
1106
|
+
array.pushString((String) value);
|
|
1107
|
+
} else if (value instanceof Map) {
|
|
1108
|
+
array.pushMap(mapToWritableMap((Map<String, Object>) value));
|
|
1109
|
+
} else if (value instanceof Iterable) {
|
|
1110
|
+
array.pushArray(iterableToWritableArray((Iterable<Object>) value));
|
|
1111
|
+
} else if (value.getClass().isArray()) {
|
|
1112
|
+
List<Object> list = Arrays.asList((Object[]) value);
|
|
1113
|
+
array.pushArray(iterableToWritableArray(list));
|
|
1114
|
+
} else {
|
|
1115
|
+
array.pushString(value.toString());
|
|
1116
|
+
}
|
|
1117
|
+
}
|
|
1118
|
+
|
|
1119
|
+
return array;
|
|
1086
1120
|
}
|
|
1087
1121
|
|
|
1088
1122
|
public static WritableMap jsonToMap(JSONObject jsonObject) throws JSONException {
|
|
@@ -1227,12 +1261,7 @@ public class RNBackgroundGeolocationModule extends ReactContextBaseJavaModule im
|
|
|
1227
1261
|
}
|
|
1228
1262
|
|
|
1229
1263
|
private WritableMap getState() {
|
|
1230
|
-
|
|
1231
|
-
return jsonToMap(TSConfig.getInstance(getReactApplicationContext()).toJson());
|
|
1232
|
-
} catch (JSONException e) {
|
|
1233
|
-
e.printStackTrace();
|
|
1234
|
-
return null;
|
|
1235
|
-
}
|
|
1264
|
+
return mapToWritableMap(TSConfig.getInstance(getReactApplicationContext()).toMap(false));
|
|
1236
1265
|
}
|
|
1237
1266
|
|
|
1238
1267
|
private BackgroundGeolocation getAdapter() {
|