react-native-nitro-background-geolocation 0.1.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 (306) hide show
  1. package/NitroBackgroundGeolocation.podspec +29 -0
  2. package/android/CMakeLists.txt +24 -0
  3. package/android/build.gradle +133 -0
  4. package/android/src/main/AndroidManifest.xml +65 -0
  5. package/android/src/main/cpp/cpp-adapter.cpp +11 -0
  6. package/android/src/main/java/com/margelo/nitro/nitrobackgroundgeolocation/ConfigMapper.kt +332 -0
  7. package/android/src/main/java/com/margelo/nitro/nitrobackgroundgeolocation/HeadlessTaskRegistry.kt +23 -0
  8. package/android/src/main/java/com/margelo/nitro/nitrobackgroundgeolocation/HeadlessTaskService.kt +66 -0
  9. package/android/src/main/java/com/margelo/nitro/nitrobackgroundgeolocation/NitroBackgroundGeolocation.kt +538 -0
  10. package/android/src/main/java/com/margelo/nitro/nitrobackgroundgeolocation/NitroBackgroundGeolocationPackage.kt +22 -0
  11. package/android/src/main/java/com/margelo/nitro/nitrobackgroundgeolocation/ReactNativeHeadlessTaskRunner.kt +62 -0
  12. package/android/src/main/java/com/marianhello/bgloc/BackgroundGeolocationFacade.java +542 -0
  13. package/android/src/main/java/com/marianhello/bgloc/BootCompletedReceiver.java +59 -0
  14. package/android/src/main/java/com/marianhello/bgloc/Config.java +652 -0
  15. package/android/src/main/java/com/marianhello/bgloc/ConnectivityListener.java +5 -0
  16. package/android/src/main/java/com/marianhello/bgloc/HttpPostService.java +168 -0
  17. package/android/src/main/java/com/marianhello/bgloc/LocationManager.java +138 -0
  18. package/android/src/main/java/com/marianhello/bgloc/PluginDelegate.java +19 -0
  19. package/android/src/main/java/com/marianhello/bgloc/PluginException.java +38 -0
  20. package/android/src/main/java/com/marianhello/bgloc/PostLocationTask.java +186 -0
  21. package/android/src/main/java/com/marianhello/bgloc/ResourceResolver.java +55 -0
  22. package/android/src/main/java/com/marianhello/bgloc/data/AbstractLocationTemplate.java +69 -0
  23. package/android/src/main/java/com/marianhello/bgloc/data/ArrayListLocationTemplate.java +88 -0
  24. package/android/src/main/java/com/marianhello/bgloc/data/BackgroundActivity.java +108 -0
  25. package/android/src/main/java/com/marianhello/bgloc/data/BackgroundLocation.java +994 -0
  26. package/android/src/main/java/com/marianhello/bgloc/data/ConfigurationDAO.java +13 -0
  27. package/android/src/main/java/com/marianhello/bgloc/data/DAOFactory.java +17 -0
  28. package/android/src/main/java/com/marianhello/bgloc/data/HashMapLocationTemplate.java +82 -0
  29. package/android/src/main/java/com/marianhello/bgloc/data/LocationDAO.java +22 -0
  30. package/android/src/main/java/com/marianhello/bgloc/data/LocationTemplate.java +12 -0
  31. package/android/src/main/java/com/marianhello/bgloc/data/LocationTemplateFactory.java +65 -0
  32. package/android/src/main/java/com/marianhello/bgloc/data/LocationTransform.java +19 -0
  33. package/android/src/main/java/com/marianhello/bgloc/data/provider/ContentProviderLocationDAO.java +395 -0
  34. package/android/src/main/java/com/marianhello/bgloc/data/provider/LocationContentProvider.java +321 -0
  35. package/android/src/main/java/com/marianhello/bgloc/data/sqlite/SQLiteConfigurationContract.java +76 -0
  36. package/android/src/main/java/com/marianhello/bgloc/data/sqlite/SQLiteConfigurationDAO.java +160 -0
  37. package/android/src/main/java/com/marianhello/bgloc/data/sqlite/SQLiteLocationContract.java +112 -0
  38. package/android/src/main/java/com/marianhello/bgloc/data/sqlite/SQLiteLocationDAO.java +506 -0
  39. package/android/src/main/java/com/marianhello/bgloc/data/sqlite/SQLiteOpenHelper.java +151 -0
  40. package/android/src/main/java/com/marianhello/bgloc/headless/AbstractTaskRunner.java +15 -0
  41. package/android/src/main/java/com/marianhello/bgloc/headless/ActivityTask.java +48 -0
  42. package/android/src/main/java/com/marianhello/bgloc/headless/JsCallback.java +10 -0
  43. package/android/src/main/java/com/marianhello/bgloc/headless/LocationTask.java +61 -0
  44. package/android/src/main/java/com/marianhello/bgloc/headless/StationaryTask.java +25 -0
  45. package/android/src/main/java/com/marianhello/bgloc/headless/Task.java +8 -0
  46. package/android/src/main/java/com/marianhello/bgloc/headless/TaskRunner.java +5 -0
  47. package/android/src/main/java/com/marianhello/bgloc/headless/TaskRunnerFactory.java +8 -0
  48. package/android/src/main/java/com/marianhello/bgloc/provider/AbstractLocationProvider.java +171 -0
  49. package/android/src/main/java/com/marianhello/bgloc/provider/ActivityRecognitionLocationProvider.java +280 -0
  50. package/android/src/main/java/com/marianhello/bgloc/provider/DistanceFilterLocationProvider.java +586 -0
  51. package/android/src/main/java/com/marianhello/bgloc/provider/LocationProvider.java +32 -0
  52. package/android/src/main/java/com/marianhello/bgloc/provider/LocationProviderFactory.java +47 -0
  53. package/android/src/main/java/com/marianhello/bgloc/provider/ProviderDelegate.java +12 -0
  54. package/android/src/main/java/com/marianhello/bgloc/provider/RawLocationProvider.java +142 -0
  55. package/android/src/main/java/com/marianhello/bgloc/service/LocationService.java +17 -0
  56. package/android/src/main/java/com/marianhello/bgloc/service/LocationServiceImpl.java +760 -0
  57. package/android/src/main/java/com/marianhello/bgloc/service/LocationServiceInfo.java +6 -0
  58. package/android/src/main/java/com/marianhello/bgloc/service/LocationServiceInfoImpl.java +41 -0
  59. package/android/src/main/java/com/marianhello/bgloc/service/LocationServiceIntentBuilder.java +203 -0
  60. package/android/src/main/java/com/marianhello/bgloc/service/LocationServiceProxy.java +140 -0
  61. package/android/src/main/java/com/marianhello/bgloc/sync/AccountHelper.java +39 -0
  62. package/android/src/main/java/com/marianhello/bgloc/sync/Authenticator.java +68 -0
  63. package/android/src/main/java/com/marianhello/bgloc/sync/AuthenticatorService.java +28 -0
  64. package/android/src/main/java/com/marianhello/bgloc/sync/BatchManager.java +246 -0
  65. package/android/src/main/java/com/marianhello/bgloc/sync/NotificationHelper.java +148 -0
  66. package/android/src/main/java/com/marianhello/bgloc/sync/SyncAdapter.java +233 -0
  67. package/android/src/main/java/com/marianhello/bgloc/sync/SyncService.java +68 -0
  68. package/android/src/main/java/com/marianhello/logging/DBLogReader.java +203 -0
  69. package/android/src/main/java/com/marianhello/logging/LogEntry.java +99 -0
  70. package/android/src/main/java/com/marianhello/logging/LoggerManager.java +70 -0
  71. package/android/src/main/java/com/marianhello/logging/UncaughtExceptionLogger.java +36 -0
  72. package/android/src/main/java/com/marianhello/utils/CloneHelper.java +22 -0
  73. package/android/src/main/java/com/marianhello/utils/Convert.java +56 -0
  74. package/android/src/main/java/com/marianhello/utils/TextUtils.java +72 -0
  75. package/android/src/main/java/com/marianhello/utils/ToneGenerator.java +68 -0
  76. package/android/src/main/java/org/apache/commons/io/Charsets.java +153 -0
  77. package/android/src/main/java/org/apache/commons/io/input/ReversedLinesFileReader.java +344 -0
  78. package/android/src/main/java/org/chromium/content/browser/ThreadUtils.java +134 -0
  79. package/android/src/main/java/ru/andremoniy/sqlbuilder/SqlExpression.java +398 -0
  80. package/android/src/main/java/ru/andremoniy/sqlbuilder/SqlSelectStatement.java +671 -0
  81. package/android/src/main/java/ru/andremoniy/sqlbuilder/SqlStatement.java +29 -0
  82. package/android/src/main/java/ru/andremoniy/utils/TextUtils.java +61 -0
  83. package/android/src/main/res/values/strings.xml +6 -0
  84. package/android/src/main/res/xml/authenticator.xml +7 -0
  85. package/android/src/main/res/xml/syncadapter.xml +9 -0
  86. package/app.plugin.js +64 -0
  87. package/ios/NitroBackgroundGeolocation.swift +719 -0
  88. package/ios/NitroBackgroundGeolocationBootstrap.m +98 -0
  89. package/ios/common/BackgroundGeolocation/CocoaLumberjack.h +1945 -0
  90. package/ios/common/BackgroundGeolocation/CocoaLumberjack.m +5255 -0
  91. package/ios/common/BackgroundGeolocation/FMDB.h +2357 -0
  92. package/ios/common/BackgroundGeolocation/FMDB.m +2672 -0
  93. package/ios/common/BackgroundGeolocation/FMDBLogger.h +42 -0
  94. package/ios/common/BackgroundGeolocation/FMDBLogger.m +264 -0
  95. package/ios/common/BackgroundGeolocation/INTULocationManager/INTUHeadingRequest.h +41 -0
  96. package/ios/common/BackgroundGeolocation/INTULocationManager/INTUHeadingRequest.m +68 -0
  97. package/ios/common/BackgroundGeolocation/INTULocationManager/INTULocationManager+Internal.h +33 -0
  98. package/ios/common/BackgroundGeolocation/INTULocationManager/INTULocationManager.h +178 -0
  99. package/ios/common/BackgroundGeolocation/INTULocationManager/INTULocationManager.m +1025 -0
  100. package/ios/common/BackgroundGeolocation/INTULocationManager/INTULocationRequest.h +103 -0
  101. package/ios/common/BackgroundGeolocation/INTULocationManager/INTULocationRequest.m +238 -0
  102. package/ios/common/BackgroundGeolocation/INTULocationManager/INTULocationRequestDefines.h +163 -0
  103. package/ios/common/BackgroundGeolocation/INTULocationManager/INTURequestIDGenerator.h +39 -0
  104. package/ios/common/BackgroundGeolocation/INTULocationManager/INTURequestIDGenerator.m +37 -0
  105. package/ios/common/BackgroundGeolocation/MAURAbstractLocationProvider.h +51 -0
  106. package/ios/common/BackgroundGeolocation/MAURAbstractLocationProvider.m +53 -0
  107. package/ios/common/BackgroundGeolocation/MAURActivity.h +23 -0
  108. package/ios/common/BackgroundGeolocation/MAURActivity.m +52 -0
  109. package/ios/common/BackgroundGeolocation/MAURActivityLocationProvider.h +18 -0
  110. package/ios/common/BackgroundGeolocation/MAURActivityLocationProvider.m +202 -0
  111. package/ios/common/BackgroundGeolocation/MAURBackgroundGeolocationFacade.h +62 -0
  112. package/ios/common/BackgroundGeolocation/MAURBackgroundGeolocationFacade.m +650 -0
  113. package/ios/common/BackgroundGeolocation/MAURBackgroundSync.h +34 -0
  114. package/ios/common/BackgroundGeolocation/MAURBackgroundSync.m +184 -0
  115. package/ios/common/BackgroundGeolocation/MAURBackgroundTaskManager.h +25 -0
  116. package/ios/common/BackgroundGeolocation/MAURBackgroundTaskManager.m +105 -0
  117. package/ios/common/BackgroundGeolocation/MAURConfig.h +74 -0
  118. package/ios/common/BackgroundGeolocation/MAURConfig.m +485 -0
  119. package/ios/common/BackgroundGeolocation/MAURConfigurationContract.h +49 -0
  120. package/ios/common/BackgroundGeolocation/MAURConfigurationContract.m +51 -0
  121. package/ios/common/BackgroundGeolocation/MAURDistanceFilterLocationProvider.h +20 -0
  122. package/ios/common/BackgroundGeolocation/MAURDistanceFilterLocationProvider.m +523 -0
  123. package/ios/common/BackgroundGeolocation/MAURGeolocationOpenHelper.h +17 -0
  124. package/ios/common/BackgroundGeolocation/MAURGeolocationOpenHelper.m +97 -0
  125. package/ios/common/BackgroundGeolocation/MAURLocation.h +59 -0
  126. package/ios/common/BackgroundGeolocation/MAURLocation.m +349 -0
  127. package/ios/common/BackgroundGeolocation/MAURLocationContract.h +34 -0
  128. package/ios/common/BackgroundGeolocation/MAURLocationContract.m +35 -0
  129. package/ios/common/BackgroundGeolocation/MAURLocationManager.h +53 -0
  130. package/ios/common/BackgroundGeolocation/MAURLocationManager.m +308 -0
  131. package/ios/common/BackgroundGeolocation/MAURLogReader.h +26 -0
  132. package/ios/common/BackgroundGeolocation/MAURLogReader.m +122 -0
  133. package/ios/common/BackgroundGeolocation/MAURLogging.h +19 -0
  134. package/ios/common/BackgroundGeolocation/MAURPostLocationTask.h +40 -0
  135. package/ios/common/BackgroundGeolocation/MAURPostLocationTask.m +218 -0
  136. package/ios/common/BackgroundGeolocation/MAURProviderDelegate.h +52 -0
  137. package/ios/common/BackgroundGeolocation/MAURRawLocationProvider.h +18 -0
  138. package/ios/common/BackgroundGeolocation/MAURRawLocationProvider.m +129 -0
  139. package/ios/common/BackgroundGeolocation/MAURSQLiteConfigurationDAO.h +26 -0
  140. package/ios/common/BackgroundGeolocation/MAURSQLiteConfigurationDAO.m +278 -0
  141. package/ios/common/BackgroundGeolocation/MAURSQLiteHelper.h +57 -0
  142. package/ios/common/BackgroundGeolocation/MAURSQLiteHelper.m +93 -0
  143. package/ios/common/BackgroundGeolocation/MAURSQLiteLocationDAO.h +38 -0
  144. package/ios/common/BackgroundGeolocation/MAURSQLiteLocationDAO.m +380 -0
  145. package/ios/common/BackgroundGeolocation/MAURSQLiteOpenHelper.h +32 -0
  146. package/ios/common/BackgroundGeolocation/MAURSQLiteOpenHelper.m +276 -0
  147. package/ios/common/BackgroundGeolocation/MAURUncaughtExceptionLogger.h +20 -0
  148. package/ios/common/BackgroundGeolocation/MAURUncaughtExceptionLogger.m +62 -0
  149. package/ios/common/BackgroundGeolocation/Reachability.h +102 -0
  150. package/ios/common/BackgroundGeolocation/Reachability.m +474 -0
  151. package/ios/common/BackgroundGeolocation/SOMotionDetector/SOLocationManager.h +80 -0
  152. package/ios/common/BackgroundGeolocation/SOMotionDetector/SOLocationManager.m +147 -0
  153. package/ios/common/BackgroundGeolocation/SOMotionDetector/SOMotionActivity.h +30 -0
  154. package/ios/common/BackgroundGeolocation/SOMotionDetector/SOMotionActivity.m +42 -0
  155. package/ios/common/BackgroundGeolocation/SOMotionDetector/SOMotionDetector.h +99 -0
  156. package/ios/common/BackgroundGeolocation/SOMotionDetector/SOMotionDetector.m +327 -0
  157. package/ios/common/BackgroundGeolocation/SOMotionDetector/SOStepDetector.h +44 -0
  158. package/ios/common/BackgroundGeolocation/SOMotionDetector/SOStepDetector.m +94 -0
  159. package/ios/common/BackgroundGeolocation/SQLQueryBuilder/ext/NSString+ZIMString.h +55 -0
  160. package/ios/common/BackgroundGeolocation/SQLQueryBuilder/ext/NSString+ZIMString.m +47 -0
  161. package/ios/common/BackgroundGeolocation/SQLQueryBuilder/sql/ZIMSqlDataManipulationCommand.h +27 -0
  162. package/ios/common/BackgroundGeolocation/SQLQueryBuilder/sql/ZIMSqlExpression.h +250 -0
  163. package/ios/common/BackgroundGeolocation/SQLQueryBuilder/sql/ZIMSqlExpression.m +259 -0
  164. package/ios/common/BackgroundGeolocation/SQLQueryBuilder/sql/ZIMSqlSelectStatement.h +360 -0
  165. package/ios/common/BackgroundGeolocation/SQLQueryBuilder/sql/ZIMSqlSelectStatement.m +427 -0
  166. package/ios/common/BackgroundGeolocation/SQLQueryBuilder/sql/ZIMSqlStatement.h +37 -0
  167. package/lib/module/NitroBackgroundGeolocation.nitro.js +172 -0
  168. package/lib/module/NitroBackgroundGeolocation.nitro.js.map +1 -0
  169. package/lib/module/headless.js +72 -0
  170. package/lib/module/headless.js.map +1 -0
  171. package/lib/module/index.js +60 -0
  172. package/lib/module/index.js.map +1 -0
  173. package/lib/module/package.json +1 -0
  174. package/lib/typescript/package.json +1 -0
  175. package/lib/typescript/src/NitroBackgroundGeolocation.nitro.d.ts +616 -0
  176. package/lib/typescript/src/NitroBackgroundGeolocation.nitro.d.ts.map +1 -0
  177. package/lib/typescript/src/headless.d.ts +40 -0
  178. package/lib/typescript/src/headless.d.ts.map +1 -0
  179. package/lib/typescript/src/index.d.ts +8 -0
  180. package/lib/typescript/src/index.d.ts.map +1 -0
  181. package/nitro.json +23 -0
  182. package/nitrogen/generated/android/c++/JActivity.hpp +61 -0
  183. package/nitrogen/generated/android/c++/JAuthorizationStatus.hpp +61 -0
  184. package/nitrogen/generated/android/c++/JBackgroundGeolocationError.hpp +61 -0
  185. package/nitrogen/generated/android/c++/JConfigureOptions.hpp +179 -0
  186. package/nitrogen/generated/android/c++/JFunc_void.hpp +75 -0
  187. package/nitrogen/generated/android/c++/JFunc_void_Activity.hpp +78 -0
  188. package/nitrogen/generated/android/c++/JFunc_void_AuthorizationStatus.hpp +77 -0
  189. package/nitrogen/generated/android/c++/JFunc_void_BackgroundGeolocationError.hpp +78 -0
  190. package/nitrogen/generated/android/c++/JFunc_void_Location.hpp +78 -0
  191. package/nitrogen/generated/android/c++/JFunc_void_StationaryLocation.hpp +78 -0
  192. package/nitrogen/generated/android/c++/JHybridNitroBackgroundGeolocationSpec.cpp +530 -0
  193. package/nitrogen/generated/android/c++/JHybridNitroBackgroundGeolocationSpec.hpp +90 -0
  194. package/nitrogen/generated/android/c++/JLocation.hpp +105 -0
  195. package/nitrogen/generated/android/c++/JLocationAccuracy.hpp +64 -0
  196. package/nitrogen/generated/android/c++/JLocationOptions.hpp +65 -0
  197. package/nitrogen/generated/android/c++/JLocationProvider.hpp +61 -0
  198. package/nitrogen/generated/android/c++/JLogEntry.hpp +73 -0
  199. package/nitrogen/generated/android/c++/JNativeLogLevel.hpp +67 -0
  200. package/nitrogen/generated/android/c++/JServiceStatus.hpp +66 -0
  201. package/nitrogen/generated/android/c++/JStationaryLocation.hpp +109 -0
  202. package/nitrogen/generated/android/c++/JVariant_NullType_AnyMap.cpp +26 -0
  203. package/nitrogen/generated/android/c++/JVariant_NullType_AnyMap.hpp +71 -0
  204. package/nitrogen/generated/android/c++/JVariant_NullType_Boolean.cpp +26 -0
  205. package/nitrogen/generated/android/c++/JVariant_NullType_Boolean.hpp +69 -0
  206. package/nitrogen/generated/android/c++/JVariant_NullType_Double.cpp +26 -0
  207. package/nitrogen/generated/android/c++/JVariant_NullType_Double.hpp +69 -0
  208. package/nitrogen/generated/android/c++/JVariant_NullType_LocationAccuracy.cpp +26 -0
  209. package/nitrogen/generated/android/c++/JVariant_NullType_LocationAccuracy.hpp +71 -0
  210. package/nitrogen/generated/android/c++/JVariant_NullType_LocationProvider.cpp +26 -0
  211. package/nitrogen/generated/android/c++/JVariant_NullType_LocationProvider.hpp +71 -0
  212. package/nitrogen/generated/android/c++/JVariant_NullType_Map_String__String_.cpp +33 -0
  213. package/nitrogen/generated/android/c++/JVariant_NullType_Map_String__String_.hpp +77 -0
  214. package/nitrogen/generated/android/c++/JVariant_NullType_String.cpp +26 -0
  215. package/nitrogen/generated/android/c++/JVariant_NullType_String.hpp +70 -0
  216. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrobackgroundgeolocation/Activity.kt +56 -0
  217. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrobackgroundgeolocation/AuthorizationStatus.kt +24 -0
  218. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrobackgroundgeolocation/BackgroundGeolocationError.kt +56 -0
  219. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrobackgroundgeolocation/ConfigureOptions.kt +182 -0
  220. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrobackgroundgeolocation/Func_void.kt +80 -0
  221. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrobackgroundgeolocation/Func_void_Activity.kt +80 -0
  222. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrobackgroundgeolocation/Func_void_AuthorizationStatus.kt +80 -0
  223. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrobackgroundgeolocation/Func_void_BackgroundGeolocationError.kt +80 -0
  224. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrobackgroundgeolocation/Func_void_Location.kt +80 -0
  225. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrobackgroundgeolocation/Func_void_StationaryLocation.kt +80 -0
  226. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrobackgroundgeolocation/HybridNitroBackgroundGeolocationSpec.kt +218 -0
  227. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrobackgroundgeolocation/Location.kt +111 -0
  228. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrobackgroundgeolocation/LocationAccuracy.kt +25 -0
  229. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrobackgroundgeolocation/LocationOptions.kt +61 -0
  230. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrobackgroundgeolocation/LocationProvider.kt +24 -0
  231. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrobackgroundgeolocation/LogEntry.kt +71 -0
  232. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrobackgroundgeolocation/NativeLogLevel.kt +26 -0
  233. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrobackgroundgeolocation/ServiceStatus.kt +61 -0
  234. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrobackgroundgeolocation/StationaryLocation.kt +116 -0
  235. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrobackgroundgeolocation/Variant_NullType_AnyMap.kt +63 -0
  236. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrobackgroundgeolocation/Variant_NullType_Boolean.kt +62 -0
  237. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrobackgroundgeolocation/Variant_NullType_Double.kt +62 -0
  238. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrobackgroundgeolocation/Variant_NullType_LocationAccuracy.kt +62 -0
  239. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrobackgroundgeolocation/Variant_NullType_LocationProvider.kt +62 -0
  240. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrobackgroundgeolocation/Variant_NullType_Map_String__String_.kt +62 -0
  241. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrobackgroundgeolocation/Variant_NullType_String.kt +62 -0
  242. package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrobackgroundgeolocation/nitrobackgroundgeolocationOnLoad.kt +35 -0
  243. package/nitrogen/generated/android/nitrobackgroundgeolocation+autolinking.cmake +88 -0
  244. package/nitrogen/generated/android/nitrobackgroundgeolocation+autolinking.gradle +27 -0
  245. package/nitrogen/generated/android/nitrobackgroundgeolocationOnLoad.cpp +66 -0
  246. package/nitrogen/generated/android/nitrobackgroundgeolocationOnLoad.hpp +34 -0
  247. package/nitrogen/generated/ios/NitroBackgroundGeolocation+autolinking.rb +62 -0
  248. package/nitrogen/generated/ios/NitroBackgroundGeolocation-Swift-Cxx-Bridge.cpp +129 -0
  249. package/nitrogen/generated/ios/NitroBackgroundGeolocation-Swift-Cxx-Bridge.hpp +911 -0
  250. package/nitrogen/generated/ios/NitroBackgroundGeolocation-Swift-Cxx-Umbrella.hpp +88 -0
  251. package/nitrogen/generated/ios/NitroBackgroundGeolocationAutolinking.mm +33 -0
  252. package/nitrogen/generated/ios/NitroBackgroundGeolocationAutolinking.swift +26 -0
  253. package/nitrogen/generated/ios/c++/HybridNitroBackgroundGeolocationSpecSwift.cpp +11 -0
  254. package/nitrogen/generated/ios/c++/HybridNitroBackgroundGeolocationSpecSwift.hpp +335 -0
  255. package/nitrogen/generated/ios/swift/Activity.swift +34 -0
  256. package/nitrogen/generated/ios/swift/AuthorizationStatus.swift +44 -0
  257. package/nitrogen/generated/ios/swift/BackgroundGeolocationError.swift +34 -0
  258. package/nitrogen/generated/ios/swift/ConfigureOptions.swift +1037 -0
  259. package/nitrogen/generated/ios/swift/Func_void.swift +46 -0
  260. package/nitrogen/generated/ios/swift/Func_void_Activity.swift +46 -0
  261. package/nitrogen/generated/ios/swift/Func_void_AuthorizationStatus.swift +46 -0
  262. package/nitrogen/generated/ios/swift/Func_void_BackgroundGeolocationError.swift +46 -0
  263. package/nitrogen/generated/ios/swift/Func_void_ConfigureOptions.swift +46 -0
  264. package/nitrogen/generated/ios/swift/Func_void_Location.swift +46 -0
  265. package/nitrogen/generated/ios/swift/Func_void_ServiceStatus.swift +46 -0
  266. package/nitrogen/generated/ios/swift/Func_void_StationaryLocation.swift +46 -0
  267. package/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift +46 -0
  268. package/nitrogen/generated/ios/swift/Func_void_std__optional_StationaryLocation_.swift +46 -0
  269. package/nitrogen/generated/ios/swift/Func_void_std__vector_Location_.swift +46 -0
  270. package/nitrogen/generated/ios/swift/Func_void_std__vector_LogEntry_.swift +46 -0
  271. package/nitrogen/generated/ios/swift/HybridNitroBackgroundGeolocationSpec.swift +82 -0
  272. package/nitrogen/generated/ios/swift/HybridNitroBackgroundGeolocationSpec_cxx.swift +675 -0
  273. package/nitrogen/generated/ios/swift/Location.swift +89 -0
  274. package/nitrogen/generated/ios/swift/LocationAccuracy.swift +48 -0
  275. package/nitrogen/generated/ios/swift/LocationOptions.swift +78 -0
  276. package/nitrogen/generated/ios/swift/LocationProvider.swift +44 -0
  277. package/nitrogen/generated/ios/swift/LogEntry.swift +49 -0
  278. package/nitrogen/generated/ios/swift/NativeLogLevel.swift +52 -0
  279. package/nitrogen/generated/ios/swift/ServiceStatus.swift +39 -0
  280. package/nitrogen/generated/ios/swift/StationaryLocation.swift +94 -0
  281. package/nitrogen/generated/ios/swift/Variant_NullType_AnyMap.swift +30 -0
  282. package/nitrogen/generated/ios/swift/Variant_NullType_Bool.swift +30 -0
  283. package/nitrogen/generated/ios/swift/Variant_NullType_Dictionary_String__String_.swift +30 -0
  284. package/nitrogen/generated/ios/swift/Variant_NullType_Double.swift +30 -0
  285. package/nitrogen/generated/ios/swift/Variant_NullType_LocationAccuracy.swift +30 -0
  286. package/nitrogen/generated/ios/swift/Variant_NullType_LocationProvider.swift +30 -0
  287. package/nitrogen/generated/ios/swift/Variant_NullType_String.swift +30 -0
  288. package/nitrogen/generated/shared/c++/Activity.hpp +87 -0
  289. package/nitrogen/generated/shared/c++/AuthorizationStatus.hpp +63 -0
  290. package/nitrogen/generated/shared/c++/BackgroundGeolocationError.hpp +87 -0
  291. package/nitrogen/generated/shared/c++/ConfigureOptions.hpp +197 -0
  292. package/nitrogen/generated/shared/c++/HybridNitroBackgroundGeolocationSpec.cpp +48 -0
  293. package/nitrogen/generated/shared/c++/HybridNitroBackgroundGeolocationSpec.hpp +121 -0
  294. package/nitrogen/generated/shared/c++/Location.hpp +131 -0
  295. package/nitrogen/generated/shared/c++/LocationAccuracy.hpp +69 -0
  296. package/nitrogen/generated/shared/c++/LocationOptions.hpp +91 -0
  297. package/nitrogen/generated/shared/c++/LocationProvider.hpp +63 -0
  298. package/nitrogen/generated/shared/c++/LogEntry.hpp +99 -0
  299. package/nitrogen/generated/shared/c++/NativeLogLevel.hpp +65 -0
  300. package/nitrogen/generated/shared/c++/ServiceStatus.hpp +92 -0
  301. package/nitrogen/generated/shared/c++/StationaryLocation.hpp +135 -0
  302. package/package.json +112 -0
  303. package/react-native.config.js +10 -0
  304. package/src/NitroBackgroundGeolocation.nitro.ts +656 -0
  305. package/src/headless.ts +91 -0
  306. package/src/index.tsx +100 -0
