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.
Files changed (214) hide show
  1. package/.github/stale.yml +41 -0
  2. package/CHANGELOG.md +1131 -0
  3. package/LICENSE +22 -0
  4. package/README.md +292 -0
  5. package/RNBackgroundGeolocation.podspec +27 -0
  6. package/android/.idea/compiler.xml +22 -0
  7. package/android/.idea/copyright/profiles_settings.xml +3 -0
  8. package/android/.idea/encodings.xml +6 -0
  9. package/android/.idea/gradle.xml +12 -0
  10. package/android/.idea/misc.xml +4 -0
  11. package/android/.idea/modules.xml +8 -0
  12. package/android/.idea/runConfigurations.xml +12 -0
  13. package/android/RNBackgroundGeolocation.iml +119 -0
  14. package/android/android.iml +20 -0
  15. package/android/app.gradle +22 -0
  16. package/android/build.gradle +62 -0
  17. package/android/libs/com/transistorsoft/tslocationmanager/3.1.33/tslocationmanager-3.1.33.aar +0 -0
  18. package/android/libs/com/transistorsoft/tslocationmanager/3.1.33/tslocationmanager-3.1.33.aar.md5 +1 -0
  19. package/android/libs/com/transistorsoft/tslocationmanager/3.1.33/tslocationmanager-3.1.33.aar.sha1 +1 -0
  20. package/android/libs/com/transistorsoft/tslocationmanager/3.1.33/tslocationmanager-3.1.33.aar.sha256 +1 -0
  21. package/android/libs/com/transistorsoft/tslocationmanager/3.1.33/tslocationmanager-3.1.33.aar.sha512 +1 -0
  22. package/android/libs/com/transistorsoft/tslocationmanager/3.1.33/tslocationmanager-3.1.33.pom +9 -0
  23. package/android/libs/com/transistorsoft/tslocationmanager/3.1.33/tslocationmanager-3.1.33.pom.md5 +1 -0
  24. package/android/libs/com/transistorsoft/tslocationmanager/3.1.33/tslocationmanager-3.1.33.pom.sha1 +1 -0
  25. package/android/libs/com/transistorsoft/tslocationmanager/3.1.33/tslocationmanager-3.1.33.pom.sha256 +1 -0
  26. package/android/libs/com/transistorsoft/tslocationmanager/3.1.33/tslocationmanager-3.1.33.pom.sha512 +1 -0
  27. package/android/libs/com/transistorsoft/tslocationmanager/maven-metadata.xml +14 -0
  28. package/android/libs/com/transistorsoft/tslocationmanager-reverse/3.1.33/tslocationmanager-reverse-3.1.33.aar +0 -0
  29. package/android/libs/com/transistorsoft/tslocationmanager-reverse/3.1.33/tslocationmanager-reverse-3.1.33.aar.md5 +1 -0
  30. package/android/libs/com/transistorsoft/tslocationmanager-reverse/3.1.33/tslocationmanager-reverse-3.1.33.aar.sha1 +1 -0
  31. package/android/libs/com/transistorsoft/tslocationmanager-reverse/3.1.33/tslocationmanager-reverse-3.1.33.aar.sha256 +1 -0
  32. package/android/libs/com/transistorsoft/tslocationmanager-reverse/3.1.33/tslocationmanager-reverse-3.1.33.aar.sha512 +1 -0
  33. package/android/libs/com/transistorsoft/tslocationmanager-reverse/3.1.33/tslocationmanager-reverse-3.1.33.pom +9 -0
  34. package/android/libs/com/transistorsoft/tslocationmanager-reverse/3.1.33/tslocationmanager-reverse-3.1.33.pom.md5 +1 -0
  35. package/android/libs/com/transistorsoft/tslocationmanager-reverse/3.1.33/tslocationmanager-reverse-3.1.33.pom.sha1 +1 -0
  36. package/android/libs/com/transistorsoft/tslocationmanager-reverse/3.1.33/tslocationmanager-reverse-3.1.33.pom.sha256 +1 -0
  37. package/android/libs/com/transistorsoft/tslocationmanager-reverse/3.1.33/tslocationmanager-reverse-3.1.33.pom.sha512 +1 -0
  38. package/android/libs/com/transistorsoft/tslocationmanager-reverse/maven-metadata.xml +14 -0
  39. package/android/proguard-rules.pro +30 -0
  40. package/android/react-native-background-geolocation-android.iml +229 -0
  41. package/android/src/main/AndroidManifest.xml +6 -0
  42. package/android/src/main/java/com/transistorsoft/rnbackgroundgeolocation/HeadlessTask.java +171 -0
  43. package/android/src/main/java/com/transistorsoft/rnbackgroundgeolocation/RNBackgroundGeolocation.java +33 -0
  44. package/android/src/main/java/com/transistorsoft/rnbackgroundgeolocation/RNBackgroundGeolocationModule.java +1261 -0
  45. package/android/src/main/res/values/strings.xml +3 -0
  46. package/ios/RNBackgroundGeolocation/RNBackgroundGeolocation.h +22 -0
  47. package/ios/RNBackgroundGeolocation/RNBackgroundGeolocation.m +754 -0
  48. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/Info.plist +57 -0
  49. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_armv7/TSLocationManager.framework/Headers/AtomicBoolean.h +18 -0
  50. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_armv7/TSLocationManager.framework/Headers/ConfigModule.h +21 -0
  51. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_armv7/TSLocationManager.framework/Headers/HttpRequest.h +21 -0
  52. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_armv7/TSLocationManager.framework/Headers/HttpResponse.h +29 -0
  53. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_armv7/TSLocationManager.framework/Headers/LocationManager.h +55 -0
  54. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_armv7/TSLocationManager.framework/Headers/LogQuery.h +13 -0
  55. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_armv7/TSLocationManager.framework/Headers/SOMotionDetector.h +140 -0
  56. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_armv7/TSLocationManager.framework/Headers/SQLQuery.h +34 -0
  57. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_armv7/TSLocationManager.framework/Headers/TSActivityChangeEvent.h +16 -0
  58. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_armv7/TSLocationManager.framework/Headers/TSAuthorization.h +37 -0
  59. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_armv7/TSLocationManager.framework/Headers/TSAuthorizationEvent.h +17 -0
  60. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_armv7/TSLocationManager.framework/Headers/TSCallback.h +18 -0
  61. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_armv7/TSLocationManager.framework/Headers/TSConfig.h +304 -0
  62. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_armv7/TSLocationManager.framework/Headers/TSConnectivityChangeEvent.h +17 -0
  63. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_armv7/TSLocationManager.framework/Headers/TSCurrentPositionRequest.h +43 -0
  64. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_armv7/TSLocationManager.framework/Headers/TSDeviceInfo.h +24 -0
  65. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_armv7/TSLocationManager.framework/Headers/TSEnabledChangeEvent.h +15 -0
  66. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_armv7/TSLocationManager.framework/Headers/TSGeofence.h +50 -0
  67. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_armv7/TSLocationManager.framework/Headers/TSGeofenceEvent.h +60 -0
  68. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_armv7/TSLocationManager.framework/Headers/TSGeofenceManager.h +50 -0
  69. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_armv7/TSLocationManager.framework/Headers/TSGeofencesChangeEvent.h +17 -0
  70. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_armv7/TSLocationManager.framework/Headers/TSHeartbeatEvent.h +18 -0
  71. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_armv7/TSLocationManager.framework/Headers/TSHttpEvent.h +19 -0
  72. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_armv7/TSLocationManager.framework/Headers/TSHttpService.h +58 -0
  73. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_armv7/TSLocationManager.framework/Headers/TSLocation.h +101 -0
  74. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_armv7/TSLocationManager.framework/Headers/TSLocationManager.h +312 -0
  75. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_armv7/TSLocationManager.framework/Headers/TSPowerSaveChangeEvent.h +14 -0
  76. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_armv7/TSLocationManager.framework/Headers/TSProviderChangeEvent.h +20 -0
  77. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_armv7/TSLocationManager.framework/Headers/TSReachability.h +106 -0
  78. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_armv7/TSLocationManager.framework/Headers/TSSchedule.h +40 -0
  79. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_armv7/TSLocationManager.framework/Headers/TSScheduleEvent.h +18 -0
  80. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_armv7/TSLocationManager.framework/Headers/TSWatchPositionRequest.h +41 -0
  81. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_armv7/TSLocationManager.framework/Headers/TransistorAuthorizationToken.h +31 -0
  82. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_armv7/TSLocationManager.framework/Info.plist +0 -0
  83. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_armv7/TSLocationManager.framework/Modules/module.modulemap +6 -0
  84. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_armv7/TSLocationManager.framework/TSLocationManager +0 -0
  85. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_i386_x86_64-simulator/TSLocationManager.framework/Headers/AtomicBoolean.h +18 -0
  86. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_i386_x86_64-simulator/TSLocationManager.framework/Headers/ConfigModule.h +21 -0
  87. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_i386_x86_64-simulator/TSLocationManager.framework/Headers/HttpRequest.h +21 -0
  88. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_i386_x86_64-simulator/TSLocationManager.framework/Headers/HttpResponse.h +29 -0
  89. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_i386_x86_64-simulator/TSLocationManager.framework/Headers/LocationManager.h +55 -0
  90. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_i386_x86_64-simulator/TSLocationManager.framework/Headers/LogQuery.h +13 -0
  91. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_i386_x86_64-simulator/TSLocationManager.framework/Headers/SOMotionDetector.h +140 -0
  92. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_i386_x86_64-simulator/TSLocationManager.framework/Headers/SQLQuery.h +34 -0
  93. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_i386_x86_64-simulator/TSLocationManager.framework/Headers/TSActivityChangeEvent.h +16 -0
  94. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_i386_x86_64-simulator/TSLocationManager.framework/Headers/TSAuthorization.h +37 -0
  95. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_i386_x86_64-simulator/TSLocationManager.framework/Headers/TSAuthorizationEvent.h +17 -0
  96. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_i386_x86_64-simulator/TSLocationManager.framework/Headers/TSCallback.h +18 -0
  97. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_i386_x86_64-simulator/TSLocationManager.framework/Headers/TSConfig.h +304 -0
  98. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_i386_x86_64-simulator/TSLocationManager.framework/Headers/TSConnectivityChangeEvent.h +17 -0
  99. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_i386_x86_64-simulator/TSLocationManager.framework/Headers/TSCurrentPositionRequest.h +43 -0
  100. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_i386_x86_64-simulator/TSLocationManager.framework/Headers/TSDeviceInfo.h +24 -0
  101. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_i386_x86_64-simulator/TSLocationManager.framework/Headers/TSEnabledChangeEvent.h +15 -0
  102. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_i386_x86_64-simulator/TSLocationManager.framework/Headers/TSGeofence.h +50 -0
  103. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_i386_x86_64-simulator/TSLocationManager.framework/Headers/TSGeofenceEvent.h +60 -0
  104. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_i386_x86_64-simulator/TSLocationManager.framework/Headers/TSGeofenceManager.h +50 -0
  105. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_i386_x86_64-simulator/TSLocationManager.framework/Headers/TSGeofencesChangeEvent.h +17 -0
  106. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_i386_x86_64-simulator/TSLocationManager.framework/Headers/TSHeartbeatEvent.h +18 -0
  107. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_i386_x86_64-simulator/TSLocationManager.framework/Headers/TSHttpEvent.h +19 -0
  108. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_i386_x86_64-simulator/TSLocationManager.framework/Headers/TSHttpService.h +58 -0
  109. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_i386_x86_64-simulator/TSLocationManager.framework/Headers/TSLocation.h +101 -0
  110. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_i386_x86_64-simulator/TSLocationManager.framework/Headers/TSLocationManager.h +312 -0
  111. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_i386_x86_64-simulator/TSLocationManager.framework/Headers/TSPowerSaveChangeEvent.h +14 -0
  112. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_i386_x86_64-simulator/TSLocationManager.framework/Headers/TSProviderChangeEvent.h +20 -0
  113. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_i386_x86_64-simulator/TSLocationManager.framework/Headers/TSReachability.h +106 -0
  114. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_i386_x86_64-simulator/TSLocationManager.framework/Headers/TSSchedule.h +40 -0
  115. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_i386_x86_64-simulator/TSLocationManager.framework/Headers/TSScheduleEvent.h +18 -0
  116. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_i386_x86_64-simulator/TSLocationManager.framework/Headers/TSWatchPositionRequest.h +41 -0
  117. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_i386_x86_64-simulator/TSLocationManager.framework/Headers/TransistorAuthorizationToken.h +31 -0
  118. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_i386_x86_64-simulator/TSLocationManager.framework/Info.plist +0 -0
  119. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_i386_x86_64-simulator/TSLocationManager.framework/Modules/module.modulemap +6 -0
  120. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_i386_x86_64-simulator/TSLocationManager.framework/TSLocationManager +0 -0
  121. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_i386_x86_64-simulator/TSLocationManager.framework/_CodeSignature/CodeDirectory +0 -0
  122. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_i386_x86_64-simulator/TSLocationManager.framework/_CodeSignature/CodeRequirements +0 -0
  123. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_i386_x86_64-simulator/TSLocationManager.framework/_CodeSignature/CodeRequirements-1 +0 -0
  124. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_i386_x86_64-simulator/TSLocationManager.framework/_CodeSignature/CodeResources +612 -0
  125. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_i386_x86_64-simulator/TSLocationManager.framework/_CodeSignature/CodeSignature +0 -0
  126. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/AtomicBoolean.h +18 -0
  127. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/ConfigModule.h +21 -0
  128. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/HttpRequest.h +21 -0
  129. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/HttpResponse.h +29 -0
  130. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/LocationManager.h +55 -0
  131. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/LogQuery.h +13 -0
  132. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/SOMotionDetector.h +140 -0
  133. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/SQLQuery.h +34 -0
  134. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSActivityChangeEvent.h +16 -0
  135. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSAuthorization.h +37 -0
  136. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSAuthorizationEvent.h +17 -0
  137. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSCallback.h +18 -0
  138. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSConfig.h +304 -0
  139. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSConnectivityChangeEvent.h +17 -0
  140. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSCurrentPositionRequest.h +43 -0
  141. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSDeviceInfo.h +24 -0
  142. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSEnabledChangeEvent.h +15 -0
  143. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSGeofence.h +50 -0
  144. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSGeofenceEvent.h +60 -0
  145. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSGeofenceManager.h +50 -0
  146. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSGeofencesChangeEvent.h +17 -0
  147. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSHeartbeatEvent.h +18 -0
  148. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSHttpEvent.h +19 -0
  149. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSHttpService.h +58 -0
  150. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSLocation.h +101 -0
  151. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSLocationManager.h +312 -0
  152. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSPowerSaveChangeEvent.h +14 -0
  153. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSProviderChangeEvent.h +20 -0
  154. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSReachability.h +106 -0
  155. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSSchedule.h +40 -0
  156. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSScheduleEvent.h +18 -0
  157. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TSWatchPositionRequest.h +41 -0
  158. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Headers/TransistorAuthorizationToken.h +31 -0
  159. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Modules/module.modulemap +6 -0
  160. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/Resources/Info.plist +50 -0
  161. package/ios/RNBackgroundGeolocation/TSLocationManager.xcframework/ios-arm64_x86_64-maccatalyst/TSLocationManager.framework/TSLocationManager +0 -0
  162. package/ios/RNBackgroundGeolocation.xcodeproj/project.pbxproj +341 -0
  163. package/ios/RNBackgroundGeolocation.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  164. package/ios/RNBackgroundGeolocation.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  165. package/ios/RNBackgroundGeolocation.xcodeproj/project.xcworkspace/xcshareddata/RNBackgroundGeolocation.xccheckout +41 -0
  166. package/ios/RNBackgroundGeolocation.xcodeproj/project.xcworkspace/xcuserdata/chris.xcuserdatad/UserInterfaceState.xcuserstate +0 -0
  167. package/ios/RNBackgroundGeolocation.xcodeproj/xcuserdata/chris.xcuserdatad/xcschemes/Build.xcscheme +80 -0
  168. package/ios/RNBackgroundGeolocation.xcodeproj/xcuserdata/chris.xcuserdatad/xcschemes/RNBackgroundGeolocation.xcscheme +113 -0
  169. package/ios/RNBackgroundGeolocation.xcodeproj/xcuserdata/chris.xcuserdatad/xcschemes/xcschememanagement.plist +37 -0
  170. package/ios/RNBackgroundGeolocationTests/Info.plist +24 -0
  171. package/package.json +54 -0
  172. package/react-native.config.js +20 -0
  173. package/scripts/cp-declarations +53 -0
  174. package/scripts/declare-module +3 -0
  175. package/scripts/docs-index.html +4 -0
  176. package/scripts/generate-docs +23 -0
  177. package/scripts/postlink.js +146 -0
  178. package/scripts/postunlink.js +128 -0
  179. package/scripts/tsconfig.json +21 -0
  180. package/scripts/xcode-helpers.js +171 -0
  181. package/src/DeviceSettings.js +52 -0
  182. package/src/Events.js +17 -0
  183. package/src/Logger.js +90 -0
  184. package/src/NativeModule.js +528 -0
  185. package/src/TransistorAuthorizationToken.js +73 -0
  186. package/src/declarations/BackgroundGeolocation.d.ts +1601 -0
  187. package/src/declarations/interfaces/Authorization.d.ts +156 -0
  188. package/src/declarations/interfaces/AuthorizationEvent.d.ts +30 -0
  189. package/src/declarations/interfaces/Config.d.ts +2437 -0
  190. package/src/declarations/interfaces/ConnectivityChangeEvent.d.ts +18 -0
  191. package/src/declarations/interfaces/CurrentPositionRequest.d.ts +45 -0
  192. package/src/declarations/interfaces/DeviceInfo.d.ts +33 -0
  193. package/src/declarations/interfaces/DeviceSettings.d.ts +223 -0
  194. package/src/declarations/interfaces/Geofence.d.ts +255 -0
  195. package/src/declarations/interfaces/GeofenceEvent.d.ts +30 -0
  196. package/src/declarations/interfaces/GeofencesChangeEvent.d.ts +22 -0
  197. package/src/declarations/interfaces/HeartbeatEvent.d.ts +20 -0
  198. package/src/declarations/interfaces/HttpEvent.d.ts +313 -0
  199. package/src/declarations/interfaces/Location.d.ts +216 -0
  200. package/src/declarations/interfaces/LocationAuthorizationAlert.d.ts +41 -0
  201. package/src/declarations/interfaces/Logger.d.ts +359 -0
  202. package/src/declarations/interfaces/MotionActivityEvent.d.ts +31 -0
  203. package/src/declarations/interfaces/MotionChangeEvent.d.ts +15 -0
  204. package/src/declarations/interfaces/Notification.d.ts +484 -0
  205. package/src/declarations/interfaces/PermissionRationale.d.ts +31 -0
  206. package/src/declarations/interfaces/ProviderChangeEvent.d.ts +74 -0
  207. package/src/declarations/interfaces/SQLQuery.d.ts +60 -0
  208. package/src/declarations/interfaces/Sensors.d.ts +31 -0
  209. package/src/declarations/interfaces/State.d.ts +51 -0
  210. package/src/declarations/interfaces/TransistorAuthorizationToken.d.ts +63 -0
  211. package/src/declarations/interfaces/WatchPositionRequest.d.ts +45 -0
  212. package/src/declarations/types.d.ts +170 -0
  213. package/src/index.d.ts +1 -0
  214. package/src/index.js +822 -0
