react-native-background-geolocation 4.3.0
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/.github/stale.yml +41 -0
- package/CHANGELOG.md +1131 -0
- package/LICENSE +22 -0
- package/README.md +292 -0
- package/RNBackgroundGeolocation.podspec +27 -0
- package/android/.idea/compiler.xml +22 -0
- package/android/.idea/copyright/profiles_settings.xml +3 -0
- package/android/.idea/encodings.xml +6 -0
- package/android/.idea/gradle.xml +12 -0
- package/android/.idea/misc.xml +4 -0
- package/android/.idea/modules.xml +8 -0
- package/android/.idea/runConfigurations.xml +12 -0
- package/android/RNBackgroundGeolocation.iml +119 -0
- package/android/android.iml +20 -0
- package/android/app.gradle +22 -0
- package/android/build.gradle +62 -0
- package/android/libs/com/transistorsoft/tslocationmanager/3.1.33/tslocationmanager-3.1.33.aar +0 -0
- package/android/libs/com/transistorsoft/tslocationmanager/3.1.33/tslocationmanager-3.1.33.aar.md5 +1 -0
- package/android/libs/com/transistorsoft/tslocationmanager/3.1.33/tslocationmanager-3.1.33.aar.sha1 +1 -0
- package/android/libs/com/transistorsoft/tslocationmanager/3.1.33/tslocationmanager-3.1.33.aar.sha256 +1 -0
- package/android/libs/com/transistorsoft/tslocationmanager/3.1.33/tslocationmanager-3.1.33.aar.sha512 +1 -0
- package/android/libs/com/transistorsoft/tslocationmanager/3.1.33/tslocationmanager-3.1.33.pom +9 -0
- package/android/libs/com/transistorsoft/tslocationmanager/3.1.33/tslocationmanager-3.1.33.pom.md5 +1 -0
- package/android/libs/com/transistorsoft/tslocationmanager/3.1.33/tslocationmanager-3.1.33.pom.sha1 +1 -0
- package/android/libs/com/transistorsoft/tslocationmanager/3.1.33/tslocationmanager-3.1.33.pom.sha256 +1 -0
- package/android/libs/com/transistorsoft/tslocationmanager/3.1.33/tslocationmanager-3.1.33.pom.sha512 +1 -0
- package/android/libs/com/transistorsoft/tslocationmanager/maven-metadata.xml +14 -0
- package/android/libs/com/transistorsoft/tslocationmanager-reverse/3.1.33/tslocationmanager-reverse-3.1.33.aar +0 -0
- package/android/libs/com/transistorsoft/tslocationmanager-reverse/3.1.33/tslocationmanager-reverse-3.1.33.aar.md5 +1 -0
- package/android/libs/com/transistorsoft/tslocationmanager-reverse/3.1.33/tslocationmanager-reverse-3.1.33.aar.sha1 +1 -0
- package/android/libs/com/transistorsoft/tslocationmanager-reverse/3.1.33/tslocationmanager-reverse-3.1.33.aar.sha256 +1 -0
- package/android/libs/com/transistorsoft/tslocationmanager-reverse/3.1.33/tslocationmanager-reverse-3.1.33.aar.sha512 +1 -0
- package/android/libs/com/transistorsoft/tslocationmanager-reverse/3.1.33/tslocationmanager-reverse-3.1.33.pom +9 -0
- package/android/libs/com/transistorsoft/tslocationmanager-reverse/3.1.33/tslocationmanager-reverse-3.1.33.pom.md5 +1 -0
- package/android/libs/com/transistorsoft/tslocationmanager-reverse/3.1.33/tslocationmanager-reverse-3.1.33.pom.sha1 +1 -0
- package/android/libs/com/transistorsoft/tslocationmanager-reverse/3.1.33/tslocationmanager-reverse-3.1.33.pom.sha256 +1 -0
- package/android/libs/com/transistorsoft/tslocationmanager-reverse/3.1.33/tslocationmanager-reverse-3.1.33.pom.sha512 +1 -0
- package/android/libs/com/transistorsoft/tslocationmanager-reverse/maven-metadata.xml +14 -0
- package/android/proguard-rules.pro +30 -0
- package/android/react-native-background-geolocation-android.iml +229 -0
- package/android/src/main/AndroidManifest.xml +6 -0
- package/android/src/main/java/com/transistorsoft/rnbackgroundgeolocation/HeadlessTask.java +171 -0
- package/android/src/main/java/com/transistorsoft/rnbackgroundgeolocation/RNBackgroundGeolocation.java +33 -0
- package/android/src/main/java/com/transistorsoft/rnbackgroundgeolocation/RNBackgroundGeolocationModule.java +1261 -0
- package/android/src/main/res/values/strings.xml +3 -0
- package/ios/RNBackgroundGeolocation/RNBackgroundGeolocation.h +22 -0
- package/ios/RNBackgroundGeolocation/RNBackgroundGeolocation.m +754 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/Info.plist +57 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_armv7/TSLocationManager.framework/Headers/AtomicBoolean.h +18 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_armv7/TSLocationManager.framework/Headers/ConfigModule.h +21 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_armv7/TSLocationManager.framework/Headers/HttpRequest.h +21 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_armv7/TSLocationManager.framework/Headers/HttpResponse.h +29 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_armv7/TSLocationManager.framework/Headers/LocationManager.h +55 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_armv7/TSLocationManager.framework/Headers/LogQuery.h +13 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_armv7/TSLocationManager.framework/Headers/SOMotionDetector.h +140 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_armv7/TSLocationManager.framework/Headers/SQLQuery.h +34 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_armv7/TSLocationManager.framework/Headers/TSActivityChangeEvent.h +16 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_armv7/TSLocationManager.framework/Headers/TSAuthorization.h +37 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_armv7/TSLocationManager.framework/Headers/TSAuthorizationEvent.h +17 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_armv7/TSLocationManager.framework/Headers/TSCallback.h +18 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_armv7/TSLocationManager.framework/Headers/TSConfig.h +304 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_armv7/TSLocationManager.framework/Headers/TSConnectivityChangeEvent.h +17 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_armv7/TSLocationManager.framework/Headers/TSCurrentPositionRequest.h +43 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_armv7/TSLocationManager.framework/Headers/TSDeviceInfo.h +24 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_armv7/TSLocationManager.framework/Headers/TSEnabledChangeEvent.h +15 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_armv7/TSLocationManager.framework/Headers/TSGeofence.h +50 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_armv7/TSLocationManager.framework/Headers/TSGeofenceEvent.h +60 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_armv7/TSLocationManager.framework/Headers/TSGeofenceManager.h +50 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_armv7/TSLocationManager.framework/Headers/TSGeofencesChangeEvent.h +17 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_armv7/TSLocationManager.framework/Headers/TSHeartbeatEvent.h +18 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_armv7/TSLocationManager.framework/Headers/TSHttpEvent.h +19 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_armv7/TSLocationManager.framework/Headers/TSHttpService.h +58 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_armv7/TSLocationManager.framework/Headers/TSLocation.h +101 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_armv7/TSLocationManager.framework/Headers/TSLocationManager.h +312 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_armv7/TSLocationManager.framework/Headers/TSPowerSaveChangeEvent.h +14 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_armv7/TSLocationManager.framework/Headers/TSProviderChangeEvent.h +20 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_armv7/TSLocationManager.framework/Headers/TSReachability.h +106 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_armv7/TSLocationManager.framework/Headers/TSSchedule.h +40 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_armv7/TSLocationManager.framework/Headers/TSScheduleEvent.h +18 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_armv7/TSLocationManager.framework/Headers/TSWatchPositionRequest.h +41 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_armv7/TSLocationManager.framework/Headers/TransistorAuthorizationToken.h +31 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_armv7/TSLocationManager.framework/Info.plist +0 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_armv7/TSLocationManager.framework/Modules/module.modulemap +6 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_armv7/TSLocationManager.framework/TSLocationManager +0 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_i386_x86_64-simulator/TSLocationManager.framework/Headers/AtomicBoolean.h +18 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_i386_x86_64-simulator/TSLocationManager.framework/Headers/ConfigModule.h +21 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_i386_x86_64-simulator/TSLocationManager.framework/Headers/HttpRequest.h +21 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_i386_x86_64-simulator/TSLocationManager.framework/Headers/HttpResponse.h +29 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_i386_x86_64-simulator/TSLocationManager.framework/Headers/LocationManager.h +55 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_i386_x86_64-simulator/TSLocationManager.framework/Headers/LogQuery.h +13 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_i386_x86_64-simulator/TSLocationManager.framework/Headers/SOMotionDetector.h +140 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_i386_x86_64-simulator/TSLocationManager.framework/Headers/SQLQuery.h +34 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_i386_x86_64-simulator/TSLocationManager.framework/Headers/TSActivityChangeEvent.h +16 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_i386_x86_64-simulator/TSLocationManager.framework/Headers/TSAuthorization.h +37 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_i386_x86_64-simulator/TSLocationManager.framework/Headers/TSAuthorizationEvent.h +17 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_i386_x86_64-simulator/TSLocationManager.framework/Headers/TSCallback.h +18 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_i386_x86_64-simulator/TSLocationManager.framework/Headers/TSConfig.h +304 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_i386_x86_64-simulator/TSLocationManager.framework/Headers/TSConnectivityChangeEvent.h +17 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_i386_x86_64-simulator/TSLocationManager.framework/Headers/TSCurrentPositionRequest.h +43 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_i386_x86_64-simulator/TSLocationManager.framework/Headers/TSDeviceInfo.h +24 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_i386_x86_64-simulator/TSLocationManager.framework/Headers/TSEnabledChangeEvent.h +15 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_i386_x86_64-simulator/TSLocationManager.framework/Headers/TSGeofence.h +50 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_i386_x86_64-simulator/TSLocationManager.framework/Headers/TSGeofenceEvent.h +60 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_i386_x86_64-simulator/TSLocationManager.framework/Headers/TSGeofenceManager.h +50 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_i386_x86_64-simulator/TSLocationManager.framework/Headers/TSGeofencesChangeEvent.h +17 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_i386_x86_64-simulator/TSLocationManager.framework/Headers/TSHeartbeatEvent.h +18 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_i386_x86_64-simulator/TSLocationManager.framework/Headers/TSHttpEvent.h +19 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_i386_x86_64-simulator/TSLocationManager.framework/Headers/TSHttpService.h +58 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_i386_x86_64-simulator/TSLocationManager.framework/Headers/TSLocation.h +101 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_i386_x86_64-simulator/TSLocationManager.framework/Headers/TSLocationManager.h +312 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_i386_x86_64-simulator/TSLocationManager.framework/Headers/TSPowerSaveChangeEvent.h +14 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_i386_x86_64-simulator/TSLocationManager.framework/Headers/TSProviderChangeEvent.h +20 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_i386_x86_64-simulator/TSLocationManager.framework/Headers/TSReachability.h +106 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_i386_x86_64-simulator/TSLocationManager.framework/Headers/TSSchedule.h +40 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_i386_x86_64-simulator/TSLocationManager.framework/Headers/TSScheduleEvent.h +18 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_i386_x86_64-simulator/TSLocationManager.framework/Headers/TSWatchPositionRequest.h +41 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_i386_x86_64-simulator/TSLocationManager.framework/Headers/TransistorAuthorizationToken.h +31 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_i386_x86_64-simulator/TSLocationManager.framework/Info.plist +0 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_i386_x86_64-simulator/TSLocationManager.framework/Modules/module.modulemap +6 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_i386_x86_64-simulator/TSLocationManager.framework/TSLocationManager +0 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_i386_x86_64-simulator/TSLocationManager.framework/_CodeSignature/CodeDirectory +0 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_i386_x86_64-simulator/TSLocationManager.framework/_CodeSignature/CodeRequirements +0 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_i386_x86_64-simulator/TSLocationManager.framework/_CodeSignature/CodeRequirements-1 +0 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_i386_x86_64-simulator/TSLocationManager.framework/_CodeSignature/CodeResources +612 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_i386_x86_64-simulator/TSLocationManager.framework/_CodeSignature/CodeSignature +0 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/AtomicBoolean.h +18 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/ConfigModule.h +21 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/HttpRequest.h +21 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/HttpResponse.h +29 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/LocationManager.h +55 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/LogQuery.h +13 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/SOMotionDetector.h +140 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/SQLQuery.h +34 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSActivityChangeEvent.h +16 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSAuthorization.h +37 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSAuthorizationEvent.h +17 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSCallback.h +18 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSConfig.h +304 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSConnectivityChangeEvent.h +17 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSCurrentPositionRequest.h +43 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSDeviceInfo.h +24 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSEnabledChangeEvent.h +15 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSGeofence.h +50 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSGeofenceEvent.h +60 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSGeofenceManager.h +50 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSGeofencesChangeEvent.h +17 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSHeartbeatEvent.h +18 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSHttpEvent.h +19 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSHttpService.h +58 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSLocation.h +101 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSLocationManager.h +312 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSPowerSaveChangeEvent.h +14 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSProviderChangeEvent.h +20 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSReachability.h +106 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSSchedule.h +40 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSScheduleEvent.h +18 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSWatchPositionRequest.h +41 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TransistorAuthorizationToken.h +31 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Modules/module.modulemap +6 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Resources/Info.plist +50 -0
- package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/TSLocationManager +0 -0
- package/ios/RNBackgroundGeolocation.xcodeproj/project.pbxproj +341 -0
- package/ios/RNBackgroundGeolocation.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
- package/ios/RNBackgroundGeolocation.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
- package/ios/RNBackgroundGeolocation.xcodeproj/project.xcworkspace/xcshareddata/RNBackgroundGeolocation.xccheckout +41 -0
- package/ios/RNBackgroundGeolocation.xcodeproj/project.xcworkspace/xcuserdata/chris.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
- package/ios/RNBackgroundGeolocation.xcodeproj/xcuserdata/chris.xcuserdatad/xcschemes/Build.xcscheme +80 -0
- package/ios/RNBackgroundGeolocation.xcodeproj/xcuserdata/chris.xcuserdatad/xcschemes/RNBackgroundGeolocation.xcscheme +113 -0
- package/ios/RNBackgroundGeolocation.xcodeproj/xcuserdata/chris.xcuserdatad/xcschemes/xcschememanagement.plist +37 -0
- package/ios/RNBackgroundGeolocationTests/Info.plist +24 -0
- package/package.json +54 -0
- package/react-native.config.js +20 -0
- package/scripts/cp-declarations +53 -0
- package/scripts/declare-module +3 -0
- package/scripts/docs-index.html +4 -0
- package/scripts/generate-docs +23 -0
- package/scripts/postlink.js +146 -0
- package/scripts/postunlink.js +128 -0
- package/scripts/tsconfig.json +21 -0
- package/scripts/xcode-helpers.js +171 -0
- package/src/DeviceSettings.js +52 -0
- package/src/Events.js +17 -0
- package/src/Logger.js +90 -0
- package/src/NativeModule.js +528 -0
- package/src/TransistorAuthorizationToken.js +73 -0
- package/src/declarations/BackgroundGeolocation.d.ts +1601 -0
- package/src/declarations/interfaces/Authorization.d.ts +156 -0
- package/src/declarations/interfaces/AuthorizationEvent.d.ts +30 -0
- package/src/declarations/interfaces/Config.d.ts +2437 -0
- package/src/declarations/interfaces/ConnectivityChangeEvent.d.ts +18 -0
- package/src/declarations/interfaces/CurrentPositionRequest.d.ts +45 -0
- package/src/declarations/interfaces/DeviceInfo.d.ts +33 -0
- package/src/declarations/interfaces/DeviceSettings.d.ts +223 -0
- package/src/declarations/interfaces/Geofence.d.ts +255 -0
- package/src/declarations/interfaces/GeofenceEvent.d.ts +30 -0
- package/src/declarations/interfaces/GeofencesChangeEvent.d.ts +22 -0
- package/src/declarations/interfaces/HeartbeatEvent.d.ts +20 -0
- package/src/declarations/interfaces/HttpEvent.d.ts +313 -0
- package/src/declarations/interfaces/Location.d.ts +216 -0
- package/src/declarations/interfaces/LocationAuthorizationAlert.d.ts +41 -0
- package/src/declarations/interfaces/Logger.d.ts +359 -0
- package/src/declarations/interfaces/MotionActivityEvent.d.ts +31 -0
- package/src/declarations/interfaces/MotionChangeEvent.d.ts +15 -0
- package/src/declarations/interfaces/Notification.d.ts +484 -0
- package/src/declarations/interfaces/PermissionRationale.d.ts +31 -0
- package/src/declarations/interfaces/ProviderChangeEvent.d.ts +74 -0
- package/src/declarations/interfaces/SQLQuery.d.ts +60 -0
- package/src/declarations/interfaces/Sensors.d.ts +31 -0
- package/src/declarations/interfaces/State.d.ts +51 -0
- package/src/declarations/interfaces/TransistorAuthorizationToken.d.ts +63 -0
- package/src/declarations/interfaces/WatchPositionRequest.d.ts +45 -0
- package/src/declarations/types.d.ts +170 -0
- package/src/index.d.ts +1 -0
- package/src/index.js +822 -0
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
//
|
|
2
|
+
// RNBackgroundGeolocation.h
|
|
3
|
+
// RNBackgroundGeolocation
|
|
4
|
+
//
|
|
5
|
+
// Created by Christopher Scott on 2015-04-19.
|
|
6
|
+
// Copyright (c) 2015 Transistor Software. All rights reserved.
|
|
7
|
+
//
|
|
8
|
+
|
|
9
|
+
#import <Foundation/Foundation.h>
|
|
10
|
+
#import <CoreLocation/CoreLocation.h>
|
|
11
|
+
#import <UIKit/UIKit.h>
|
|
12
|
+
#import <AudioToolbox/AudioToolbox.h>
|
|
13
|
+
#import <TSLocationManager/TSLocationManager.h>
|
|
14
|
+
#import <React/RCTEventEmitter.h>
|
|
15
|
+
#import <React/RCTInvalidating.h>
|
|
16
|
+
|
|
17
|
+
@interface RNBackgroundGeolocation : RCTEventEmitter <RCTInvalidating>
|
|
18
|
+
|
|
19
|
+
@property (nonatomic, strong) TSLocationManager* locationManager;
|
|
20
|
+
|
|
21
|
+
@end
|
|
22
|
+
|
|
@@ -0,0 +1,754 @@
|
|
|
1
|
+
//
|
|
2
|
+
// RNBackgroundGeolocation.m
|
|
3
|
+
// RNBackgroundGeolocation
|
|
4
|
+
//
|
|
5
|
+
// Created by Christopher Scott on 2015-04-19.
|
|
6
|
+
// Copyright (c) 2015 Transistor Software. All rights reserved.
|
|
7
|
+
//
|
|
8
|
+
#import "RNBackgroundGeolocation.h"
|
|
9
|
+
#import <Foundation/Foundation.h>
|
|
10
|
+
#import <CoreLocation/CoreLocation.h>
|
|
11
|
+
#import <UIKit/UIKit.h>
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
static NSString *const TS_LOCATION_MANAGER_TAG = @"TSLocationManager";
|
|
15
|
+
|
|
16
|
+
static NSString *const EVENT_LOCATION = @"location";
|
|
17
|
+
static NSString *const EVENT_WATCHPOSITION = @"watchposition";
|
|
18
|
+
static NSString *const EVENT_PROVIDERCHANGE = @"providerchange";
|
|
19
|
+
static NSString *const EVENT_MOTIONCHANGE = @"motionchange";
|
|
20
|
+
static NSString *const EVENT_ACTIVITYCHANGE = @"activitychange";
|
|
21
|
+
static NSString *const EVENT_GEOFENCESCHANGE = @"geofenceschange";
|
|
22
|
+
static NSString *const EVENT_HTTP = @"http";
|
|
23
|
+
static NSString *const EVENT_SCHEDULE = @"schedule";
|
|
24
|
+
static NSString *const EVENT_GEOFENCE = @"geofence";
|
|
25
|
+
static NSString *const EVENT_HEARTBEAT = @"heartbeat";
|
|
26
|
+
static NSString *const EVENT_POWERSAVECHANGE = @"powersavechange";
|
|
27
|
+
static NSString *const EVENT_CONNECTIVITYCHANGE = @"connectivitychange";
|
|
28
|
+
static NSString *const EVENT_ENABLEDCHANGE = @"enabledchange";
|
|
29
|
+
static NSString *const EVENT_NOTIFICATIONACTION = @"notificationaction";
|
|
30
|
+
static NSString *const EVENT_AUTHORIZATION = @"authorization";
|
|
31
|
+
|
|
32
|
+
@implementation RNBackgroundGeolocation {
|
|
33
|
+
NSMutableDictionary *listeners;
|
|
34
|
+
BOOL ready;
|
|
35
|
+
void(^onLocation)(TSLocation*);
|
|
36
|
+
void(^onLocationError)(NSError*);
|
|
37
|
+
void(^onMotionChange)(TSLocation*);
|
|
38
|
+
void(^onActivityChange)(TSActivityChangeEvent*);
|
|
39
|
+
void(^onHeartbeat)(TSHeartbeatEvent*);
|
|
40
|
+
void(^onGeofence)(TSGeofenceEvent*);
|
|
41
|
+
void(^onGeofencesChange)(TSGeofencesChangeEvent*);
|
|
42
|
+
void(^onHttp)(TSHttpEvent*);
|
|
43
|
+
void(^onProviderChange)(TSProviderChangeEvent*);
|
|
44
|
+
void(^onSchedule)(TSScheduleEvent*);
|
|
45
|
+
void(^onPowerSaveChange)(TSPowerSaveChangeEvent*);
|
|
46
|
+
void(^onConnectivityChange)(TSConnectivityChangeEvent*);
|
|
47
|
+
void(^onEnabledChange)(TSEnabledChangeEvent*);
|
|
48
|
+
void(^onAuthorization)(TSAuthorizationEvent*);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
@synthesize locationManager;
|
|
52
|
+
|
|
53
|
+
RCT_EXPORT_MODULE();
|
|
54
|
+
|
|
55
|
+
+(BOOL)requiresMainQueueSetup
|
|
56
|
+
{
|
|
57
|
+
return YES;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
/**
|
|
61
|
+
* Create TSLocationManager instance
|
|
62
|
+
*/
|
|
63
|
+
-(instancetype)init
|
|
64
|
+
{
|
|
65
|
+
self = [super init];
|
|
66
|
+
if (self) {
|
|
67
|
+
ready = NO;
|
|
68
|
+
|
|
69
|
+
__typeof(self) __weak me = self;
|
|
70
|
+
|
|
71
|
+
// Build event-listener blocks
|
|
72
|
+
onLocation = ^void(TSLocation *location) {
|
|
73
|
+
[me sendEvent:EVENT_LOCATION body:[location toDictionary]];
|
|
74
|
+
};
|
|
75
|
+
onLocationError = ^void(NSError *error) {
|
|
76
|
+
[me sendEvent:EVENT_LOCATION body: @{@"error":@(error.code)}];
|
|
77
|
+
};
|
|
78
|
+
onMotionChange = ^void(TSLocation *location) {
|
|
79
|
+
[me sendEvent:EVENT_MOTIONCHANGE body:@{@"isMoving":@(location.isMoving), @"location":[location toDictionary]}];
|
|
80
|
+
};
|
|
81
|
+
onActivityChange = ^void(TSActivityChangeEvent *event) {
|
|
82
|
+
NSDictionary *params = @{@"activity": event.activity, @"confidence": @(event.confidence)};
|
|
83
|
+
[me sendEvent:EVENT_ACTIVITYCHANGE body:params];
|
|
84
|
+
};
|
|
85
|
+
onHeartbeat = ^void(TSHeartbeatEvent *event) {
|
|
86
|
+
[me sendEvent:EVENT_HEARTBEAT body:@{@"location":[event.location toDictionary]}];
|
|
87
|
+
};
|
|
88
|
+
onGeofence = ^void(TSGeofenceEvent *event) {
|
|
89
|
+
NSMutableDictionary *params = [[event toDictionary] mutableCopy];
|
|
90
|
+
[params setObject:[event.location toDictionary] forKey:@"location"];
|
|
91
|
+
[me sendEvent:EVENT_GEOFENCE body:params];
|
|
92
|
+
};
|
|
93
|
+
onGeofencesChange = ^void(TSGeofencesChangeEvent *event) {
|
|
94
|
+
[me sendEvent:EVENT_GEOFENCESCHANGE body:[event toDictionary]];
|
|
95
|
+
};
|
|
96
|
+
onHttp = ^void(TSHttpEvent *response) {
|
|
97
|
+
NSDictionary *params = @{@"success": @(response.isSuccess), @"status": @(response.statusCode), @"responseText":response.responseText};
|
|
98
|
+
[me sendEvent:EVENT_HTTP body:params];
|
|
99
|
+
};
|
|
100
|
+
onProviderChange = ^void(TSProviderChangeEvent *event) {
|
|
101
|
+
[me sendEvent:EVENT_PROVIDERCHANGE body:[event toDictionary]];
|
|
102
|
+
};
|
|
103
|
+
onSchedule = ^void(TSScheduleEvent *event) {
|
|
104
|
+
[me sendEvent:EVENT_SCHEDULE body:event.state];
|
|
105
|
+
};
|
|
106
|
+
onPowerSaveChange = ^void(TSPowerSaveChangeEvent *event) {
|
|
107
|
+
[me sendEvent:EVENT_POWERSAVECHANGE body:@(event.isPowerSaveMode)];
|
|
108
|
+
};
|
|
109
|
+
onConnectivityChange = ^void(TSConnectivityChangeEvent *event) {
|
|
110
|
+
NSDictionary *params = @{@"connected":@(event.hasConnection)};
|
|
111
|
+
[me sendEvent:EVENT_CONNECTIVITYCHANGE body:params];
|
|
112
|
+
};
|
|
113
|
+
onEnabledChange = ^void(TSEnabledChangeEvent *event) {
|
|
114
|
+
[me sendEvent:EVENT_ENABLEDCHANGE body:@(event.enabled)];
|
|
115
|
+
};
|
|
116
|
+
onAuthorization = ^void(TSAuthorizationEvent *event) {
|
|
117
|
+
[me sendEvent:EVENT_AUTHORIZATION body:[event toDictionary]];
|
|
118
|
+
};
|
|
119
|
+
|
|
120
|
+
// EventEmitter listener-counts
|
|
121
|
+
listeners = [NSMutableDictionary new];
|
|
122
|
+
|
|
123
|
+
// TSLocationManager instance
|
|
124
|
+
locationManager = [TSLocationManager sharedInstance];
|
|
125
|
+
|
|
126
|
+
// Provide reference to rootViewController for #emailLog method.
|
|
127
|
+
UIViewController *root = [[[[UIApplication sharedApplication] delegate] window] rootViewController];
|
|
128
|
+
locationManager.viewController = root;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
return self;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
- (NSArray<NSString *> *)supportedEvents {
|
|
135
|
+
return @[
|
|
136
|
+
EVENT_LOCATION,
|
|
137
|
+
EVENT_PROVIDERCHANGE,
|
|
138
|
+
EVENT_MOTIONCHANGE,
|
|
139
|
+
EVENT_ACTIVITYCHANGE,
|
|
140
|
+
EVENT_GEOFENCESCHANGE,
|
|
141
|
+
EVENT_POWERSAVECHANGE,
|
|
142
|
+
EVENT_HTTP,
|
|
143
|
+
EVENT_SCHEDULE,
|
|
144
|
+
EVENT_GEOFENCE,
|
|
145
|
+
EVENT_HEARTBEAT,
|
|
146
|
+
EVENT_WATCHPOSITION,
|
|
147
|
+
EVENT_CONNECTIVITYCHANGE,
|
|
148
|
+
EVENT_ENABLEDCHANGE,
|
|
149
|
+
EVENT_NOTIFICATIONACTION,
|
|
150
|
+
EVENT_AUTHORIZATION
|
|
151
|
+
];
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
RCT_EXPORT_METHOD(registerPlugin:(NSString*)pluginName)
|
|
155
|
+
{
|
|
156
|
+
TSConfig *config = [TSConfig sharedInstance];
|
|
157
|
+
[config registerPlugin:pluginName];
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
RCT_EXPORT_METHOD(reset:(NSDictionary*)params success:(RCTResponseSenderBlock)success failure:(RCTResponseSenderBlock)failure)
|
|
161
|
+
{
|
|
162
|
+
TSConfig *config = [TSConfig sharedInstance];
|
|
163
|
+
if ([[params allKeys] count] > 0) {
|
|
164
|
+
[config reset:YES];
|
|
165
|
+
[config updateWithDictionary:params];
|
|
166
|
+
} else {
|
|
167
|
+
[config reset];
|
|
168
|
+
}
|
|
169
|
+
success(@[[config toDictionary]]);
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
/**
|
|
173
|
+
* configure plugin
|
|
174
|
+
*/
|
|
175
|
+
RCT_EXPORT_METHOD(ready:(NSDictionary*)params success:(RCTResponseSenderBlock)success failure:(RCTResponseSenderBlock)failure)
|
|
176
|
+
{
|
|
177
|
+
if (ready) {
|
|
178
|
+
[locationManager log:@"warn" message:@"#ready already called. Redirecting to #setConfig"];
|
|
179
|
+
TSConfig *config = [TSConfig sharedInstance];
|
|
180
|
+
[config updateWithDictionary:params];
|
|
181
|
+
success(@[[config toDictionary]]);
|
|
182
|
+
return;
|
|
183
|
+
}
|
|
184
|
+
ready = YES;
|
|
185
|
+
dispatch_async(dispatch_get_main_queue(), ^{
|
|
186
|
+
TSConfig *config = [TSConfig sharedInstance];
|
|
187
|
+
if (config.isFirstBoot) {
|
|
188
|
+
[config updateWithDictionary:params];
|
|
189
|
+
} else {
|
|
190
|
+
BOOL reset = (params[@"reset"]) ? [params[@"reset"] boolValue] : YES;
|
|
191
|
+
if (reset) {
|
|
192
|
+
[config reset:YES];
|
|
193
|
+
[config updateWithDictionary:params];
|
|
194
|
+
} else if ([params objectForKey:@"authorization"]) {
|
|
195
|
+
[config updateWithBlock:^(TSConfigBuilder *builder) {
|
|
196
|
+
builder.authorization = [TSAuthorization createWithDictionary:[params objectForKey:@"authorization"]];
|
|
197
|
+
}];
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
[self.locationManager ready];
|
|
201
|
+
success(@[[config toDictionary]]);
|
|
202
|
+
});
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
/**
|
|
206
|
+
* configure plugin
|
|
207
|
+
* @deprecated in favour of #ready
|
|
208
|
+
*/
|
|
209
|
+
RCT_EXPORT_METHOD(configure:(NSDictionary*)params success:(RCTResponseSenderBlock)success failure:(RCTResponseSenderBlock)failure)
|
|
210
|
+
{
|
|
211
|
+
dispatch_async(dispatch_get_main_queue(), ^{
|
|
212
|
+
TSConfig *config = [TSConfig sharedInstance];
|
|
213
|
+
[self.locationManager configure:params];
|
|
214
|
+
success(@[[config toDictionary]]);
|
|
215
|
+
});
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
RCT_EXPORT_METHOD(addEventListener:(NSString*)event)
|
|
219
|
+
{
|
|
220
|
+
@synchronized(listeners) {
|
|
221
|
+
if ([listeners objectForKey:event]) {
|
|
222
|
+
// Increment listener-count for this event
|
|
223
|
+
NSInteger count = [[listeners objectForKey:event] integerValue];
|
|
224
|
+
count++;
|
|
225
|
+
[listeners setObject:@(count) forKey:event];
|
|
226
|
+
} else {
|
|
227
|
+
// First listener for this event
|
|
228
|
+
[listeners setObject:@(1) forKey:event];
|
|
229
|
+
|
|
230
|
+
if ([event isEqualToString:EVENT_LOCATION]) {
|
|
231
|
+
[locationManager onLocation:onLocation failure:onLocationError];
|
|
232
|
+
} else if ([event isEqualToString:EVENT_MOTIONCHANGE]) {
|
|
233
|
+
[locationManager onMotionChange:onMotionChange];
|
|
234
|
+
} else if ([event isEqualToString:EVENT_ACTIVITYCHANGE]) {
|
|
235
|
+
[locationManager onActivityChange:onActivityChange];
|
|
236
|
+
} else if ([event isEqualToString:EVENT_HEARTBEAT]) {
|
|
237
|
+
[locationManager onHeartbeat:onHeartbeat];
|
|
238
|
+
} else if ([event isEqualToString:EVENT_GEOFENCE]) {
|
|
239
|
+
[locationManager onGeofence:onGeofence];
|
|
240
|
+
} else if ([event isEqualToString:EVENT_GEOFENCESCHANGE]) {
|
|
241
|
+
[locationManager onGeofencesChange:onGeofencesChange];
|
|
242
|
+
} else if ([event isEqualToString:EVENT_HTTP]) {
|
|
243
|
+
[locationManager onHttp:onHttp];
|
|
244
|
+
} else if ([event isEqualToString:EVENT_PROVIDERCHANGE]) {
|
|
245
|
+
[locationManager onProviderChange:onProviderChange];
|
|
246
|
+
} else if ([event isEqualToString:EVENT_SCHEDULE]) {
|
|
247
|
+
[locationManager onSchedule:onSchedule];
|
|
248
|
+
} else if ([event isEqualToString:EVENT_POWERSAVECHANGE]) {
|
|
249
|
+
[locationManager onPowerSaveChange:onPowerSaveChange];
|
|
250
|
+
} else if ([event isEqualToString:EVENT_CONNECTIVITYCHANGE]) {
|
|
251
|
+
[locationManager onConnectivityChange:onConnectivityChange];
|
|
252
|
+
} else if ([event isEqualToString:EVENT_ENABLEDCHANGE]) {
|
|
253
|
+
[locationManager onEnabledChange:onEnabledChange];
|
|
254
|
+
} else if ([event isEqualToString:EVENT_AUTHORIZATION]) {
|
|
255
|
+
[[TSHttpService sharedInstance] onAuthorization:onAuthorization];
|
|
256
|
+
} else if ([event isEqualToString:EVENT_NOTIFICATIONACTION]) {
|
|
257
|
+
// No iOS implementation.
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
RCT_EXPORT_METHOD(removeListener:(NSString*)event)
|
|
264
|
+
{
|
|
265
|
+
@synchronized(listeners) {
|
|
266
|
+
if ([listeners objectForKey:event]) {
|
|
267
|
+
// Decrement listener-count for this event.
|
|
268
|
+
NSInteger count = [[listeners objectForKey:event] integerValue];
|
|
269
|
+
count--;
|
|
270
|
+
if (count > 0) {
|
|
271
|
+
[listeners setObject:@(count) forKey:event];
|
|
272
|
+
} else {
|
|
273
|
+
// No more listeners: tell TSLocationManager to removeListeners for this event.
|
|
274
|
+
[locationManager removeListeners];
|
|
275
|
+
[listeners removeObjectForKey:event];
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
RCT_EXPORT_METHOD(removeAllListeners:(RCTResponseSenderBlock)success failure:(RCTResponseSenderBlock)failure)
|
|
282
|
+
{
|
|
283
|
+
@synchronized(listeners) { [listeners removeAllObjects]; }
|
|
284
|
+
[locationManager removeListeners];
|
|
285
|
+
success(@[]);
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
|
|
289
|
+
RCT_EXPORT_METHOD(setConfig:(NSDictionary*)params success:(RCTResponseSenderBlock)success failure:(RCTResponseSenderBlock)failure)
|
|
290
|
+
{
|
|
291
|
+
TSConfig *config = [TSConfig sharedInstance];
|
|
292
|
+
[config updateWithDictionary:params];
|
|
293
|
+
success(@[[config toDictionary]]);
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
-(NSDictionary*)getState
|
|
297
|
+
{
|
|
298
|
+
return [locationManager getState];
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
RCT_EXPORT_METHOD(getState:(RCTResponseSenderBlock)callback failure:(RCTResponseSenderBlock)failure)
|
|
302
|
+
{
|
|
303
|
+
NSDictionary *state = [locationManager getState];
|
|
304
|
+
callback(@[state]);
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
/**
|
|
308
|
+
* Turn on background geolocation
|
|
309
|
+
*/
|
|
310
|
+
RCT_EXPORT_METHOD(start:(RCTResponseSenderBlock)success failure:(RCTResponseSenderBlock)failure)
|
|
311
|
+
{
|
|
312
|
+
dispatch_async(dispatch_get_main_queue(), ^{
|
|
313
|
+
[self.locationManager start];
|
|
314
|
+
success(@[[self.locationManager getState]]);
|
|
315
|
+
});
|
|
316
|
+
}
|
|
317
|
+
/**
|
|
318
|
+
* Turn it off
|
|
319
|
+
*/
|
|
320
|
+
RCT_EXPORT_METHOD(stop:(RCTResponseSenderBlock)success failure:(RCTResponseSenderBlock)failure)
|
|
321
|
+
{
|
|
322
|
+
[locationManager stop];
|
|
323
|
+
success(@[[locationManager getState]]);
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
/**
|
|
327
|
+
* Start schedule
|
|
328
|
+
*/
|
|
329
|
+
RCT_EXPORT_METHOD(startSchedule:(RCTResponseSenderBlock)success failure:(RCTResponseSenderBlock)failure)
|
|
330
|
+
{
|
|
331
|
+
dispatch_async(dispatch_get_main_queue(), ^{
|
|
332
|
+
[self.locationManager startSchedule];
|
|
333
|
+
success(@[[self.locationManager getState]]);
|
|
334
|
+
});
|
|
335
|
+
}
|
|
336
|
+
|
|
337
|
+
/**
|
|
338
|
+
* Stop schedule
|
|
339
|
+
*/
|
|
340
|
+
RCT_EXPORT_METHOD(stopSchedule:(RCTResponseSenderBlock)success failure:(RCTResponseSenderBlock)failure)
|
|
341
|
+
{
|
|
342
|
+
dispatch_async(dispatch_get_main_queue(), ^{
|
|
343
|
+
[self.locationManager stopSchedule];
|
|
344
|
+
success(@[[self.locationManager getState]]);
|
|
345
|
+
});
|
|
346
|
+
}
|
|
347
|
+
|
|
348
|
+
/**
|
|
349
|
+
* Start schedule
|
|
350
|
+
*/
|
|
351
|
+
RCT_EXPORT_METHOD(startGeofences:(RCTResponseSenderBlock)success failure:(RCTResponseSenderBlock)failure)
|
|
352
|
+
{
|
|
353
|
+
dispatch_async(dispatch_get_main_queue(), ^{
|
|
354
|
+
TSConfig *config = [TSConfig sharedInstance];
|
|
355
|
+
[self.locationManager startGeofences];
|
|
356
|
+
success(@[[config toDictionary]]);
|
|
357
|
+
});
|
|
358
|
+
}
|
|
359
|
+
|
|
360
|
+
/**
|
|
361
|
+
* Change pace to moving/stopped
|
|
362
|
+
* @param {Boolean} isMoving
|
|
363
|
+
*/
|
|
364
|
+
RCT_EXPORT_METHOD(changePace:(BOOL)moving success:(RCTResponseSenderBlock)success failure:(RCTResponseSenderBlock)failure)
|
|
365
|
+
{
|
|
366
|
+
[locationManager changePace:moving];
|
|
367
|
+
success(@[]);
|
|
368
|
+
}
|
|
369
|
+
|
|
370
|
+
RCT_EXPORT_METHOD(beginBackgroundTask:(RCTResponseSenderBlock)callback failure:(RCTResponseSenderBlock)failure)
|
|
371
|
+
{
|
|
372
|
+
callback(@[@([locationManager createBackgroundTask])]);
|
|
373
|
+
}
|
|
374
|
+
/**
|
|
375
|
+
* Called by js to signify the end of a background-geolocation event
|
|
376
|
+
*/
|
|
377
|
+
RCT_EXPORT_METHOD(finish:(int)taskId success:(RCTResponseSenderBlock)success failure:(RCTResponseSenderBlock)failure)
|
|
378
|
+
{
|
|
379
|
+
[locationManager stopBackgroundTask:taskId];
|
|
380
|
+
success(@[@(taskId)]);
|
|
381
|
+
}
|
|
382
|
+
|
|
383
|
+
RCT_EXPORT_METHOD(getCurrentPosition:(NSDictionary*)options success:(RCTResponseSenderBlock)success failure:(RCTResponseSenderBlock)failure)
|
|
384
|
+
{
|
|
385
|
+
TSCurrentPositionRequest *request = [[TSCurrentPositionRequest alloc] initWithSuccess:^(TSLocation *location) {
|
|
386
|
+
success(@[[location toDictionary]]);
|
|
387
|
+
} failure:^(NSError *error) {
|
|
388
|
+
failure(@[@(error.code)]);
|
|
389
|
+
}];
|
|
390
|
+
|
|
391
|
+
if (options[@"timeout"]) {
|
|
392
|
+
request.timeout = [options[@"timeout"] doubleValue];
|
|
393
|
+
}
|
|
394
|
+
if (options[@"maximumAge"]) {
|
|
395
|
+
request.maximumAge = [options[@"maximumAge"] doubleValue];
|
|
396
|
+
}
|
|
397
|
+
if (options[@"persist"]) {
|
|
398
|
+
request.persist = [options[@"persist"] boolValue];
|
|
399
|
+
}
|
|
400
|
+
if (options[@"samples"]) {
|
|
401
|
+
request.samples = [options[@"samples"] intValue];
|
|
402
|
+
}
|
|
403
|
+
if (options[@"desiredAccuracy"]) {
|
|
404
|
+
request.desiredAccuracy = [options[@"desiredAccuracy"] doubleValue];
|
|
405
|
+
}
|
|
406
|
+
if (options[@"extras"]) {
|
|
407
|
+
request.extras = options[@"extras"];
|
|
408
|
+
}
|
|
409
|
+
[locationManager getCurrentPosition:request];
|
|
410
|
+
}
|
|
411
|
+
|
|
412
|
+
RCT_EXPORT_METHOD(watchPosition:(NSDictionary*)options success:(RCTResponseSenderBlock)success failure:(RCTResponseSenderBlock)failure)
|
|
413
|
+
{
|
|
414
|
+
TSWatchPositionRequest *request = [[TSWatchPositionRequest alloc] initWithSuccess:^(TSLocation *location) {
|
|
415
|
+
[self sendEvent:EVENT_WATCHPOSITION body:[location toDictionary]];
|
|
416
|
+
} failure:^(NSError *error) {
|
|
417
|
+
|
|
418
|
+
}];
|
|
419
|
+
|
|
420
|
+
if (options[@"interval"]) { request.interval = [options[@"interval"] doubleValue]; }
|
|
421
|
+
if (options[@"desiredAccuracy"]) { request.desiredAccuracy = [options[@"desiredAccuracy"] doubleValue]; }
|
|
422
|
+
if (options[@"persist"]) { request.persist = [options[@"persist"] boolValue]; }
|
|
423
|
+
if (options[@"extras"]) { request.extras = options[@"extras"]; }
|
|
424
|
+
if (options[@"timeout"]) { request.timeout = [options[@"timeout"] doubleValue]; }
|
|
425
|
+
|
|
426
|
+
[locationManager watchPosition:request];
|
|
427
|
+
success(@[]);
|
|
428
|
+
}
|
|
429
|
+
|
|
430
|
+
RCT_EXPORT_METHOD(stopWatchPosition:(RCTResponseSenderBlock)success failure:(RCTResponseSenderBlock)failure)
|
|
431
|
+
{
|
|
432
|
+
[locationManager stopWatchPosition];
|
|
433
|
+
success(@[]);
|
|
434
|
+
}
|
|
435
|
+
|
|
436
|
+
RCT_EXPORT_METHOD(getLocations:(RCTResponseSenderBlock)success failure:(RCTResponseSenderBlock)failure)
|
|
437
|
+
{
|
|
438
|
+
[locationManager getLocations:^(NSArray* records) {
|
|
439
|
+
success(@[records]);
|
|
440
|
+
} failure:^(NSString* error) {
|
|
441
|
+
failure(@[error]);
|
|
442
|
+
}];
|
|
443
|
+
}
|
|
444
|
+
|
|
445
|
+
RCT_EXPORT_METHOD(sync:(RCTResponseSenderBlock)success failure:(RCTResponseSenderBlock)failure)
|
|
446
|
+
{
|
|
447
|
+
[locationManager sync:^(NSArray* records) {
|
|
448
|
+
success(@[records]);
|
|
449
|
+
} failure:^(NSError* error) {
|
|
450
|
+
failure(@[@(error.code)]);
|
|
451
|
+
}];
|
|
452
|
+
}
|
|
453
|
+
|
|
454
|
+
RCT_EXPORT_METHOD(getGeofences:(RCTResponseSenderBlock)success failure:(RCTResponseSenderBlock)failure)
|
|
455
|
+
{
|
|
456
|
+
[locationManager getGeofences:^(NSArray* geofences) {
|
|
457
|
+
NSMutableArray *result = [NSMutableArray new];
|
|
458
|
+
for (TSGeofence *geofence in geofences) { [result addObject:[geofence toDictionary]]; }
|
|
459
|
+
success(@[result]);
|
|
460
|
+
} failure:^(NSString* error) {
|
|
461
|
+
failure(@[error]);
|
|
462
|
+
}];
|
|
463
|
+
}
|
|
464
|
+
|
|
465
|
+
RCT_EXPORT_METHOD(getGeofence:(NSString*)identifier success:(RCTResponseSenderBlock)success failure:(RCTResponseSenderBlock)failure)
|
|
466
|
+
{
|
|
467
|
+
[locationManager getGeofence:identifier success:^(TSGeofence* geofence) {
|
|
468
|
+
success(@[[geofence toDictionary]]);
|
|
469
|
+
} failure:^(NSString* error) {
|
|
470
|
+
failure(@[error]);
|
|
471
|
+
}];
|
|
472
|
+
}
|
|
473
|
+
|
|
474
|
+
RCT_EXPORT_METHOD(geofenceExists:(NSString*)identifier callback:(RCTResponseSenderBlock)callback)
|
|
475
|
+
{
|
|
476
|
+
[locationManager geofenceExists:identifier callback:^(BOOL exists) {
|
|
477
|
+
callback(@[@(exists)]);
|
|
478
|
+
}];
|
|
479
|
+
}
|
|
480
|
+
|
|
481
|
+
RCT_EXPORT_METHOD(addGeofence:(NSDictionary*)params success:(RCTResponseSenderBlock)success failure:(RCTResponseSenderBlock)failure)
|
|
482
|
+
{
|
|
483
|
+
TSGeofence *geofence = [self buildGeofence:params];
|
|
484
|
+
if (!geofence) {
|
|
485
|
+
NSString *error = [NSString stringWithFormat:@"Invalid geofence data: %@", params];
|
|
486
|
+
failure(@[error]);
|
|
487
|
+
return;
|
|
488
|
+
}
|
|
489
|
+
[locationManager addGeofence:geofence success:^{
|
|
490
|
+
success(@[]);
|
|
491
|
+
} failure:^(NSString *error) {
|
|
492
|
+
failure(@[error]);
|
|
493
|
+
}];
|
|
494
|
+
}
|
|
495
|
+
|
|
496
|
+
RCT_EXPORT_METHOD(addGeofences:(NSArray*) data success:(RCTResponseSenderBlock)success failure:(RCTResponseSenderBlock)failure)
|
|
497
|
+
{
|
|
498
|
+
NSMutableArray *geofences = [NSMutableArray new];
|
|
499
|
+
for (NSDictionary *params in data) {
|
|
500
|
+
TSGeofence *geofence = [self buildGeofence:params];
|
|
501
|
+
if (geofence != nil) {
|
|
502
|
+
[geofences addObject:geofence];
|
|
503
|
+
} else {
|
|
504
|
+
NSString *error = [NSString stringWithFormat:@"Invalid geofence data: %@", params];
|
|
505
|
+
failure(@[error]);
|
|
506
|
+
return;
|
|
507
|
+
}
|
|
508
|
+
}
|
|
509
|
+
[locationManager addGeofences:geofences success:^{
|
|
510
|
+
success(@[]);
|
|
511
|
+
} failure:^(NSString *error) {
|
|
512
|
+
failure(@[error]);
|
|
513
|
+
}];
|
|
514
|
+
}
|
|
515
|
+
|
|
516
|
+
-(TSGeofence*) buildGeofence:(NSDictionary*)params {
|
|
517
|
+
if (!params[@"identifier"] || !params[@"radius"] || !params[@"latitude"] || !params[@"longitude"]) {
|
|
518
|
+
return nil;
|
|
519
|
+
}
|
|
520
|
+
return [[TSGeofence alloc] initWithIdentifier: params[@"identifier"]
|
|
521
|
+
radius: [params[@"radius"] doubleValue]
|
|
522
|
+
latitude: [params[@"latitude"] doubleValue]
|
|
523
|
+
longitude: [params[@"longitude"] doubleValue]
|
|
524
|
+
notifyOnEntry: (params[@"notifyOnEntry"]) ? [params[@"notifyOnEntry"] boolValue] : NO
|
|
525
|
+
notifyOnExit: (params[@"notifyOnExit"]) ? [params[@"notifyOnExit"] boolValue] : NO
|
|
526
|
+
notifyOnDwell: (params[@"notifyOnDwell"]) ? [params[@"notifyOnDwell"] boolValue] : NO
|
|
527
|
+
loiteringDelay: (params[@"loiteringDelay"]) ? [params[@"loiteringDelay"] doubleValue] : 0
|
|
528
|
+
extras: params[@"extras"]];
|
|
529
|
+
}
|
|
530
|
+
|
|
531
|
+
RCT_EXPORT_METHOD(removeGeofence:(NSString*)identifier success:(RCTResponseSenderBlock)success failure:(RCTResponseSenderBlock)failure)
|
|
532
|
+
{
|
|
533
|
+
[locationManager removeGeofence:identifier success:^{
|
|
534
|
+
success(@[]);
|
|
535
|
+
} failure:^(NSString* error) {
|
|
536
|
+
failure(@[error]);
|
|
537
|
+
}];
|
|
538
|
+
}
|
|
539
|
+
|
|
540
|
+
RCT_EXPORT_METHOD(removeGeofences:(RCTResponseSenderBlock)success failure:(RCTResponseSenderBlock)failure)
|
|
541
|
+
{
|
|
542
|
+
NSArray *geofences = @[];
|
|
543
|
+
[locationManager removeGeofences:geofences success:^{
|
|
544
|
+
success(@[]);
|
|
545
|
+
} failure:^(NSString* error) {
|
|
546
|
+
failure(@[error]);
|
|
547
|
+
}];
|
|
548
|
+
}
|
|
549
|
+
|
|
550
|
+
RCT_EXPORT_METHOD(getOdometer:(RCTResponseSenderBlock)success failure:(RCTResponseSenderBlock)failure)
|
|
551
|
+
{
|
|
552
|
+
NSNumber *distance = @([locationManager getOdometer]);
|
|
553
|
+
success(@[distance]);
|
|
554
|
+
}
|
|
555
|
+
|
|
556
|
+
RCT_EXPORT_METHOD(setOdometer:(double)value success:(RCTResponseSenderBlock)success failure:(RCTResponseSenderBlock)failure)
|
|
557
|
+
{
|
|
558
|
+
TSCurrentPositionRequest *request = [[TSCurrentPositionRequest alloc] initWithSuccess:^(TSLocation *location) {
|
|
559
|
+
success(@[[location toDictionary]]);
|
|
560
|
+
} failure:^(NSError *error) {
|
|
561
|
+
failure(@[@(error.code)]);
|
|
562
|
+
}];
|
|
563
|
+
[locationManager setOdometer:value request:request];
|
|
564
|
+
}
|
|
565
|
+
|
|
566
|
+
RCT_EXPORT_METHOD(destroyLocations:(RCTResponseSenderBlock)success failure:(RCTResponseSenderBlock)failure)
|
|
567
|
+
{
|
|
568
|
+
BOOL result = [locationManager destroyLocations];
|
|
569
|
+
if (result) {
|
|
570
|
+
success(@[]);
|
|
571
|
+
} else {
|
|
572
|
+
failure(@[]);
|
|
573
|
+
}
|
|
574
|
+
}
|
|
575
|
+
|
|
576
|
+
RCT_EXPORT_METHOD(destroyLocation:(NSString*)uuid success:(RCTResponseSenderBlock)success failure:(RCTResponseSenderBlock)failure)
|
|
577
|
+
{
|
|
578
|
+
[locationManager destroyLocation:uuid success:^{
|
|
579
|
+
success(@[]);
|
|
580
|
+
} failure:^(NSString* error) {
|
|
581
|
+
failure(@[error]);
|
|
582
|
+
}];
|
|
583
|
+
}
|
|
584
|
+
|
|
585
|
+
RCT_EXPORT_METHOD(getCount:(RCTResponseSenderBlock)success failure:(RCTResponseSenderBlock)failure)
|
|
586
|
+
{
|
|
587
|
+
int count = [locationManager getCount];
|
|
588
|
+
if (count >= 0) {
|
|
589
|
+
success(@[@(count)]);
|
|
590
|
+
} else {
|
|
591
|
+
failure(@[]);
|
|
592
|
+
}
|
|
593
|
+
}
|
|
594
|
+
|
|
595
|
+
RCT_EXPORT_METHOD(insertLocation:(NSDictionary*)params success:(RCTResponseSenderBlock)successCallback failure:(RCTResponseSenderBlock)failureCallback)
|
|
596
|
+
{
|
|
597
|
+
[locationManager insertLocation: params success:^(NSString* uuid) {
|
|
598
|
+
successCallback(@[uuid]);
|
|
599
|
+
} failure:^(NSString* error) {
|
|
600
|
+
failureCallback(@[error]);
|
|
601
|
+
}];
|
|
602
|
+
}
|
|
603
|
+
|
|
604
|
+
RCT_EXPORT_METHOD(getLog:(NSDictionary*)params success:(RCTResponseSenderBlock)success failure:(RCTResponseSenderBlock)failure)
|
|
605
|
+
{
|
|
606
|
+
LogQuery *query = [[LogQuery alloc] initWithDictionary:params];
|
|
607
|
+
[locationManager getLog:query success:^(NSString* log) {
|
|
608
|
+
success(@[log]);
|
|
609
|
+
} failure:^(NSString* error) {
|
|
610
|
+
failure(@[error]);
|
|
611
|
+
}];
|
|
612
|
+
}
|
|
613
|
+
|
|
614
|
+
RCT_EXPORT_METHOD(destroyLog:(RCTResponseSenderBlock)success failure:(RCTResponseSenderBlock)failure)
|
|
615
|
+
{
|
|
616
|
+
BOOL result = [locationManager destroyLog];
|
|
617
|
+
if (result) {
|
|
618
|
+
success(@[@(result)]);
|
|
619
|
+
} else {
|
|
620
|
+
failure(@[@(result)]);
|
|
621
|
+
}
|
|
622
|
+
}
|
|
623
|
+
|
|
624
|
+
RCT_EXPORT_METHOD(emailLog:(NSString*)email query:(NSDictionary*)params success:(RCTResponseSenderBlock)success failure:(RCTResponseSenderBlock)failure)
|
|
625
|
+
{
|
|
626
|
+
LogQuery *query = [[LogQuery alloc] initWithDictionary:params];
|
|
627
|
+
[locationManager emailLog:email query:query success:^{
|
|
628
|
+
success(@[@(YES)]);
|
|
629
|
+
} failure:^(NSString* error) {
|
|
630
|
+
failure(@[error]);
|
|
631
|
+
}];
|
|
632
|
+
}
|
|
633
|
+
|
|
634
|
+
RCT_EXPORT_METHOD(uploadLog:(NSString*)url query:(NSDictionary*)params success:(RCTResponseSenderBlock)success failure:(RCTResponseSenderBlock)failure)
|
|
635
|
+
{
|
|
636
|
+
LogQuery *query = [[LogQuery alloc] initWithDictionary:params];
|
|
637
|
+
[locationManager uploadLog:url query:query success:^{
|
|
638
|
+
success(@[@(YES)]);
|
|
639
|
+
} failure:^(NSString* error) {
|
|
640
|
+
failure(@[error]);
|
|
641
|
+
}];
|
|
642
|
+
}
|
|
643
|
+
|
|
644
|
+
|
|
645
|
+
RCT_EXPORT_METHOD(log:(NSString*)level message:(NSString*)message)
|
|
646
|
+
{
|
|
647
|
+
[locationManager log:level message:message];
|
|
648
|
+
}
|
|
649
|
+
|
|
650
|
+
RCT_EXPORT_METHOD(getSensors:(RCTResponseSenderBlock)successCallback failure:(RCTResponseSenderBlock)failureCallback)
|
|
651
|
+
{
|
|
652
|
+
NSDictionary *sensors = @{
|
|
653
|
+
@"platform": @"ios",
|
|
654
|
+
@"accelerometer": @([locationManager isAccelerometerAvailable]),
|
|
655
|
+
@"gyroscope": @([locationManager isGyroAvailable]),
|
|
656
|
+
@"magnetometer": @([locationManager isMagnetometerAvailable]),
|
|
657
|
+
@"motion_hardware": @([locationManager isMotionHardwareAvailable])
|
|
658
|
+
};
|
|
659
|
+
successCallback(@[sensors]);
|
|
660
|
+
}
|
|
661
|
+
|
|
662
|
+
RCT_EXPORT_METHOD(getDeviceInfo:(RCTResponseSenderBlock)success failure:(RCTResponseSenderBlock)failure) {
|
|
663
|
+
TSDeviceInfo *deviceInfo = [TSDeviceInfo sharedInstance];
|
|
664
|
+
success(@[[deviceInfo toDictionary:@"react-native"]]);
|
|
665
|
+
}
|
|
666
|
+
|
|
667
|
+
RCT_EXPORT_METHOD(isPowerSaveMode:(RCTResponseSenderBlock)successCallback failure:(RCTResponseSenderBlock)failure)
|
|
668
|
+
{
|
|
669
|
+
BOOL isPowerSaveMode = [locationManager isPowerSaveMode];
|
|
670
|
+
successCallback(@[@(isPowerSaveMode)]);
|
|
671
|
+
}
|
|
672
|
+
|
|
673
|
+
RCT_EXPORT_METHOD(isIgnoringBatteryOptimizations:(RCTResponseSenderBlock)success failure:(RCTResponseSenderBlock)failure)
|
|
674
|
+
{
|
|
675
|
+
success(@[@(NO)]);
|
|
676
|
+
}
|
|
677
|
+
|
|
678
|
+
RCT_EXPORT_METHOD(requestSettings:(NSDictionary*)args success:(RCTResponseSenderBlock)success failure:(RCTResponseSenderBlock)failure)
|
|
679
|
+
{
|
|
680
|
+
failure(@[@"No iOS Implementation"]);
|
|
681
|
+
}
|
|
682
|
+
|
|
683
|
+
RCT_EXPORT_METHOD(showSettings:(NSDictionary*)args success:(RCTResponseSenderBlock)success failure:(RCTResponseSenderBlock)failure)
|
|
684
|
+
{
|
|
685
|
+
failure(@[@"No iOS Implementation"]);
|
|
686
|
+
}
|
|
687
|
+
|
|
688
|
+
RCT_EXPORT_METHOD(getProviderState:(RCTResponseSenderBlock)success failure:(RCTResponseSenderBlock)failure) {
|
|
689
|
+
TSProviderChangeEvent *event = [locationManager getProviderState];
|
|
690
|
+
success(@[[event toDictionary]]);
|
|
691
|
+
}
|
|
692
|
+
|
|
693
|
+
RCT_EXPORT_METHOD(requestPermission:(RCTResponseSenderBlock)success failure:(RCTResponseSenderBlock)failure) {
|
|
694
|
+
[locationManager requestPermission:^(NSNumber *status) {
|
|
695
|
+
success(@[status]);
|
|
696
|
+
} failure:^(NSNumber *status) {
|
|
697
|
+
failure(@[status]);
|
|
698
|
+
}];
|
|
699
|
+
}
|
|
700
|
+
|
|
701
|
+
RCT_EXPORT_METHOD(requestTemporaryFullAccuracy:(NSString*)purpose success:(RCTResponseSenderBlock)success failure:(RCTResponseSenderBlock)failure) {
|
|
702
|
+
[locationManager requestTemporaryFullAccuracy:purpose success:^(NSInteger accuracyAuthorization) {
|
|
703
|
+
success(@[@(accuracyAuthorization)]);
|
|
704
|
+
} failure:^(NSError *error) {
|
|
705
|
+
failure(error.userInfo[@"NSDebugDescription"]);
|
|
706
|
+
}];
|
|
707
|
+
}
|
|
708
|
+
|
|
709
|
+
RCT_EXPORT_METHOD(getTransistorToken:(NSString*)orgname username:(NSString*)username url:(NSString*)url success:(RCTResponseSenderBlock)success failure:(RCTResponseSenderBlock)failure) {
|
|
710
|
+
|
|
711
|
+
[TransistorAuthorizationToken findOrCreateWithOrg:orgname
|
|
712
|
+
username:username
|
|
713
|
+
url:url
|
|
714
|
+
framework:@"react-native"
|
|
715
|
+
success:^(TransistorAuthorizationToken *token) {
|
|
716
|
+
success(@[[token toDictionary]]);
|
|
717
|
+
} failure:^(NSError *error) {
|
|
718
|
+
failure(@[@{@"status":@(error.code), @"message":error.localizedDescription}]);
|
|
719
|
+
}];
|
|
720
|
+
}
|
|
721
|
+
|
|
722
|
+
RCT_EXPORT_METHOD(destroyTransistorToken:(NSString*)url success:(RCTResponseSenderBlock)success failure:(RCTResponseSenderBlock)failure) {
|
|
723
|
+
[TransistorAuthorizationToken destroyWithUrl:url];
|
|
724
|
+
success(@[@(YES)]);
|
|
725
|
+
}
|
|
726
|
+
|
|
727
|
+
RCT_EXPORT_METHOD(playSound:(int)soundId)
|
|
728
|
+
{
|
|
729
|
+
[locationManager playSound: soundId];
|
|
730
|
+
}
|
|
731
|
+
|
|
732
|
+
-(void) sendEvent:(NSString*)event body:(id)body
|
|
733
|
+
{
|
|
734
|
+
[self sendEventWithName:event body:body];
|
|
735
|
+
}
|
|
736
|
+
|
|
737
|
+
- (void)invalidate
|
|
738
|
+
{
|
|
739
|
+
@synchronized(listeners) { [listeners removeAllObjects]; }
|
|
740
|
+
[locationManager removeListeners];
|
|
741
|
+
dispatch_async(dispatch_get_main_queue(), ^{
|
|
742
|
+
[self.locationManager stopWatchPosition];
|
|
743
|
+
});
|
|
744
|
+
}
|
|
745
|
+
|
|
746
|
+
- (void)dealloc
|
|
747
|
+
{
|
|
748
|
+
@synchronized(listeners) { [listeners removeAllObjects]; }
|
|
749
|
+
[locationManager removeListeners];
|
|
750
|
+
locationManager = nil;
|
|
751
|
+
}
|
|
752
|
+
|
|
753
|
+
|
|
754
|
+
@end
|