@@ -0,0 +1,485 @@
1
+ //
2
+ // MAURConfig.m
3
+ // BackgroundGeolocation
4
+ //
5
+ // Created by Marian Hello on 11/06/16.
6
+ //
7
+
8
+ #import "MAURConfig.h"
9
+
10
+ #define isNull(value) (value == nil || value == (id)[NSNull null])
11
+ #define isNotNull(value) (value != nil && value != (id)[NSNull null])
12
+
13
+ @implementation MAURConfig
14
+
15
+ @synthesize stationaryRadius, distanceFilter, desiredAccuracy, _debug, activityType, activitiesInterval, _stopOnTerminate, url, syncUrl, syncThreshold, httpHeaders, _saveBatteryOnBackground, maxLocations, _pauseLocationUpdates, locationProvider, _template;
16
+
17
+ -(instancetype) initWithDefaults {
18
+ self = [super init];
19
+
20
+ if (self == nil) {
21
+ return self;
22
+ }
23
+
24
+ stationaryRadius = [NSNumber numberWithInt:50];
25
+ distanceFilter = [NSNumber numberWithInt:500];
26
+ desiredAccuracy = [NSNumber numberWithInt:100];
27
+ _debug = [NSNumber numberWithBool:NO];
28
+ activityType = @"OtherNavigation";
29
+ activitiesInterval = [NSNumber numberWithInt:10000];
30
+ _stopOnTerminate = [NSNumber numberWithBool:YES];
31
+ _saveBatteryOnBackground = [NSNumber numberWithBool:NO];
32
+ maxLocations = [NSNumber numberWithInt:10000];
33
+ syncThreshold = [NSNumber numberWithInt:100];
34
+ _pauseLocationUpdates = [NSNumber numberWithBool:NO];
35
+ locationProvider = [NSNumber numberWithInt:DISTANCE_FILTER_PROVIDER];
36
+ // template =
37
+
38
+ return self;
39
+ }
40
+
41
+ +(instancetype) fromDictionary:(NSDictionary*)config
42
+ {
43
+ MAURConfig *instance = [[MAURConfig alloc] init];
44
+
45
+ if (isNotNull(config[@"stationaryRadius"])) {
46
+ instance.stationaryRadius = config[@"stationaryRadius"];
47
+ }
48
+ if (isNotNull(config[@"distanceFilter"])) {
49
+ instance.distanceFilter = config[@"distanceFilter"];
50
+ }
51
+ if (isNotNull(config[@"desiredAccuracy"])) {
52
+ instance.desiredAccuracy = config[@"desiredAccuracy"];
53
+ }
54
+ if (isNotNull(config[@"debug"])) {
55
+ instance._debug = config[@"debug"];
56
+ }
57
+ if (isNotNull(config[@"activityType"])) {
58
+ instance.activityType = config[@"activityType"];
59
+ }
60
+ if (isNull(config[@"activitiesInterval"])) {
61
+ instance.activitiesInterval = config[@"activitiesInterval"];
62
+ }
63
+ if (isNotNull(config[@"stopOnTerminate"])) {
64
+ instance._stopOnTerminate = config[@"stopOnTerminate"];
65
+ }
66
+ if (config[@"url"] != nil) {
67
+ instance.url = config[@"url"];
68
+ }
69
+ if (config[@"syncUrl"] != nil) {
70
+ instance.syncUrl = config[@"syncUrl"];
71
+ }
72
+ if (isNotNull(config[@"syncThreshold"])) {
73
+ instance.syncThreshold = config[@"syncThreshold"];
74
+ }
75
+ if (config[@"httpHeaders"] != nil) {
76
+ instance.httpHeaders = config[@"httpHeaders"];
77
+ }
78
+ if (isNotNull(config[@"saveBatteryOnBackground"])) {
79
+ instance._saveBatteryOnBackground = config[@"saveBatteryOnBackground"];
80
+ }
81
+ if (isNotNull(config[@"maxLocations"])) {
82
+ instance.maxLocations = config[@"maxLocations"];
83
+ }
84
+ if (isNotNull(config[@"pauseLocationUpdates"])) {
85
+ instance._pauseLocationUpdates = config[@"pauseLocationUpdates"];
86
+ }
87
+ if (isNotNull(config[@"locationProvider"])) {
88
+ instance.locationProvider = config[@"locationProvider"];
89
+ }
90
+ if (config[@"postTemplate"] != nil) {
91
+ instance._template = config[@"postTemplate"];
92
+ }
93
+
94
+ return instance;
95
+ }
96
+
97
+ + (instancetype) merge:(MAURConfig*)config withConfig:(MAURConfig*)newConfig
98
+ {
99
+ if (config == nil) {
100
+ return newConfig;
101
+ }
102
+
103
+ if (newConfig == nil) {
104
+ return config;
105
+ }
106
+
107
+ MAURConfig *merger= [config copy];
108
+
109
+ if ([newConfig hasStationaryRadius]) {
110
+ merger.stationaryRadius = newConfig.stationaryRadius;
111
+ }
112
+ if ([newConfig hasDistanceFilter]) {
113
+ merger.distanceFilter = newConfig.distanceFilter;
114
+ }
115
+ if ([newConfig hasDesiredAccuracy]) {
116
+ merger.desiredAccuracy = newConfig.desiredAccuracy;
117
+ }
118
+ if ([newConfig hasDebug]) {
119
+ merger._debug = newConfig._debug;
120
+ }
121
+ if ([newConfig hasActivityType]) {
122
+ merger.activityType = newConfig.activityType;
123
+ }
124
+ if ([newConfig hasActivitiesInterval]) {
125
+ merger.activitiesInterval = newConfig.activitiesInterval;
126
+ }
127
+ if ([newConfig hasStopOnTerminate]) {
128
+ merger._stopOnTerminate = newConfig._stopOnTerminate;
129
+ }
130
+ if ([newConfig hasUrl]) {
131
+ merger.url = newConfig.url;
132
+ }
133
+ if ([newConfig hasSyncUrl]) {
134
+ merger.syncUrl = newConfig.syncUrl;
135
+ }
136
+ if ([newConfig hasSyncThreshold]) {
137
+ merger.syncThreshold = newConfig.syncThreshold;
138
+ }
139
+ if ([newConfig hasHttpHeaders]) {
140
+ merger.httpHeaders = newConfig.httpHeaders;
141
+ }
142
+ if ([newConfig hasSaveBatteryOnBackground]) {
143
+ merger._saveBatteryOnBackground = newConfig._saveBatteryOnBackground;
144
+ }
145
+ if ([newConfig hasMaxLocations]) {
146
+ merger.maxLocations = newConfig.maxLocations;
147
+ }
148
+ if ([newConfig hasPauseLocationUpdates]) {
149
+ merger._pauseLocationUpdates = newConfig._pauseLocationUpdates;
150
+ }
151
+ if ([newConfig hasLocationProvider]) {
152
+ merger.locationProvider = newConfig.locationProvider;
153
+ }
154
+ if ([newConfig hasTemplate]) {
155
+ merger._template = newConfig._template;
156
+ }
157
+
158
+ return merger;
159
+ }
160
+
161
+ -(id) copyWithZone: (NSZone *) zone
162
+ {
163
+ MAURConfig *copy = [[[self class] allocWithZone: zone] init];
164
+ if (copy) {
165
+ copy.stationaryRadius = stationaryRadius;
166
+ copy.distanceFilter = distanceFilter;
167
+ copy.desiredAccuracy = desiredAccuracy;
168
+ copy._debug = _debug;
169
+ copy.activityType = activityType;
170
+ copy.activitiesInterval = activitiesInterval;
171
+ copy._stopOnTerminate = _stopOnTerminate;
172
+ copy.url = url;
173
+ copy.syncUrl = syncUrl;
174
+ copy.syncThreshold = syncThreshold;
175
+ copy.httpHeaders = httpHeaders;
176
+ copy._saveBatteryOnBackground = _saveBatteryOnBackground;
177
+ copy.maxLocations = maxLocations;
178
+ copy._pauseLocationUpdates = _pauseLocationUpdates;
179
+ copy.locationProvider = locationProvider;
180
+ copy._template = _template;
181
+ }
182
+
183
+ return copy;
184
+ }
185
+
186
+ - (BOOL) hasStationaryRadius
187
+ {
188
+ return stationaryRadius != nil;
189
+ }
190
+
191
+ - (BOOL) hasDistanceFilter
192
+ {
193
+ return distanceFilter != nil;
194
+ }
195
+
196
+ - (BOOL) hasDesiredAccuracy
197
+ {
198
+ return desiredAccuracy != nil;
199
+ }
200
+
201
+ - (BOOL) hasDebug
202
+ {
203
+ return _debug != nil;
204
+ }
205
+
206
+ - (BOOL) hasActivityType
207
+ {
208
+ return activityType != nil;
209
+ }
210
+
211
+ - (BOOL) hasActivitiesInterval
212
+ {
213
+ return activitiesInterval != nil;
214
+ }
215
+
216
+ - (BOOL) hasStopOnTerminate
217
+ {
218
+ return _stopOnTerminate != nil;
219
+ }
220
+
221
+ - (BOOL) hasUrl
222
+ {
223
+ return url != nil;
224
+ }
225
+
226
+ - (BOOL) hasValidUrl
227
+ {
228
+ return url != nil && url.length > 0;
229
+ }
230
+
231
+ - (void) setUrl:(NSString*)newUrl
232
+ {
233
+ if (newUrl == (id)[NSNull null]) {
234
+ url = @"";
235
+ } else {
236
+ url = newUrl;
237
+ }
238
+ }
239
+
240
+ - (NSString*) url
241
+ {
242
+ if (url == nil) {
243
+ url = @"";
244
+ }
245
+ return url;
246
+ }
247
+
248
+ - (BOOL) hasSyncUrl
249
+ {
250
+ return syncUrl != nil;
251
+ }
252
+
253
+ - (BOOL) hasValidSyncUrl
254
+ {
255
+ return syncUrl != nil && syncUrl.length > 0;
256
+ }
257
+
258
+ - (void) setSyncUrl:(NSString*)newSyncUrl
259
+ {
260
+ if (newSyncUrl == (id)[NSNull null]) {
261
+ syncUrl = @"";
262
+ } else {
263
+ syncUrl = newSyncUrl;
264
+ }
265
+ }
266
+
267
+ - (NSString*) syncUrl
268
+ {
269
+ if (syncUrl == nil) {
270
+ syncUrl = @"";
271
+ }
272
+ return syncUrl;
273
+ }
274
+
275
+ - (BOOL) hasSyncThreshold
276
+ {
277
+ return syncThreshold != nil;
278
+ }
279
+
280
+ - (BOOL) hasHttpHeaders
281
+ {
282
+ return httpHeaders != nil;
283
+ }
284
+
285
+ - (void) setHttpHeaders:(NSMutableDictionary *)newHttpHeaders
286
+ {
287
+ if (newHttpHeaders == (id)[NSNull null]) {
288
+ httpHeaders = [[NSMutableDictionary alloc] init];
289
+ } else {
290
+ httpHeaders = newHttpHeaders;
291
+ }
292
+ }
293
+
294
+ - (NSMutableDictionary *) httpHeaders
295
+ {
296
+ if (httpHeaders == nil) {
297
+ httpHeaders = [[NSMutableDictionary alloc] init];
298
+ }
299
+ return httpHeaders;
300
+ }
301
+
302
+ - (BOOL) hasSaveBatteryOnBackground
303
+ {
304
+ return _saveBatteryOnBackground != nil;
305
+ }
306
+
307
+ - (BOOL) hasMaxLocations
308
+ {
309
+ return maxLocations != nil;
310
+ }
311
+
312
+ - (BOOL) hasPauseLocationUpdates
313
+ {
314
+ return _pauseLocationUpdates != nil;
315
+ }
316
+
317
+ - (BOOL) hasLocationProvider
318
+ {
319
+ return locationProvider != nil;
320
+ }
321
+
322
+ - (BOOL) hasTemplate
323
+ {
324
+ return _template != nil;
325
+ }
326
+
327
+ - (void) set_template:(NSObject*)template
328
+ {
329
+ if (template == (id)[NSNull null]) {
330
+ _template = [MAURConfig getDefaultTemplate];
331
+ } else {
332
+ _template = template;
333
+ }
334
+ }
335
+
336
+ - (NSObject*) _template{
337
+ if (_template == nil) {
338
+ _template = [MAURConfig getDefaultTemplate];
339
+ }
340
+ return _template;
341
+ }
342
+
343
+ - (BOOL) isDebugging
344
+ {
345
+ return _debug.boolValue;
346
+ }
347
+
348
+ - (BOOL) stopOnTerminate
349
+ {
350
+ return _stopOnTerminate.boolValue;
351
+ }
352
+
353
+ - (BOOL) saveBatteryOnBackground
354
+ {
355
+ return _saveBatteryOnBackground.boolValue;
356
+ }
357
+
358
+ - (BOOL) pauseLocationUpdates
359
+ {
360
+ return _pauseLocationUpdates.boolValue;
361
+ }
362
+
363
+ - (CLActivityType) decodeActivityType
364
+ {
365
+ if ([activityType caseInsensitiveCompare:@"AutomotiveNavigation"] == NSOrderedSame) {
366
+ return CLActivityTypeAutomotiveNavigation;
367
+ }
368
+ if ([activityType caseInsensitiveCompare:@"OtherNavigation"] == NSOrderedSame) {
369
+ return CLActivityTypeOtherNavigation;
370
+ }
371
+ if ([activityType caseInsensitiveCompare:@"Fitness"] == NSOrderedSame) {
372
+ return CLActivityTypeFitness;
373
+ }
374
+
375
+ return CLActivityTypeOther;
376
+ }
377
+
378
+ - (NSInteger) decodeDesiredAccuracy
379
+ {
380
+ NSInteger desiredAccuracy = self.desiredAccuracy.integerValue;
381
+
382
+ if (desiredAccuracy >= 1000) {
383
+ return kCLLocationAccuracyKilometer;
384
+ }
385
+ if (desiredAccuracy >= 100) {
386
+ return kCLLocationAccuracyHundredMeters;
387
+ }
388
+ if (desiredAccuracy >= 10) {
389
+ return kCLLocationAccuracyNearestTenMeters;
390
+ }
391
+ if (desiredAccuracy >= 0) {
392
+ return kCLLocationAccuracyBest;
393
+ }
394
+
395
+ return kCLLocationAccuracyHundredMeters;
396
+ }
397
+
398
+ + (NSDictionary*) getDefaultTemplate
399
+ {
400
+ return @{
401
+ @"time": @"@time",
402
+ @"accuracy": @"@accuracy",
403
+ @"altitudeAccuracy": @"@altitudeAccuracy",
404
+ @"speed": @"@speed",
405
+ @"bearing": @"@bearing",
406
+ @"altitude": @"@altitude",
407
+ @"latitude": @"@latitude",
408
+ @"longitude": @"@longitude",
409
+ @"provider": @"provider",
410
+ @"locationProvider": @"@locationProvider",
411
+ @"radius": @"@radius",
412
+ };
413
+ }
414
+
415
+ - (NSString*) getHttpHeadersAsString:(NSError * __autoreleasing *)outError;
416
+ {
417
+ NSError *error = nil;
418
+ NSString *httpHeadersString;
419
+
420
+ if ([self hasHttpHeaders]) {
421
+ NSData *jsonHttpHeaders = [NSJSONSerialization dataWithJSONObject:httpHeaders options:NSJSONWritingPrettyPrinted error:&error];
422
+ if (jsonHttpHeaders) {
423
+ httpHeadersString = [[NSString alloc] initWithData:jsonHttpHeaders encoding:NSUTF8StringEncoding];
424
+ } else {
425
+ if (outError != nil) {
426
+ NSLog(@"Http headers serialization error: %@", error);
427
+ *outError = error;
428
+ }
429
+ }
430
+ }
431
+
432
+ return httpHeadersString;
433
+ }
434
+
435
+ - (NSString*) getTemplateAsString:(NSError * __autoreleasing *)outError;
436
+ {
437
+ NSError *error = nil;
438
+ NSString *templateAsString;
439
+
440
+ if ([self hasTemplate]) {
441
+ NSData *jsonTemplate = [NSJSONSerialization dataWithJSONObject:_template options:0 error:&error];
442
+ if (jsonTemplate) {
443
+ templateAsString = [[NSString alloc] initWithData:jsonTemplate encoding:NSUTF8StringEncoding];
444
+ } else {
445
+ if (outError != nil) {
446
+ NSLog(@"Template serialization error: %@", error);
447
+ *outError = error;
448
+ }
449
+ }
450
+ }
451
+
452
+ return templateAsString;
453
+ }
454
+
455
+ - (NSDictionary*) toDictionary
456
+ {
457
+ NSMutableDictionary *dict = [NSMutableDictionary dictionaryWithCapacity:10];
458
+
459
+ if ([self hasActivityType]) [dict setObject:self.activityType forKey:@"activityType"];
460
+ if ([self hasActivitiesInterval]) [dict setObject:self.activitiesInterval forKey:@"activitiesInterval"];
461
+ if ([self hasUrl]) [dict setObject:self.url forKey:@"url"];
462
+ if ([self hasSyncUrl]) [dict setObject:self.syncUrl forKey:@"syncUrl"];
463
+ if ([self hasHttpHeaders]) [dict setObject:self.httpHeaders forKey:@"httpHeaders"];
464
+ if ([self hasStationaryRadius]) [dict setObject:self.stationaryRadius forKey:@"stationaryRadius"];
465
+ if ([self hasDistanceFilter]) [dict setObject:self.distanceFilter forKey:@"distanceFilter"];
466
+ if ([self hasDesiredAccuracy]) [dict setObject:self.desiredAccuracy forKey:@"desiredAccuracy"];
467
+ if ([self hasDebug]) [dict setObject:self._debug forKey:@"debug"];
468
+ if ([self hasStopOnTerminate]) [dict setObject:self._stopOnTerminate forKey:@"stopOnTerminate"];
469
+ if ([self hasSyncThreshold]) [dict setObject:self.syncThreshold forKey:@"syncThreshold"];
470
+ if ([self hasSaveBatteryOnBackground]) [dict setObject:self._saveBatteryOnBackground forKey:@"saveBatteryOnBackground"];
471
+ if ([self hasMaxLocations]) [dict setObject:self.maxLocations forKey:@"maxLocations"];
472
+ if ([self hasPauseLocationUpdates]) [dict setObject:self._pauseLocationUpdates forKey:@"pauseLocationUpdates"];
473
+ if ([self hasLocationProvider]) [dict setObject:self.locationProvider forKey:@"locationProvider"];
474
+ [dict setObject:self._template forKey:@"postTemplate"];
475
+
476
+ return dict;
477
+ }
478
+
479
+ - (NSString *) description
480
+ {
481
+ return [NSString stringWithFormat:@"Config: distanceFilter=%@ stationaryRadius=%@ desiredAccuracy=%@ activityType=%@ activitiesInterval=%@ isDebugging=%@ stopOnTerminate=%@ url=%@ syncThreshold=%@ maxLocations=%@ httpHeaders=%@ pauseLocationUpdates=%@ saveBatteryOnBackground=%@ locationProvider=%@ postTemplate=%@", self.distanceFilter, self.stationaryRadius, self.desiredAccuracy, self.activityType, self.activitiesInterval, self._debug, self._stopOnTerminate, self.url, self.syncThreshold, self.maxLocations, self.httpHeaders, self._pauseLocationUpdates, self._saveBatteryOnBackground, self.locationProvider, self._template];
482
+
483
+ }
484
+
485
+ @end
@@ -0,0 +1,49 @@
1
+ //
2
+ // MAURConfigurationContract.h
3
+ // BackgroundGeolocation
4
+ //
5
+ // Created by Marian Hello on 01/12/2017.
6
+ // Copyright © 2017 mauron85. All rights reserved.
7
+ //
8
+
9
+ #ifndef MAURConfigurationContract_h
10
+ #define MAURConfigurationContract_h
11
+
12
+ #define CC_TABLE_NAME "configuration"
13
+ #define CC_COLUMN_NAME_ID "id"
14
+ #define CC_COLUMN_NAME_NULLABLE "NULLHACK"
15
+ #define CC_COLUMN_NAME_RADIUS "stationary_radius"
16
+ #define CC_COLUMN_NAME_DISTANCE_FILTER "distance_filter"
17
+ #define CC_COLUMN_NAME_DESIRED_ACCURACY "desired_accuracy"
18
+ #define CC_COLUMN_NAME_DEBUG "debugging"
19
+ #define CC_COLUMN_NAME_ACTIVITY_TYPE "activity_type"
20
+ #define CC_COLUMN_NAME_NOTIF_TITLE "notification_title"
21
+ #define CC_COLUMN_NAME_NOTIF_TEXT "notification_text"
22
+ #define CC_COLUMN_NAME_NOTIF_ICON_LARGE "notification_icon_large"
23
+ #define CC_COLUMN_NAME_NOTIF_ICON_SMALL "notification_icon_small"
24
+ #define CC_COLUMN_NAME_NOTIF_COLOR "notification_icon_color"
25
+ #define CC_COLUMN_NAME_STOP_TERMINATE "stop_terminate"
26
+ #define CC_COLUMN_NAME_START_BOOT "start_boot"
27
+ #define CC_COLUMN_NAME_START_FOREGROUND "start_foreground"
28
+ #define CC_COLUMN_NAME_STOP_ON_STILL "stop_still"
29
+ #define CC_COLUMN_NAME_LOCATION_PROVIDER "service_provider"
30
+ #define CC_COLUMN_NAME_INTERVAL "interval"
31
+ #define CC_COLUMN_NAME_FASTEST_INTERVAL "fastest_interval"
32
+ #define CC_COLUMN_NAME_ACTIVITIES_INTERVAL "activities_interval"
33
+ #define CC_COLUMN_NAME_URL "url"
34
+ #define CC_COLUMN_NAME_SYNC_URL "sync_url"
35
+ #define CC_COLUMN_NAME_SYNC_THRESHOLD "sync_threshold"
36
+ #define CC_COLUMN_NAME_HEADERS "http_headers"
37
+ #define CC_COLUMN_NAME_SAVE_BATTERY "save_battery"
38
+ #define CC_COLUMN_NAME_MAX_LOCATIONS "max_locations"
39
+ #define CC_COLUMN_NAME_PAUSE_LOCATION_UPDATES "pause_updates"
40
+ #define CC_COLUMN_NAME_TEMPLATE "template"
41
+ #define CC_COLUMN_NAME_LAST_UPDATED_AT "updated_at"
42
+
43
+ @interface MAURConfigurationContract : NSObject
44
+
45
+ + (NSString*) createTableSQL;
46
+
47
+ @end
48
+
49
+ #endif /* MAURConfigurationContract_h */
@@ -0,0 +1,51 @@
1
+ //
2
+ // MAURConfigurationContract.m
3
+ // BackgroundGeolocation
4
+ //
5
+ // Created by Marian Hello on 01/12/2017.
6
+ // Copyright © 2017 mauron85. All rights reserved.
7
+ //
8
+
9
+ #import <Foundation/Foundation.h>
10
+ #import "MAURSQLiteHelper.h"
11
+ #import "MAURConfigurationContract.h"
12
+
13
+ @implementation MAURConfigurationContract
14
+
15
+ + (NSString*) createTableSQL
16
+ {
17
+ NSArray *columns = @[
18
+ @{ @"name": @CC_COLUMN_NAME_ID, @"type": [SQLPrimaryKeyAutoIncColumnType sqlColumnWithType: kInteger]},
19
+ @{ @"name": @CC_COLUMN_NAME_RADIUS, @"type": [SQLColumnType sqlColumnWithType: kReal]},
20
+ @{ @"name": @CC_COLUMN_NAME_DISTANCE_FILTER, @"type": [SQLColumnType sqlColumnWithType: kReal]},
21
+ @{ @"name": @CC_COLUMN_NAME_DESIRED_ACCURACY, @"type": [SQLColumnType sqlColumnWithType: kReal]},
22
+ @{ @"name": @CC_COLUMN_NAME_DEBUG, @"type": [SQLColumnType sqlColumnWithType: kInteger]},
23
+ @{ @"name": @CC_COLUMN_NAME_ACTIVITY_TYPE, @"type": [SQLColumnType sqlColumnWithType: kText]},
24
+ @{ @"name": @CC_COLUMN_NAME_NOTIF_TITLE, @"type": [SQLColumnType sqlColumnWithType: kText]},
25
+ @{ @"name": @CC_COLUMN_NAME_NOTIF_TEXT, @"type": [SQLColumnType sqlColumnWithType: kText]},
26
+ @{ @"name": @CC_COLUMN_NAME_NOTIF_ICON_LARGE, @"type": [SQLColumnType sqlColumnWithType: kText]},
27
+ @{ @"name": @CC_COLUMN_NAME_NOTIF_ICON_SMALL, @"type": [SQLColumnType sqlColumnWithType: kText]},
28
+ @{ @"name": @CC_COLUMN_NAME_NOTIF_COLOR, @"type": [SQLColumnType sqlColumnWithType: kText]},
29
+ @{ @"name": @CC_COLUMN_NAME_STOP_TERMINATE, @"type": [SQLColumnType sqlColumnWithType: kInteger]},
30
+ @{ @"name": @CC_COLUMN_NAME_START_BOOT, @"type": [SQLColumnType sqlColumnWithType: kInteger]},
31
+ @{ @"name": @CC_COLUMN_NAME_START_FOREGROUND, @"type": [SQLColumnType sqlColumnWithType: kInteger]},
32
+ @{ @"name": @CC_COLUMN_NAME_STOP_ON_STILL, @"type": [SQLColumnType sqlColumnWithType: kInteger]},
33
+ @{ @"name": @CC_COLUMN_NAME_LOCATION_PROVIDER, @"type": [SQLColumnType sqlColumnWithType: kInteger]},
34
+ @{ @"name": @CC_COLUMN_NAME_INTERVAL, @"type": [SQLColumnType sqlColumnWithType: kInteger]},
35
+ @{ @"name": @CC_COLUMN_NAME_FASTEST_INTERVAL, @"type": [SQLColumnType sqlColumnWithType: kInteger]},
36
+ @{ @"name": @CC_COLUMN_NAME_ACTIVITIES_INTERVAL, @"type": [SQLColumnType sqlColumnWithType: kInteger]},
37
+ @{ @"name": @CC_COLUMN_NAME_URL, @"type": [SQLColumnType sqlColumnWithType: kText]},
38
+ @{ @"name": @CC_COLUMN_NAME_SYNC_URL, @"type": [SQLColumnType sqlColumnWithType: kText]},
39
+ @{ @"name": @CC_COLUMN_NAME_SYNC_THRESHOLD, @"type": [SQLColumnType sqlColumnWithType: kInteger]},
40
+ @{ @"name": @CC_COLUMN_NAME_HEADERS, @"type": [SQLColumnType sqlColumnWithType: kText]},
41
+ @{ @"name": @CC_COLUMN_NAME_SAVE_BATTERY, @"type": [SQLColumnType sqlColumnWithType: kInteger]},
42
+ @{ @"name": @CC_COLUMN_NAME_MAX_LOCATIONS, @"type": [SQLColumnType sqlColumnWithType: kInteger]},
43
+ @{ @"name": @CC_COLUMN_NAME_PAUSE_LOCATION_UPDATES, @"type": [SQLColumnType sqlColumnWithType: kInteger]},
44
+ @{ @"name": @CC_COLUMN_NAME_TEMPLATE, @"type": [SQLColumnType sqlColumnWithType: kText]},
45
+ @{ @"name": @CC_COLUMN_NAME_LAST_UPDATED_AT, @"type": [SQLColumnType sqlColumnWithType: kInteger]}
46
+ ];
47
+
48
+ return [MAURSQLiteHelper createTableSqlStatement:@CC_TABLE_NAME columns:columns];
49
+ }
50
+
51
+ @end
@@ -0,0 +1,20 @@
1
+ //
2
+ // MAURDistanceFilterLocationProvider.h
3
+ // BackgroundGeolocation
4
+ //
5
+ // Created by Marian Hello on 14/09/2016.
6
+ // Copyright © 2016 mauron85. All rights reserved.
7
+ //
8
+
9
+ #ifndef MAURDistanceFilterLocationProvider_h
10
+ #define MAURDistanceFilterLocationProvider_h
11
+
12
+ #import <CoreLocation/CoreLocation.h>
13
+ #import "MAURAbstractLocationProvider.h"
14
+ #import "MAURConfig.h"
15
+
16
+ @interface MAURDistanceFilterLocationProvider : MAURAbstractLocationProvider<MAURLocationProvider>
17
+
18
+ @end
19
+
20
+ #endif /* MAURDistanceFilterLocationProvider_h */