package/src/index.d.ts ADDED
@@ -0,0 +1 @@
1
+ /// <reference path="declarations/BackgroundGeolocation.d.ts" />
package/src/index.js ADDED
@@ -0,0 +1,822 @@
1
+ 'use strict'
2
+
3
+ import {
4
+ Platform,
5
+ AppRegistry
6
+ } from "react-native"
7
+
8
+ import * as Events from './Events';
9
+ import NativeModule from './NativeModule';
10
+ import DeviceSettings from './DeviceSettings';
11
+ import Logger from './Logger';
12
+ import TransistorAuthorizationToken from './TransistorAuthorizationToken';
13
+
14
+ let _deviceSettingsInstance = null;
15
+
16
+ const TAG = "BackgroundGeolocation";
17
+
18
+ const LOG_LEVEL_OFF = 0;
19
+ const LOG_LEVEL_ERROR = 1;
20
+ const LOG_LEVEL_WARNING = 2;
21
+ const LOG_LEVEL_INFO = 3;
22
+ const LOG_LEVEL_DEBUG = 4;
23
+ const LOG_LEVEL_VERBOSE = 5;
24
+
25
+ // This is a test.
26
+ const DESIRED_ACCURACY_NAVIGATION = -2;
27
+ const DESIRED_ACCURACY_HIGH = -1;
28
+ const DESIRED_ACCURACY_MEDIUM = 10;
29
+ const DESIRED_ACCURACY_LOW = 100;
30
+ const DESIRED_ACCURACY_VERY_LOW = 1000;
31
+ const DESIRED_ACCURACY_LOWEST = 3000;
32
+
33
+ const AUTHORIZATION_STATUS_NOT_DETERMINED = 0;
34
+ const AUTHORIZATION_STATUS_RESTRICTED = 1;
35
+ const AUTHORIZATION_STATUS_DENIED = 2;
36
+ const AUTHORIZATION_STATUS_ALWAYS = 3;
37
+ const AUTHORIZATION_STATUS_WHEN_IN_USE = 4;
38
+
39
+ const NOTIFICATION_PRIORITY_DEFAULT = 0;
40
+ const NOTIFICATION_PRIORITY_HIGH = 1;
41
+ const NOTIFICATION_PRIORITY_LOW =-1;
42
+ const NOTIFICATION_PRIORITY_MAX = 2;
43
+ const NOTIFICATION_PRIORITY_MIN =-2;
44
+
45
+ const ACTIVITY_TYPE_OTHER = 1;
46
+ const ACTIVITY_TYPE_AUTOMOTIVE_NAVIGATION = 2;
47
+ const ACTIVITY_TYPE_FITNESS = 3;
48
+ const ACTIVITY_TYPE_OTHER_NAVIGATION = 4;
49
+
50
+ const LOCATION_AUTHORIZATION_ALWAYS = "Always";
51
+ const LOCATION_AUTHORIZATION_WHEN_IN_USE = "WhenInUse";
52
+ const LOCATION_AUTHORIZATION_ANY = "Any";
53
+
54
+ const PERSIST_MODE_ALL = 2;
55
+ const PERSIST_MODE_LOCATION = 1;
56
+ const PERSIST_MODE_GEOFENCE = -1;
57
+ const PERSIST_MODE_NONE = 0;
58
+
59
+ const ACCURACY_AUTHORIZATION_FULL = 0;
60
+ const ACCURACY_AUTHORIZATION_REDUCED = 1;
61
+
62
+ const emptyFn = function() {}
63
+
64
+ export default class BackgroundGeolocation {
65
+ static get EVENT_BOOT() { return Events.BOOT; }
66
+ static get EVENT_TERMINATE() { return Events.TERMINATE; }
67
+ static get EVENT_LOCATION() { return Events.LOCATION; }
68
+ static get EVENT_MOTIONCHANGE() { return Events.MOTIONCHANGE; }
69
+ static get EVENT_HTTP() { return Events.HTTP; }
70
+ static get EVENT_HEARTBEAT() { return Events.HEARTBEAT; }
71
+ static get EVENT_PROVIDERCHANGE() { return Events.PROVIDERCHANGE; }
72
+ static get EVENT_ACTIVITYCHANGE() { return Events.ACTIVITYCHANGE; }
73
+ static get EVENT_GEOFENCE() { return Events.GEOFENCE; }
74
+ static get EVENT_GEOFENCESCHANGE() { return Events.GEOFENCESCHANGE; }
75
+ static get EVENT_ENABLEDCHANGE() { return Events.ENABLEDCHANGE; }
76
+ static get EVENT_CONNECTIVITYCHANGE() { return Events.CONNECTIVITYCHANGE; }
77
+ static get EVENT_SCHEDULE() { return Events.SCHEDULE; }
78
+ static get EVENT_POWERSAVECHANGE() { return Events.POWERSAVECHANGE; }
79
+ static get EVENT_NOTIFICATIONACTION() { return Events.NOTIFICATIONACTION; }
80
+ static get EVENT_AUTHORIZATION() { return Events.AUTHORIZATION; }
81
+
82
+ static get LOG_LEVEL_OFF() { return LOG_LEVEL_OFF; }
83
+ static get LOG_LEVEL_ERROR() { return LOG_LEVEL_ERROR; }
84
+ static get LOG_LEVEL_WARNING() { return LOG_LEVEL_WARNING; }
85
+ static get LOG_LEVEL_INFO() { return LOG_LEVEL_INFO; }
86
+ static get LOG_LEVEL_DEBUG() { return LOG_LEVEL_DEBUG; }
87
+ static get LOG_LEVEL_VERBOSE() { return LOG_LEVEL_VERBOSE; }
88
+
89
+ static get ACTIVITY_TYPE_OTHER() { return ACTIVITY_TYPE_OTHER;}
90
+ static get ACTIVITY_TYPE_AUTOMOTIVE_NAVIGATION() { return ACTIVITY_TYPE_AUTOMOTIVE_NAVIGATION;}
91
+ static get ACTIVITY_TYPE_FITNESS() { return ACTIVITY_TYPE_FITNESS;}
92
+ static get ACTIVITY_TYPE_OTHER_NAVIGATION() { return ACTIVITY_TYPE_OTHER_NAVIGATION;}
93
+
94
+ static get DESIRED_ACCURACY_NAVIGATION() { return DESIRED_ACCURACY_NAVIGATION; }
95
+ static get DESIRED_ACCURACY_HIGH() { return DESIRED_ACCURACY_HIGH; }
96
+ static get DESIRED_ACCURACY_MEDIUM() { return DESIRED_ACCURACY_MEDIUM; }
97
+ static get DESIRED_ACCURACY_LOW() { return DESIRED_ACCURACY_LOW; }
98
+ static get DESIRED_ACCURACY_VERY_LOW() { return DESIRED_ACCURACY_VERY_LOW; }
99
+ static get DESIRED_ACCURACY_LOWEST() { return DESIRED_ACCURACY_LOWEST; }
100
+
101
+ static get AUTHORIZATION_STATUS_NOT_DETERMINED() { return AUTHORIZATION_STATUS_NOT_DETERMINED; }
102
+ static get AUTHORIZATION_STATUS_RESTRICTED() { return AUTHORIZATION_STATUS_RESTRICTED; }
103
+ static get AUTHORIZATION_STATUS_DENIED() { return AUTHORIZATION_STATUS_DENIED; }
104
+ static get AUTHORIZATION_STATUS_ALWAYS() { return AUTHORIZATION_STATUS_ALWAYS; }
105
+ static get AUTHORIZATION_STATUS_WHEN_IN_USE() { return AUTHORIZATION_STATUS_WHEN_IN_USE; }
106
+
107
+ static get NOTIFICATION_PRIORITY_DEFAULT() { return NOTIFICATION_PRIORITY_DEFAULT; }
108
+ static get NOTIFICATION_PRIORITY_HIGH() { return NOTIFICATION_PRIORITY_HIGH; }
109
+ static get NOTIFICATION_PRIORITY_LOW() { return NOTIFICATION_PRIORITY_LOW; }
110
+ static get NOTIFICATION_PRIORITY_MAX() { return NOTIFICATION_PRIORITY_MAX; }
111
+ static get NOTIFICATION_PRIORITY_MIN() { return NOTIFICATION_PRIORITY_MIN; }
112
+
113
+ static get LOCATION_AUTHORIZATION_ALWAYS() { return LOCATION_AUTHORIZATION_ALWAYS}
114
+ static get LOCATION_AUTHORIZATION_WHEN_IN_USE() { return LOCATION_AUTHORIZATION_WHEN_IN_USE}
115
+ static get LOCATION_AUTHORIZATION_ANY() { return LOCATION_AUTHORIZATION_ANY}
116
+
117
+ static get PERSIST_MODE_ALL() { return PERSIST_MODE_ALL; }
118
+ static get PERSIST_MODE_LOCATION() { return PERSIST_MODE_LOCATION; }
119
+ static get PERSIST_MODE_GEOFENCE() { return PERSIST_MODE_GEOFENCE; }
120
+ static get PERSIST_MODE_NONE() { return PERSIST_MODE_NONE; }
121
+
122
+ static get ACCURACY_AUTHORIZATION_FULL() { return ACCURACY_AUTHORIZATION_FULL; }
123
+ static get ACCURACY_AUTHORIZATION_REDUCED() { return ACCURACY_AUTHORIZATION_REDUCED; }
124
+
125
+ static get deviceSettings() {
126
+ if (_deviceSettingsInstance === null) {
127
+ _deviceSettingsInstance = new DeviceSettings();
128
+ }
129
+ return _deviceSettingsInstance;
130
+ }
131
+
132
+ /**
133
+ * Register HeadlessTask
134
+ */
135
+ static registerHeadlessTask(task) {
136
+ AppRegistry.registerHeadlessTask(TAG, () => task);
137
+ }
138
+
139
+ /**
140
+ * Core Plugin Control Methods
141
+ */
142
+ static ready(config, success, failure) {
143
+ if (arguments.length <= 1) {
144
+ return NativeModule.ready(config||{});
145
+ } else {
146
+ NativeModule.ready(config).then(success).catch(failure);
147
+ }
148
+ }
149
+ /**
150
+ * Reset plugin confg to default
151
+ */
152
+ static reset(config, success, failure) {
153
+ if ((typeof(config) == 'function') || (typeof(success) === 'function')) {
154
+ if (typeof(config) === 'function') {
155
+ success = config;
156
+ }
157
+ NativeModule.reset(config).then(success).catch(failure);
158
+ } else {
159
+ return NativeModule.reset(config);
160
+ }
161
+ }
162
+ /**
163
+ * Perform initial configuration of plugin. Reset config to default before applying supplied configuration
164
+ */
165
+ static configure(config, success, failure) {
166
+ if (arguments.length == 1) {
167
+ return NativeModule.configure(config);
168
+ } else {
169
+ NativeModule.configure(config).then(success).catch(failure);
170
+ }
171
+ }
172
+
173
+ static requestPermission(success, failure) {
174
+ if (!arguments.length) {
175
+ return NativeModule.requestPermission();
176
+ } else {
177
+ NativeModule.requestPermission().then(success).catch(failure);
178
+ }
179
+ }
180
+
181
+ static requestTemporaryFullAccuracy(purpose) {
182
+ return NativeModule.requestTemporaryFullAccuracy(purpose);
183
+ }
184
+
185
+ static getProviderState(success, failure) {
186
+ if (!arguments.length) {
187
+ return NativeModule.getProviderState();
188
+ } else {
189
+ NativeModule.getProviderState().then(success).catch(failure);
190
+ }
191
+ }
192
+
193
+ /**
194
+ * Listen to a plugin event
195
+ */
196
+ static addListener(event, success, failure) {
197
+ if (typeof(event) != 'string') { throw "BackgroundGeolocation#on must be provided a {String} event as 1st argument." }
198
+ if (Events[event]) { throw "BackgroundGeolocation#on - Unknown event '" + event + "'" }
199
+ if (typeof(success) != 'function') { throw "BackgroundGeolocation#on must be provided a callback as 2nd argument. If you're attempting to use the Promise API to listen to an event, it won't work, since a Promise can only evaluate once, while the callback function must be executed for each event." }
200
+ NativeModule.addListener.apply(NativeModule, arguments);
201
+ }
202
+ // @alias #removeListener
203
+ static on(event, success, failure) {
204
+ this.addListener.apply(this, arguments);
205
+ }
206
+
207
+ static onLocation(success, failure) {
208
+ this.addListener(Events.LOCATION, success, failure);
209
+ }
210
+
211
+ static onMotionChange(callback) {
212
+ this.addListener(Events.MOTIONCHANGE, callback);
213
+ }
214
+
215
+ static onHttp(callback) {
216
+ this.addListener(Events.HTTP, callback);
217
+ }
218
+
219
+ static onHeartbeat(callback) {
220
+ this.addListener(Events.HEARTBEAT, callback);
221
+ }
222
+
223
+ static onProviderChange(callback) {
224
+ this.addListener(Events.PROVIDERCHANGE, callback);
225
+ }
226
+
227
+ static onActivityChange(callback) {
228
+ this.addListener(Events.ACTIVITYCHANGE, callback);
229
+ }
230
+
231
+ static onGeofence(callback) {
232
+ this.addListener(Events.GEOFENCE, callback);
233
+ }
234
+
235
+ static onGeofencesChange(callback) {
236
+ this.addListener(Events.GEOFENCESCHANGE, callback);
237
+ }
238
+
239
+ static onSchedule(callback) {
240
+ this.addListener(Events.SCHEDULE, callback);
241
+ }
242
+
243
+ static onEnabledChange(callback) {
244
+ this.addListener(Events.ENABLEDCHANGE, callback);
245
+ }
246
+
247
+ static onConnectivityChange(callback) {
248
+ this.addListener(Events.CONNECTIVITYCHANGE, callback);
249
+ }
250
+
251
+ static onPowerSaveChange(callback) {
252
+ this.addListener(Events.POWERSAVECHANGE, callback);
253
+ }
254
+
255
+ static onNotificationAction(callback) {
256
+ this.addListener(Events.NOTIFICATIONACTION, callback);
257
+ }
258
+
259
+ static onAuthorization(callback) {
260
+ this.addListener(Events.AUTHORIZATION, callback);
261
+ }
262
+
263
+ /**
264
+ * Remove a single plugin event-listener, supplying a reference to the handler initially supplied to #un
265
+ */
266
+ static removeListener(event, handler, success, failure) {
267
+ if (typeof(event) != 'string') { throw "BackgroundGeolocation#un must be provided a {String} event as 1st argument" }
268
+ if (!Events[event.toUpperCase()]) { throw "BackgroundGeolocation#un - Unknown event '" + event + "'" }
269
+ NativeModule.removeListener.apply(NativeModule, arguments);
270
+ }
271
+ // @alias #removeListener
272
+ static un(event, handler, success, failiure) {
273
+ this.removeListener.apply(this, arguments);
274
+ }
275
+
276
+ /**
277
+ * Remove all event listeners
278
+ */
279
+ static removeListeners(success, failure) {
280
+ if (!arguments.length) {
281
+ return NativeModule.removeListeners();
282
+ } else {
283
+ NativeModule.removeListeners().then(success).catch(failure);
284
+ }
285
+ }
286
+ // @alias -> #removeListeners
287
+ static removeAllListeners(success, failure) {
288
+ this.removeListeners.apply(this, arguments);
289
+ }
290
+ /**
291
+ * Fetch current plugin configuration
292
+ */
293
+ static getState(success, failure) {
294
+ if (!arguments.length) {
295
+ return NativeModule.getState();
296
+ } else {
297
+ NativeModule.getState().then(success).catch(failure);
298
+ }
299
+ }
300
+ /**
301
+ * Start the plugin
302
+ */
303
+ static start(success, failure) {
304
+ if (!arguments.length) {
305
+ return NativeModule.start();
306
+ } else {
307
+ NativeModule.start().then(success).catch(failure);
308
+ }
309
+ }
310
+ /**
311
+ * Stop the plugin
312
+ */
313
+ static stop(success, failure) {
314
+ if (!arguments.length) {
315
+ return NativeModule.stop();
316
+ } else {
317
+ NativeModule.stop().then(success).catch(failure);
318
+ }
319
+ }
320
+ /**
321
+ * Start the scheduler
322
+ */
323
+ static startSchedule(success, failure) {
324
+ if (!arguments.length) {
325
+ return NativeModule.startSchedule();
326
+ } else {
327
+ NativeModule.startSchedule().then(success).catch(failure);
328
+ }
329
+ }
330
+ /**
331
+ * Stop the scheduler
332
+ */
333
+ static stopSchedule(success, failure) {
334
+ if (!arguments.length) {
335
+ return NativeModule.stopSchedule();
336
+ } else {
337
+ NativeModule.stopSchedule().then(success).catch(failure);
338
+ }
339
+ }
340
+ /**
341
+ * Initiate geofences-only mode
342
+ */
343
+ static startGeofences(success, failure) {
344
+ if (!arguments.length) {
345
+ return NativeModule.startGeofences();
346
+ } else {
347
+ NativeModule.startGeofences().then(success).catch(failure);
348
+ }
349
+ }
350
+ /**
351
+ * Start an iOS background-task, provding 180s of background running time
352
+ */
353
+ static startBackgroundTask(success, failure) {
354
+ if (!arguments.length) {
355
+ return NativeModule.startBackgroundTask();
356
+ } else {
357
+ if (typeof(success) !== 'function') {
358
+ throw TAG + "#startBackgroundTask must be provided with a callback to recieve the taskId";
359
+ }
360
+ NativeModule.startBackgroundTask().then(success).catch(failure);
361
+ }
362
+ }
363
+ /**
364
+ * Signal to iOS that your background-task from #startBackgroundTask is complete
365
+ * TODO Rename native method #finish -> #stopBackgroundTask.
366
+ */
367
+ static stopBackgroundTask(taskId, success, failure) {
368
+ // No taskId? Ignore it.
369
+ if (arguments.length == 1) {
370
+ return NativeModule.stopBackgroundTask(taskId);
371
+ } else {
372
+ NativeModule.stopBackgroundTask(taskId).then(success).catch(failure);
373
+ }
374
+ }
375
+ /**
376
+ * @deprecated Use #stopBackgroundTask
377
+ */
378
+ static finish(taskId, success, failure) {
379
+ this.stopBackgroundTask.apply(this, arguments);
380
+ }
381
+ /**
382
+ * Toggle motion-state between stationary <-> moving
383
+ */
384
+ static changePace(isMoving, success, failure) {
385
+ if (arguments.length == 1) {
386
+ return NativeModule.changePace(isMoving);
387
+ } else {
388
+ NativeModule.changePace(isMoving).then(success).catch(failure);
389
+ }
390
+ }
391
+ /**
392
+ * Provide new configuration to the plugin. This configuration will be *merged* to current configuration
393
+ */
394
+ static setConfig(config, success, failure) {
395
+ if (arguments.length == 1) {
396
+ return NativeModule.setConfig(config);
397
+ } else {
398
+ NativeModule.setConfig(config).then(success).catch(failure);
399
+ }
400
+ }
401
+ /**
402
+ * HTTP & Persistence
403
+ *
404
+ */
405
+ static getLocations(success, failure) {
406
+ if (!arguments.length) {
407
+ return NativeModule.getLocations();
408
+ } else {
409
+ NativeModule.getLocations().then(success).catch(failure);
410
+ }
411
+ }
412
+ /**
413
+ * Fetch the current count of location records in database
414
+ */
415
+ static getCount(success, failure) {
416
+ if (!arguments.length) {
417
+ return NativeModule.getCount();
418
+ } else {
419
+ NativeModule.getCount().then(success).catch(failure);
420
+ }
421
+ }
422
+ /**
423
+ * Destroy all records in locations database
424
+ */
425
+ static destroyLocations(success, failure) {
426
+ if (!arguments.length) {
427
+ return NativeModule.destroyLocations();
428
+ } else {
429
+ NativeModule.destroyLocations().then(success).catch(failure);
430
+ }
431
+ }
432
+ /**
433
+ * Destroy a single location by uuid
434
+ */
435
+ static destroyLocation(uuid) {
436
+ return NativeModule.destroyLocation(uuid);
437
+ }
438
+ /**
439
+ * Destroy a single record by uuid
440
+ */
441
+ // @deprecated
442
+ static clearDatabase(success, failure) {
443
+ return this.destroyLocations.apply(this, arguments);
444
+ }
445
+ /**
446
+ * Insert a single record into locations database
447
+ */
448
+ static insertLocation(location, success, failure) {
449
+ if (arguments.length == 1) {
450
+ return NativeModule.insertLocation(location);
451
+ } else {
452
+ NativeModule.insertLocation(location).then(success).catch(failure);
453
+ }
454
+ }
455
+ /**
456
+ * Manually initiate an HTTP sync operation
457
+ */
458
+ static sync(success, failure) {
459
+ if (!arguments.length) {
460
+ return NativeModule.sync();
461
+ } else {
462
+ NativeModule.sync().then(success).catch(failure);
463
+ }
464
+ }
465
+ /**
466
+ * Fetch the current value of odometer
467
+ */
468
+ static getOdometer(success, failure) {
469
+ if (!arguments.length) {
470
+ return NativeModule.getOdometer();
471
+ } else {
472
+ NativeModule.getOdometer().then(success).catch(failure);
473
+ }
474
+ }
475
+ /**
476
+ * Set the value of the odometer
477
+ */
478
+ static setOdometer(value, success, failure) {
479
+ if (arguments.length == 1) {
480
+ return NativeModule.setOdometer(value);
481
+ } else {
482
+ NativeModule.setOdometer(value).then(success).catch(failure);
483
+ }
484
+ }
485
+ /**
486
+ * Reset the value of odometer to 0
487
+ */
488
+ static resetOdometer(success, failure) {
489
+ if (!arguments.length) {
490
+ return NativeModule.setOdometer(0);
491
+ } else {
492
+ NativeModule.setOdometer(0).then(success).catch(failure);
493
+ }
494
+ }
495
+
496
+ /**
497
+ * Geofencing Methods
498
+ */
499
+
500
+ /**
501
+ * Add a single geofence
502
+ */
503
+ static addGeofence(config, success, failure) {
504
+ if (arguments.length == 1) {
505
+ return NativeModule.addGeofence(config);
506
+ } else {
507
+ NativeModule.addGeofence(config).then(success).catch(failure);
508
+ }
509
+ }
510
+ /**
511
+ * Remove a single geofence by identifier
512
+ */
513
+ static removeGeofence(identifier, success, failure) {
514
+ if (arguments.length == 1) {
515
+ return NativeModule.removeGeofence(identifier);
516
+ } else {
517
+ NativeModule.removeGeofence(identifier).then(success).catch(failure);
518
+ }
519
+ }
520
+ /**
521
+ * Add a list of geofences
522
+ */
523
+ static addGeofences(geofences, success, failure) {
524
+ if (arguments.length == 1) {
525
+ return NativeModule.addGeofences(geofences);
526
+ } else {
527
+ NativeModule.addGeofences(geofences).then(success).catch(failure);
528
+ }
529
+ }
530
+ /**
531
+ * Remove geofences. You may either supply an array of identifiers or nothing to destroy all geofences.
532
+ * 1. removeGeofences() <-- Promise
533
+ * 2. removeGeofences(['foo']) <-- Promise
534
+ *
535
+ * 3. removeGeofences(success, [failure])
536
+ * 4. removeGeofences(['foo'], success, [failure])
537
+ */
538
+ static removeGeofences(success, failure) {
539
+ if (!arguments.length) {
540
+ return NativeModule.removeGeofences();
541
+ } else {
542
+ NativeModule.removeGeofences().then(success).catch(failure);
543
+ }
544
+ }
545
+ /**
546
+ * Fetch all geofences from database
547
+ */
548
+ static getGeofences(success, failure) {
549
+ if (!arguments.length) {
550
+ return NativeModule.getGeofences();
551
+ } else {
552
+ NativeModule.getGeofences().then(success).catch(failure);
553
+ }
554
+ }
555
+ /**
556
+ * Fetch a single geofence
557
+ */
558
+ static getGeofence(identifier, success, failure) {
559
+ if (arguments.length == 1) {
560
+ return NativeModule.getGeofence(identifier);
561
+ } else {
562
+ NativeModule.getGeofence(identifier).then(success).catch(failure);
563
+ }
564
+ }
565
+ /**
566
+ * Return true if geofence was added
567
+ */
568
+ static geofenceExists(identifier, success, failure) {
569
+ if (arguments.length == 1) {
570
+ return NativeModule.geofenceExists(identifier);
571
+ } else {
572
+ NativeModule.geofenceExists(identifier).then(success).catch(failure);
573
+ }
574
+ }
575
+ /**
576
+ * Fetch the current position from location-services
577
+ */
578
+ static getCurrentPosition(options, success, failure) {
579
+ if (typeof(options) === 'function') {
580
+ throw "#getCurrentPosition requires options {} as first argument";
581
+ }
582
+ if (typeof(success) === 'function') {
583
+ NativeModule.getCurrentPosition(options).then(success).catch(failure);
584
+ } else {
585
+ return NativeModule.getCurrentPosition.apply(NativeModule, arguments);
586
+ }
587
+ }
588
+ /**
589
+ * Begin watching a stream of locations
590
+ */
591
+ static watchPosition(success, failure, options) {
592
+ if (typeof(success) === 'undefined') {
593
+ throw TAG + '#watchPosition cannot use Promises since a Promise can only evaluate once while the supplied callback must be executed for each location';
594
+ }
595
+ failure = failure || emptyFn;
596
+ options = options || {};
597
+
598
+ NativeModule.watchPosition(success, failure, options);
599
+ }
600
+ /**
601
+ * Stop watching location
602
+ */
603
+ static stopWatchPosition(success, failure) {
604
+ if (!arguments.length) {
605
+ return NativeModule.stopWatchPosition();
606
+ } else {
607
+ NativeModule.stopWatchPosition().then(success).catch(failure);
608
+ }
609
+ }
610
+ /**
611
+ * Set the logLevel. This is just a helper method for setConfig({logLevel: level})
612
+ */
613
+ static setLogLevel(value, success, failure) {
614
+ if (arguments.length == 1) {
615
+ return NativeModule.setLogLevel(value);
616
+ } else {
617
+ NativeModule.setLogLevel(value).then(success).catch(failure);
618
+ }
619
+ }
620
+ /**
621
+ * Fetch the entire contents of log database returned as a String
622
+ */
623
+ static getLog(success, failure) {
624
+ console.warn('[' + TAG + ' getLog] Deprecated. Use BackgroundGeolocation.logger.getLog');
625
+ if (!arguments.length) {
626
+ return Logger.getLog();
627
+ } else {
628
+ Logger.getLog().then(success).catch(failure);
629
+ }
630
+ }
631
+ /**
632
+ * Destroy all contents of log database
633
+ */
634
+ static destroyLog(success, failure) {
635
+ console.warn('[' + TAG + ' destroyLog] Deprecated. Use BackgroundGeolocation.logger.destroyLog');
636
+ if (!arguments.length) {
637
+ return Logger.destroyLog();
638
+ } else {
639
+ Logger.destroyLog().then(success).catch(failure);
640
+ }
641
+ }
642
+ /**
643
+ * Open deafult email client on device to email the contents of log database attached as a compressed file attachement
644
+ */
645
+ static emailLog(email, success, failure) {
646
+ console.warn('[' + TAG + ' emailLog] Deprecated. Use BackgroundGeolocation.logger.emailLog');
647
+ if (typeof(email) != 'string') { throw TAG + "#emailLog requires an email address as 1st argument"}
648
+ if (arguments.length == 1) {
649
+ return Logger.emailLog(email);
650
+ } else {
651
+ Logger.emailLog(email).then(success).catch(failure);
652
+ }
653
+ }
654
+ /**
655
+ * Has device OS initiated power-saving mode?
656
+ */
657
+ static isPowerSaveMode(success, failure) {
658
+ if (!arguments.length) {
659
+ return NativeModule.isPowerSaveMode();
660
+ } else {
661
+ NativeModule.isPowerSaveMode().then(success).catch(failure);
662
+ }
663
+ }
664
+ /**
665
+ * Fetch the state of this device's available motion-sensors
666
+ */
667
+ static getSensors(success, failure) {
668
+ if (!arguments.length) {
669
+ return NativeModule.getSensors();
670
+ } else {
671
+ NativeModule.getSensors().then(success).catch(failure);
672
+ }
673
+ }
674
+ /**
675
+ * Play a system sound via the plugin's Sound API
676
+ */
677
+ static playSound(soundId, success, failure) {
678
+ if (arguments.length == 1) {
679
+ return NativeModule.playSound(soundId);
680
+ } else {
681
+ NativeModule.playSound(soundId).then(success).catch(failure);
682
+ }
683
+ }
684
+
685
+ static findOrCreateTransistorAuthorizationToken(orgname, username, url) {
686
+ return TransistorAuthorizationToken.findOrCreate(orgname, username, url);
687
+ }
688
+
689
+ static destroyTransistorAuthorizationToken(url) {
690
+ return TransistorAuthorizationToken.destroy(url);
691
+ }
692
+
693
+ /**
694
+ * Insert a log message into the plugin's log database
695
+ */
696
+ static get logger() { return Logger; }
697
+
698
+ static getDeviceInfo() {
699
+ return NativeModule.getDeviceInfo();
700
+ }
701
+
702
+ static async transistorTrackerParams() {
703
+ let deviceInfo = await NativeModule.getDeviceInfo();
704
+ deviceInfo.uuid = deviceInfo.model;
705
+ return {
706
+ device: deviceInfo
707
+ };
708
+ }
709
+
710
+ /**
711
+ * Iterate and execute API methods to test validity of method signature for both Standard and Promise API
712
+ */
713
+ static test(delay) {
714
+ test(this, delay);
715
+ }
716
+ }
717
+
718
+ /**
719
+ * Iterate and execute API methods to test validity of method signature for both Standard and Promise API
720
+ */
721
+ var test = function(bgGeo, delay) {
722
+ delay = delay || 250;
723
+
724
+ var methods = [
725
+ ['reset', {debug: true, logLevel: 5}],
726
+ ['setConfig', {distanceFilter: 50}],
727
+ ['setLogLevel', 5],
728
+ ['getLog', null],
729
+ ['emailLog', 'foo@bar.com'],
730
+ ['on', 'location'],
731
+ ['ready', {}],
732
+ ['configure', {debug: true, logLevel: 5, schedule: ['1-7 00:00-23:59']}],
733
+ ['getState', null],
734
+ ['startSchedule', null],
735
+ ['stopSchedule', null],
736
+ ['startGeofences', null],
737
+ ['stop', null],
738
+ ['start', null],
739
+ ['startBackgroundTask', null],
740
+ ['finish', 0],
741
+ ['changePace', true],
742
+ ['getLocations', null],
743
+ ['insertLocation', {}],
744
+ ['sync', null],
745
+ ['getOdometer', null],
746
+ ['setOdometer', 0],
747
+ ['resetOdometer'],
748
+ ['addGeofence', {identifier: 'test-geofence-1', radius: 100, latitude: 0, longitude:0, notifyOnEntry:true}],
749
+ ['addGeofences', [{identifier: 'test-geofence-2', radius: 100, latitude: 0, longitude:0, notifyOnEntry:true}, {identifier: 'test-geofence-3', radius: 100, latitude: 0, longitude:0, notifyOnEntry:true}]],
750
+ ['getGeofences', null],
751
+ ['removeGeofence', 'test-geofence-1'],
752
+ ['removeGeofences', null],
753
+ ['getCurrentPosition', {}],
754
+ ['watchPosition', {}],
755
+ ['stopWatchPosition', null],
756
+ ['isPowerSaveMode', null],
757
+ ['getSensors', null],
758
+ ['playSound', 1509],
759
+ ['destroyLocations', null],
760
+ ['clearDatabase', null],
761
+ ['destroyLog', null],
762
+ ['removeListeners', null]
763
+ ];
764
+
765
+ var createCallback = function(type, method, params) {
766
+ return function(result) {
767
+ console.log('- ' + method + '(' + params + ') - ' + type + ': ', result);
768
+ }
769
+ }
770
+ var executeMethod = function(record) {
771
+ console.log('* Execute method: ', record)
772
+ var method = '' + record[0];
773
+ var params = record[1];
774
+
775
+ var success = createCallback('success', method, params);
776
+ var failure = createCallback('failure', method, params);
777
+
778
+ // Execute Standard API
779
+ try {
780
+ console.log('- Standard API: ' + method);
781
+ if (params == null) {
782
+ bgGeo[method](success, failure);
783
+ } else {
784
+ // Adjust params for different signatures.
785
+ switch (method) {
786
+ case 'watchPosition':
787
+ case 'getCurrentPosition':
788
+ bgGeo[method](success, failure, params);
789
+ break;
790
+ default:
791
+ bgGeo[method](params, success, failure);
792
+ break;
793
+ }
794
+ }
795
+ } catch (e) {
796
+ console.warn(e);
797
+ }
798
+ // Execute Promise API
799
+ setTimeout(function() {
800
+ console.log('- Promise API: ' + method);
801
+ try {
802
+ if (params == null) {
803
+ bgGeo[method]().then(success).catch(failure);
804
+ } else {
805
+ bgGeo[method](params).then(success).catch(failure);
806
+ }
807
+ } catch (e) {
808
+ console.warn(e);
809
+ }
810
+ }, 10);
811
+ }
812
+ // Begin fetching methods.
813
+ var intervalId = setInterval(function() {
814
+ var record = methods.shift();
815
+ if (!record || !methods.length) {
816
+ clearInterval(intervalId);
817
+ console.log('*** TEST COMPLETE ***');
818
+ return;
819
+ }
820
+ executeMethod(record);
821
+ }, delay);
822
+ }