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,308 @@
1
+ //
2
+ // MAURLocationManager.m
3
+ //
4
+ // Created by Jinru on 12/19/09.
5
+ // Copyright 2009 Arizona State University. All rights reserved.
6
+ //
7
+
8
+ #import "MAURLocation.h"
9
+ #import "MAURLocationManager.h"
10
+
11
+ #define SYSTEM_VERSION_EQUAL_TO(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedSame)
12
+ #define SYSTEM_VERSION_GREATER_THAN(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedDescending)
13
+ #define SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedAscending)
14
+ #define SYSTEM_VERSION_LESS_THAN(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] == NSOrderedAscending)
15
+ #define SYSTEM_VERSION_LESS_THAN_OR_EQUAL_TO(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedDescending)
16
+
17
+ #define LOCATION_DENIED "User denied use of location services."
18
+ #define LOCATION_RESTRICTED "Application's use of location services is restricted."
19
+ #define LOCATION_NOT_DETERMINED "User undecided on application's use of location services."
20
+
21
+ static MAURLocationManager* sharedCLDelegate = nil;
22
+ static NSString *const TAG = @"MAURLocationManager";
23
+ static NSString *const Domain = @"com.marianhello";
24
+
25
+ static BOOL MAURShouldIgnoreLocationManagerError(NSError *error)
26
+ {
27
+ switch (error.code) {
28
+ case kCLErrorLocationUnknown:
29
+ case kCLErrorNetwork:
30
+ case kCLErrorRegionMonitoringDenied:
31
+ case kCLErrorRegionMonitoringSetupDelayed:
32
+ case kCLErrorRegionMonitoringResponseDelayed:
33
+ case kCLErrorGeocodeFoundNoResult:
34
+ case kCLErrorGeocodeFoundPartialResult:
35
+ case kCLErrorGeocodeCanceled:
36
+ return YES;
37
+ default:
38
+ return NO;
39
+ }
40
+ }
41
+
42
+ @implementation MAURLocationManager
43
+ @synthesize locationManager, delegate;
44
+
45
+ - (id)init
46
+ {
47
+ self = [super init];
48
+ if (self != nil) {
49
+ locationManager = [[CLLocationManager alloc] init];
50
+
51
+ if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"9.0")) {
52
+ locationManager.allowsBackgroundLocationUpdates = YES;
53
+ }
54
+
55
+ locationManager.delegate = self;
56
+ locationManager.desiredAccuracy = kCLLocationAccuracyBest;
57
+ }
58
+ return self;
59
+ }
60
+
61
+ - (BOOL) start:(NSError * __autoreleasing *)outError
62
+ {
63
+ NSAssert([NSThread isMainThread], @"%@ %@", TAG, @"should only be called from the main thread.");
64
+
65
+ NSUInteger authStatus;
66
+
67
+ if ([CLLocationManager respondsToSelector:@selector(authorizationStatus)]) { // iOS 4.2+
68
+ authStatus = [CLLocationManager authorizationStatus];
69
+
70
+ if (authStatus == kCLAuthorizationStatusDenied) {
71
+ if (outError != NULL) {
72
+ NSDictionary *errorDictionary = @{
73
+ NSLocalizedDescriptionKey: NSLocalizedString(@LOCATION_DENIED, nil)
74
+ };
75
+
76
+ *outError = [NSError errorWithDomain:Domain code:MAURBGPermissionDenied userInfo:errorDictionary];
77
+ }
78
+
79
+ return NO;
80
+ }
81
+
82
+ if (authStatus == kCLAuthorizationStatusRestricted) {
83
+ if (outError != NULL) {
84
+ NSDictionary *errorDictionary = @{
85
+ NSLocalizedDescriptionKey: NSLocalizedString(@LOCATION_RESTRICTED, nil)
86
+ };
87
+ *outError = [NSError errorWithDomain:Domain code:MAURBGPermissionDenied userInfo:errorDictionary];
88
+ }
89
+
90
+ return NO;
91
+ }
92
+
93
+ #ifdef __IPHONE_8_0
94
+ // we do startUpdatingLocation even though we might not get permissions granted
95
+ // we can stop later on when recieved callback on user denial
96
+ // it's neccessary to start call startUpdatingLocation in iOS < 8.0 to show user prompt!
97
+
98
+ if (authStatus == kCLAuthorizationStatusNotDetermined) {
99
+ if ([locationManager respondsToSelector:@selector(requestAlwaysAuthorization)]) { //iOS 8.0+
100
+ [locationManager requestAlwaysAuthorization];
101
+ }
102
+ }
103
+ #endif
104
+ }
105
+
106
+ [locationManager startUpdatingLocation];
107
+ return YES;
108
+ }
109
+
110
+ - (BOOL) stop:(NSError * __autoreleasing *)outError
111
+ {
112
+ NSAssert([NSThread isMainThread], @"%@ %@", TAG, @"should only be called from the main thread.");
113
+ [locationManager stopUpdatingLocation];
114
+ return YES;
115
+ }
116
+
117
+ - (BOOL) startMonitoringSignificantLocationChanges
118
+ {
119
+ NSAssert([NSThread isMainThread], @"%@ %@", TAG, @"should only be called from the main thread.");
120
+ [locationManager startMonitoringSignificantLocationChanges];
121
+ return YES;
122
+ }
123
+
124
+ - (BOOL) stopMonitoringSignificantLocationChanges
125
+ {
126
+ NSAssert([NSThread isMainThread], @"%@ %@", TAG, @"should only be called from the main thread.");
127
+ [locationManager stopMonitoringSignificantLocationChanges];
128
+ return YES;
129
+ }
130
+
131
+ - (void) startMonitoringForRegion:(CLRegion*)region
132
+ {
133
+ NSAssert([NSThread isMainThread], @"%@ %@", TAG, @"should only be called from the main thread.");
134
+ [locationManager startMonitoringForRegion:region];
135
+ }
136
+
137
+ - (void) stopMonitoringForRegion:(CLRegion*)region
138
+ {
139
+ NSAssert([NSThread isMainThread], @"%@ %@", TAG, @"should only be called from the main thread.");
140
+ [locationManager stopMonitoringForRegion:region];
141
+ }
142
+
143
+ - (void) stopMonitoringForRegionIdentifier:(NSString*)identifier
144
+ {
145
+ NSAssert([NSThread isMainThread], @"%@ %@", TAG, @"should only be called from the main thread.");
146
+ for (CLRegion *region in [locationManager monitoredRegions]){
147
+ if([region.identifier isEqualToString:identifier]){
148
+ [locationManager stopMonitoringForRegion:region];
149
+ }
150
+ }
151
+ }
152
+
153
+ - (void) stopMonitoringAllRegions
154
+ {
155
+ NSAssert([NSThread isMainThread], @"%@ %@", TAG, @"should only be called from the main thread.");
156
+ for (CLRegion *region in [locationManager monitoredRegions]) {
157
+ [locationManager stopMonitoringForRegion:region];
158
+ }
159
+ }
160
+
161
+ - (NSSet<__kindof CLRegion *>*) monitoredRegions
162
+ {
163
+ return locationManager.monitoredRegions;
164
+ }
165
+
166
+ - (void) setShowsBackgroundLocationIndicator:(BOOL)shows
167
+ {
168
+ if (@available(iOS 11, *)) {
169
+ locationManager.showsBackgroundLocationIndicator = shows;
170
+ }
171
+ }
172
+
173
+ - (void) setPausesLocationUpdatesAutomatically:(BOOL)newPausesLocationsUpdatesAutomatically
174
+ {
175
+ locationManager.pausesLocationUpdatesAutomatically = newPausesLocationsUpdatesAutomatically;
176
+ }
177
+
178
+ - (BOOL) pausesLocationUpdatesAutomatically
179
+ {
180
+ return locationManager.pausesLocationUpdatesAutomatically;
181
+ }
182
+
183
+ - (void) setDistanceFilter:(CLLocationDistance)newDistanceFiler
184
+ {
185
+ locationManager.distanceFilter = newDistanceFiler;
186
+ }
187
+
188
+ - (CLLocationDistance) distanceFilter
189
+ {
190
+ return locationManager.distanceFilter;
191
+ }
192
+
193
+ - (void) setActivityType:(CLActivityType)newActivityType
194
+ {
195
+ locationManager.activityType = newActivityType;
196
+ }
197
+
198
+ - (CLActivityType) activityType
199
+ {
200
+ return locationManager.activityType;
201
+ }
202
+
203
+ - (void) setDesiredAccuracy:(CLLocationAccuracy)newDesiredAccuracy
204
+ {
205
+ locationManager.desiredAccuracy = newDesiredAccuracy;
206
+ }
207
+
208
+ - (CLLocationAccuracy) desiredAccuracy
209
+ {
210
+ return locationManager.desiredAccuracy;
211
+ }
212
+
213
+
214
+ #pragma mark -
215
+ #pragma mark CLLocationManagerDelegate Methods
216
+ - (void) locationManager:(CLLocationManager *)manager didUpdateLocations:(NSArray *)locations
217
+ {
218
+ [self.delegate onLocationsChanged:locations];
219
+ }
220
+
221
+ - (void) locationManager:(CLLocationManager *)manager didFailWithError:(NSError *)error
222
+ {
223
+ if (MAURShouldIgnoreLocationManagerError(error)) {
224
+ return;
225
+ }
226
+
227
+ if (self.delegate && [self.delegate respondsToSelector:@selector(onError:)]) {
228
+ NSDictionary *errorDictionary = @{
229
+ NSUnderlyingErrorKey : error
230
+ };
231
+ NSError *outError = [NSError errorWithDomain:Domain code:MAURBGServiceError userInfo:errorDictionary];
232
+
233
+ [self.delegate onError:outError];
234
+ }
235
+ }
236
+
237
+ - (void) locationManager:(CLLocationManager *)manager didChangeAuthorizationStatus:(CLAuthorizationStatus)status
238
+ {
239
+ MAURLocationAuthorizationStatus authStatus;
240
+
241
+ switch(status) {
242
+ case kCLAuthorizationStatusRestricted:
243
+ case kCLAuthorizationStatusDenied:
244
+ authStatus = MAURLocationAuthorizationDenied;
245
+ break;
246
+ case kCLAuthorizationStatusAuthorizedAlways:
247
+ authStatus = MAURLocationAuthorizationAlways;
248
+ break;
249
+ case kCLAuthorizationStatusAuthorizedWhenInUse:
250
+ authStatus = MAURLocationAuthorizationForeground;
251
+ break;
252
+ default:
253
+ return;
254
+ }
255
+
256
+ if (self.delegate && [self.delegate respondsToSelector:@selector(onAuthorizationChanged:)]) {
257
+ [self.delegate onAuthorizationChanged:authStatus];
258
+ }
259
+ }
260
+
261
+ - (void) locationManagerDidPauseLocationUpdates:(CLLocationManager *)manager
262
+ {
263
+ if (self.delegate && [self.delegate respondsToSelector:@selector(onLocationPause:)]) {
264
+ [self.delegate onLocationPause:manager];
265
+ }
266
+ }
267
+
268
+ - (void) locationManagerDidResumeLocationUpdates:(CLLocationManager *)manager
269
+ {
270
+ if (self.delegate && [self.delegate respondsToSelector:@selector(onLocationResume:)]) {
271
+ [self.delegate onLocationResume:manager];
272
+ }
273
+ }
274
+
275
+ - (void) locationManager:(CLLocationManager *)manager didExitRegion:(CLRegion *)region
276
+ {
277
+ if (self.delegate && [self.delegate respondsToSelector:@selector(onRegionExit:)]) {
278
+ [self.delegate onRegionExit:region];
279
+ }
280
+ }
281
+
282
+ #pragma mark - Singleton implementation in ARC
283
+ + (MAURLocationManager *)sharedInstance
284
+ {
285
+ static MAURLocationManager *sharedLocationControllerInstance = nil;
286
+ static dispatch_once_t predicate;
287
+ dispatch_once(&predicate, ^{
288
+ sharedLocationControllerInstance = [[self alloc] init];
289
+ });
290
+ return sharedLocationControllerInstance;
291
+ }
292
+
293
+ + (id)allocWithZone:(NSZone *)zone {
294
+ @synchronized(self) {
295
+ if (sharedCLDelegate == nil) {
296
+ sharedCLDelegate = [super allocWithZone:zone];
297
+ return sharedCLDelegate; // assignment and return on first allocation
298
+ }
299
+ }
300
+ return nil; // on subsequent allocation attempts return nil
301
+ }
302
+
303
+ - (id)copyWithZone:(NSZone *)zone
304
+ {
305
+ return self;
306
+ }
307
+
308
+ @end
@@ -0,0 +1,26 @@
1
+ //
2
+ // MAURLogReader.h
3
+ // BackgroundGeolocation
4
+ //
5
+ // Created by Marian Hello on 02/07/16.
6
+ // Copyright © 2016 mauron85. All rights reserved.
7
+ //
8
+
9
+ #ifndef MAURLogReader_h
10
+ #define MAURLogReader_h
11
+
12
+ #import "MAURLogging.h"
13
+
14
+ @interface MAURLogReader : NSObject {
15
+ @private
16
+ NSString *logDirectory;
17
+ }
18
+
19
+ - (id)initWithLogDirectory:(NSString *)aLogDirectory;
20
+ - (NSString*) prepareSQL:(NSInteger)limit fromLogEntryId:(NSInteger)entryId minLogLevel:(NSInteger)minLogLevel;
21
+ - (NSArray*) getEntries:(NSInteger)limit fromLogEntryId:(NSInteger)entryId minLogLevel:(DDLogFlag)minLogLevel;
22
+ - (NSArray*) getLogEntries:(NSInteger)limit fromLogEntryId:(NSInteger)offset minLogLevelAsString:(NSString *)minLogLevel;
23
+
24
+ @end
25
+
26
+ #endif /* MAURLogReader_h */
@@ -0,0 +1,122 @@
1
+ //
2
+ // MAURLogReader.m
3
+ // BackgroundGeolocation
4
+ //
5
+ // Created by Marian Hello on 02/07/16.
6
+ // Copyright © 2016 mauron85. All rights reserved.
7
+ //
8
+
9
+ #import <Foundation/Foundation.h>
10
+ #import <sqlite3.h>
11
+ #import "FMDB.h"
12
+ #import "ZIMSqlSelectStatement.h"
13
+ #import "MAURLogReader.h"
14
+
15
+ // Convert DDLogFlag to string
16
+ static NSString* logFlag_toString(DDLogFlag logFlag)
17
+ {
18
+ switch (logFlag) {
19
+ case DDLogFlagVerbose:
20
+ return @"TRACE";
21
+ case DDLogFlagDebug:
22
+ return @"DEBUG";
23
+ case DDLogFlagInfo:
24
+ return @"INFO";
25
+ case DDLogFlagWarning:
26
+ return @"WARN";
27
+ case DDLogFlagError:
28
+ return @"ERROR";
29
+ }
30
+ return @"N/A";
31
+ }
32
+
33
+ static DDLogFlag string_toLogFlag(NSString *logFlag)
34
+ {
35
+ if ([@"TRACE" isEqualToString:logFlag]) {
36
+ return DDLogFlagVerbose;
37
+ }
38
+ if ([@"DEBUG" isEqualToString:logFlag]) {
39
+ return DDLogFlagDebug;
40
+ }
41
+ if ([@"INFO" isEqualToString:logFlag]) {
42
+ return DDLogFlagInfo;
43
+ }
44
+ if ([@"WARN" isEqualToString:logFlag]) {
45
+ return DDLogFlagWarning;
46
+ }
47
+ if ([@"ERROR" isEqualToString:logFlag]) {
48
+ return DDLogFlagError;
49
+ }
50
+
51
+ return DDLogFlagVerbose; // maybe we should throw exception instead
52
+ }
53
+
54
+ @implementation MAURLogReader : NSObject
55
+
56
+ - (id)initWithLogDirectory:(NSString *)aLogDirectory
57
+ {
58
+ if ((self = [super init]))
59
+ {
60
+ logDirectory = [aLogDirectory copy];
61
+ }
62
+
63
+ return self;
64
+ }
65
+
66
+ - (NSString*) prepareSQL:(NSInteger)limit fromLogEntryId:(NSInteger)entryId minLogLevel:(NSInteger)minLogLevel
67
+ {
68
+ ZIMSqlSelectStatement *sql = [[ZIMSqlSelectStatement alloc] init];
69
+ [sql column: @"rowid"];
70
+ [sql column: @"context"];
71
+ [sql column: @"level"];
72
+ [sql column: @"message"];
73
+ [sql column: @"timestamp"];
74
+ [sql from: @"logs"];
75
+ [sql where: @"level" operator: ZIMSqlOperatorLessThanOrEqualTo value: [NSNumber numberWithInteger:minLogLevel]];
76
+ if (entryId > 0) {
77
+ if (limit >= 0) {
78
+ [sql where: @"rowid" operator: ZIMSqlOperatorLessThan value: [NSNumber numberWithInteger:entryId]];
79
+ } else {
80
+ [sql where: @"rowid" operator: ZIMSqlOperatorGreaterThan value: [NSNumber numberWithInteger:entryId]];
81
+ }
82
+ }
83
+ [sql orderBy: @"timestamp" descending:limit >= 0];
84
+ [sql orderBy: @"rowid" descending:limit >= 0];
85
+ [sql limit: ABS(limit)];
86
+
87
+ return [sql statement];
88
+ }
89
+
90
+ - (NSArray*) getLogEntries:(NSInteger)limit fromLogEntryId:(NSInteger)entryId minLogLevelAsString:(NSString *)minLogLevel;
91
+ {
92
+ return [self getEntries:limit fromLogEntryId:entryId minLogLevel:string_toLogFlag(minLogLevel)];
93
+ }
94
+
95
+ - (NSArray*) getEntries:(NSInteger)limit fromLogEntryId:(NSInteger)entryId minLogLevel:(DDLogFlag)minLogLevel;
96
+ {
97
+ NSMutableArray *logs = [[NSMutableArray alloc] init];
98
+ NSString *dbPath = [logDirectory stringByAppendingPathComponent:@"log.sqlite"];
99
+ FMDatabase *database = [[FMDatabase alloc] initWithPath:dbPath];
100
+ if (![database openWithFlags:SQLITE_OPEN_READONLY]) {
101
+ NSLog(@"%@: Failed opening database!", [self class]);
102
+ database = nil;
103
+ return nil;
104
+ }
105
+
106
+ FMResultSet *rs = [database executeQuery:[self prepareSQL:limit fromLogEntryId:entryId minLogLevel:minLogLevel]];
107
+ while([rs next]) {
108
+ NSMutableDictionary *entry = [NSMutableDictionary dictionaryWithCapacity:4];
109
+ [entry setObject:[NSNumber numberWithInt:[rs intForColumnIndex:0]] forKey:@"id"];
110
+ [entry setObject:[NSNumber numberWithInt:[rs intForColumnIndex:1]] forKey:@"context"];
111
+ [entry setObject:logFlag_toString([rs intForColumnIndex:2]) forKey:@"level"];
112
+ [entry setObject:[rs stringForColumnIndex:3] forKey:@"message"];
113
+ [entry setObject:[NSNumber numberWithDouble:[rs doubleForColumnIndex:4] * 1000] forKey:@"timestamp"];
114
+ [logs addObject:entry];
115
+ }
116
+ [rs close];
117
+ [database close];
118
+
119
+ return logs;
120
+ }
121
+
122
+ @end
@@ -0,0 +1,19 @@
1
+ //
2
+ // MAURLogging.h
3
+ // BackgroundGeolocation
4
+ //
5
+ // Created by Marian Hello on 10/11/2017.
6
+ // Copyright © 2017 mauron85. All rights reserved.
7
+ //
8
+
9
+ #ifndef MAURLogging_h
10
+ #define MAURLogging_h
11
+
12
+ #define LOG_LEVEL_DEF ddLogLevel
13
+ #import "CocoaLumberjack.h"
14
+
15
+ // we will override this global level later
16
+ // https://github.com/CocoaLumberjack/CocoaLumberjack/issues/469
17
+ static const DDLogLevel ddLogLevel = DDLogLevelAll;
18
+
19
+ #endif /* MAURLogging_h */
@@ -0,0 +1,40 @@
1
+ //
2
+ // MAURPostLocationTask.h
3
+ // BackgroundGeolocation
4
+ //
5
+ // Created by Marian Hello on 27/04/2018.
6
+ // Copyright © 2018 mauron85. All rights reserved.
7
+ //
8
+
9
+ #ifndef MAURPostLocationTask_h
10
+ #define MAURPostLocationTask_h
11
+
12
+ #import "MAURConfig.h"
13
+ #import "MAURLocation.h"
14
+
15
+ @class MAURPostLocationTask;
16
+
17
+ @protocol MAURPostLocationTaskDelegate <NSObject>
18
+
19
+ @optional
20
+ - (void)postLocationTaskRequestedAbortUpdates:(MAURPostLocationTask * _Nonnull)task;
21
+ - (void)postLocationTaskHttpAuthorizationUpdates:(MAURPostLocationTask * _Nonnull)task;
22
+
23
+ @end
24
+
25
+ @interface MAURPostLocationTask : NSObject
26
+
27
+ @property (nonatomic, weak) MAURConfig * _Nullable config;
28
+ @property (nonatomic, weak) id<MAURPostLocationTaskDelegate> _Nullable delegate;
29
+
30
+ - (void) add:(MAURLocation * _Nonnull)location;
31
+ - (void) start;
32
+ - (void) stop;
33
+ - (void) sync;
34
+
35
+ + (void) setLocationTransform:(MAURLocationTransform _Nullable)transform;
36
+ + (MAURLocationTransform _Nullable) locationTransform;
37
+
38
+ @end
39
+
40
+ #endif /* MAURPostLocationTask_h */