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,349 @@
1
+ //
2
+ // MAURLocation.m
3
+ // BackgroundGeolocation
4
+ //
5
+ // Created by Marian Hello on 10/06/16.
6
+ //
7
+
8
+ #import <Foundation/Foundation.h>
9
+ #import "MAURLocation.h"
10
+
11
+ enum {
12
+ TWO_MINUTES = 120,
13
+ MAX_SECONDS_FROM_NOW = 86400
14
+ };
15
+
16
+ @interface MAURLocationMapper : NSObject
17
+ - (NSDictionary*) withDictionary:(NSDictionary*)values;
18
+ - (NSArray*) withArray:(NSArray*)values;
19
+ + (instancetype) map:(MAURLocation*)location;
20
+ @end
21
+
22
+ @implementation MAURLocationMapper
23
+ MAURLocation* _location;
24
+
25
+ - (id) mapValue:(id)value
26
+ {
27
+ if ([value isKindOfClass:[NSString class]]) {
28
+ id locationValue = [_location getValueForKey:value];
29
+ return locationValue != nil ? locationValue : value;
30
+ } else if ([value isKindOfClass:[NSDictionary class]]) {
31
+ return [self withDictionary:value];
32
+ } else if ([value isKindOfClass:[NSArray class]]) {
33
+ return [self withArray:value];
34
+ }
35
+
36
+ return value;
37
+ }
38
+
39
+ - (NSDictionary*) withDictionary:(NSDictionary*)values
40
+ {
41
+ NSMutableDictionary *dict = [NSMutableDictionary dictionaryWithCapacity:values.count];
42
+
43
+ for (id key in values) {
44
+ id value = [values objectForKey:key];
45
+ [dict setObject:[self mapValue:value] forKey:key];
46
+ }
47
+
48
+ return dict;
49
+ }
50
+
51
+ - (NSArray*) withArray:(NSArray*)values
52
+ {
53
+ NSMutableArray *locationArray = [[NSMutableArray alloc] initWithCapacity:values.count];
54
+
55
+ for (id value in values) {
56
+ [locationArray addObject:[self mapValue:value]];
57
+ }
58
+
59
+ return locationArray;
60
+ }
61
+
62
+ + (instancetype) map:(MAURLocation*)location
63
+ {
64
+ MAURLocationMapper *instance = [[MAURLocationMapper alloc] init];
65
+ _location = location;
66
+ return instance;
67
+ }
68
+ @end
69
+
70
+
71
+ @implementation MAURLocation
72
+
73
+ @synthesize locationId, time, accuracy, altitudeAccuracy, speed, heading, altitude, latitude, longitude, provider, locationProvider, radius, isValid, recordedAt;
74
+
75
+ + (instancetype) fromCLLocation:(CLLocation*)location;
76
+ {
77
+ MAURLocation *instance = [[MAURLocation alloc] init];
78
+
79
+ instance.time = location.timestamp;
80
+ instance.accuracy = [NSNumber numberWithDouble:location.horizontalAccuracy];
81
+ instance.altitudeAccuracy = [NSNumber numberWithDouble:location.verticalAccuracy];
82
+ instance.speed = [NSNumber numberWithDouble:location.speed];
83
+ instance.heading = [NSNumber numberWithDouble:location.course]; // will be deprecated
84
+ instance.altitude = [NSNumber numberWithDouble:location.altitude];
85
+ instance.latitude = [NSNumber numberWithDouble:location.coordinate.latitude];
86
+ instance.longitude = [NSNumber numberWithDouble:location.coordinate.longitude];
87
+
88
+ return instance;
89
+ }
90
+
91
+ + (NSTimeInterval) locationAge:(CLLocation*)location
92
+ {
93
+ return -[location.timestamp timeIntervalSinceNow];
94
+ }
95
+
96
+ + (NSDictionary*) toDictionary:(CLLocation*)location;
97
+ {
98
+ NSMutableDictionary *dict = [NSMutableDictionary dictionaryWithCapacity:10];
99
+
100
+ NSNumber* timestamp = [NSNumber numberWithDouble:([location.timestamp timeIntervalSince1970] * 1000)];
101
+ [dict setObject:timestamp forKey:@"time"];
102
+ [dict setObject:[NSNumber numberWithDouble:location.horizontalAccuracy] forKey:@"accuracy"];
103
+ [dict setObject:[NSNumber numberWithDouble:location.verticalAccuracy] forKey:@"altitudeAccuracy"];
104
+ [dict setObject:[NSNumber numberWithDouble:location.speed] forKey:@"speed"];
105
+ [dict setObject:[NSNumber numberWithDouble:location.course] forKey:@"heading"];
106
+ [dict setObject:[NSNumber numberWithDouble:location.course] forKey:@"bearing"];
107
+ [dict setObject:[NSNumber numberWithDouble:location.altitude] forKey:@"altitude"];
108
+ [dict setObject:[NSNumber numberWithDouble:location.coordinate.latitude] forKey:@"latitude"];
109
+ [dict setObject:[NSNumber numberWithDouble:location.coordinate.longitude] forKey:@"longitude"];
110
+
111
+ return dict;
112
+ }
113
+
114
+ - (instancetype) init
115
+ {
116
+ self = [super init];
117
+ if (self != nil) {
118
+ [self commonInit];
119
+ }
120
+
121
+ return self;
122
+ }
123
+
124
+ - (void) commonInit
125
+ {
126
+ isValid = true;
127
+ }
128
+
129
+ /*
130
+ * Age of location measured from now in seconds
131
+ *
132
+ */
133
+ - (NSTimeInterval) locationAge
134
+ {
135
+ return -[time timeIntervalSinceNow];
136
+ }
137
+
138
+ - (NSDictionary*) toDictionaryWithId
139
+ {
140
+ NSMutableDictionary *dict = (NSMutableDictionary*)[self toDictionary];
141
+
142
+ // locationId is solely for internal purposes like deleteLocation method!!!
143
+ if (locationId != nil) [dict setObject:locationId forKey:@"id"];
144
+
145
+ return dict;
146
+ }
147
+
148
+ - (NSMutableDictionary*) toDictionary
149
+ {
150
+ NSMutableDictionary *dict = [NSMutableDictionary dictionaryWithCapacity:13];
151
+
152
+ if (time != nil) [dict setObject:[NSNumber numberWithDouble:([time timeIntervalSince1970] * 1000)] forKey:@"time"];
153
+ if (accuracy != nil) [dict setObject:accuracy forKey:@"accuracy"];
154
+ if (altitudeAccuracy != nil) [dict setObject:altitudeAccuracy forKey:@"altitudeAccuracy"];
155
+ if (speed != nil) [dict setObject:speed forKey:@"speed"];
156
+ if (heading != nil) [dict setObject:heading forKey:@"heading"]; // @deprecated
157
+ if (heading != nil) [dict setObject:heading forKey:@"bearing"];
158
+ if (altitude != nil) [dict setObject:altitude forKey:@"altitude"];
159
+ if (latitude != nil) [dict setObject:latitude forKey:@"latitude"];
160
+ if (longitude != nil) [dict setObject:longitude forKey:@"longitude"];
161
+ if (provider != nil) [dict setObject:provider forKey:@"provider"];
162
+ if (locationProvider != nil) [dict setObject:locationProvider forKey:@"locationProvider"];
163
+ if (radius != nil) [dict setObject:radius forKey:@"radius"];
164
+ if (recordedAt != nil) [dict setObject:[NSNumber numberWithDouble:([recordedAt timeIntervalSince1970] * 1000)] forKey:@"recordedAt"];
165
+
166
+ return dict;
167
+ }
168
+
169
+ - (id) getValueForKey:(id)key
170
+ {
171
+ if (key == nil || ![key isKindOfClass:[NSString class]]) {
172
+ return nil;
173
+ }
174
+
175
+ if ([key isEqualToString:@"@id"]) {
176
+ return locationId;
177
+ }
178
+ if ([key isEqualToString:@"@time"]) {
179
+ return [NSNumber numberWithDouble:([time timeIntervalSince1970] * 1000)];
180
+ }
181
+ if ([key isEqualToString:@"@accuracy"]) {
182
+ return accuracy;
183
+ }
184
+ if ([key isEqualToString:@"@altitudeAccuracy"]) {
185
+ return altitudeAccuracy;
186
+ }
187
+ if ([key isEqualToString:@"@speed"]) {
188
+ return speed;
189
+ }
190
+ if ([key isEqualToString:@"@heading"]) {
191
+ return heading;
192
+ }
193
+ if ([key isEqualToString:@"@bearing"]) {
194
+ return heading;
195
+ }
196
+ if ([key isEqualToString:@"@altitude"]) {
197
+ return altitude;
198
+ }
199
+ if ([key isEqualToString:@"@latitude"]) {
200
+ return latitude;
201
+ }
202
+ if ([key isEqualToString:@"@longitude"]) {
203
+ return longitude;
204
+ }
205
+ if ([key isEqualToString:@"@provider"]) {
206
+ return provider;
207
+ }
208
+ if ([key isEqualToString:@"@locationProvider"]) {
209
+ return locationProvider;
210
+ }
211
+ if ([key isEqualToString:@"@radius"]) {
212
+ return radius;
213
+ }
214
+ if ([key isEqualToString:@"@recordedAt"]) {
215
+ return [NSNumber numberWithDouble:([recordedAt timeIntervalSince1970] * 1000)];
216
+ }
217
+
218
+ return nil;
219
+ }
220
+
221
+ - (id) toResultFromTemplate:(id)locationTemplate
222
+ {
223
+ if ([locationTemplate isKindOfClass:[NSArray class]]) {
224
+ MAURLocationMapper *mapper = [MAURLocationMapper map:self];
225
+ return [mapper withArray:locationTemplate];
226
+ } else if ([locationTemplate isKindOfClass:[NSDictionary class]]) {
227
+ MAURLocationMapper *mapper = [MAURLocationMapper map:self];
228
+ return [mapper withDictionary:locationTemplate];
229
+ }
230
+
231
+ return [self toDictionary];
232
+ }
233
+
234
+ - (CLLocationCoordinate2D) coordinate
235
+ {
236
+ CLLocationCoordinate2D coordinate;
237
+ coordinate.latitude = [latitude doubleValue];
238
+ coordinate.longitude = [longitude doubleValue];
239
+ return coordinate;
240
+ }
241
+
242
+ - (double) distanceFromLocation:(MAURLocation*)location
243
+ {
244
+ const float EarthRadius = 6378137.0f;
245
+ double a_lat = [self.latitude doubleValue];
246
+ double a_lon = [self.longitude doubleValue];
247
+ double b_lat = [location.latitude doubleValue];
248
+ double b_lon = [location.longitude doubleValue];
249
+ double dtheta = (a_lat - b_lat) * (M_PI / 180.0);
250
+ double dlambda = (a_lon - b_lon) * (M_PI / 180.0);
251
+ double mean_t = (a_lat + b_lat) * (M_PI / 180.0) / 2.0;
252
+ double cos_meant = cosf(mean_t);
253
+
254
+ return sqrtf((EarthRadius * EarthRadius) * (dtheta * dtheta + cos_meant * cos_meant * dlambda * dlambda));
255
+ }
256
+
257
+ /**
258
+ * Determines whether instance is better then Location reading
259
+ * @param location The new Location that you want to evaluate
260
+ * Note: code taken from https://developer.android.com/guide/topics/location/strategies.html
261
+ */
262
+ - (BOOL) isBetterLocation:(MAURLocation*)location
263
+ {
264
+ if (location == nil) {
265
+ // A instance location is always better than no location
266
+ return NO;
267
+ }
268
+
269
+ // Check whether the new location fix is newer or older
270
+ NSTimeInterval timeDelta = [self.time timeIntervalSinceDate:location.time];
271
+ BOOL isSignificantlyNewer = timeDelta > TWO_MINUTES;
272
+ BOOL isSignificantlyOlder = timeDelta < -TWO_MINUTES;
273
+ BOOL isNewer = timeDelta > 0;
274
+
275
+ // If it's been more than two minutes since the current location, use the new location
276
+ // because the user has likely moved
277
+ if (isSignificantlyNewer) {
278
+ return YES;
279
+ // If the new location is more than two minutes older, it must be worse
280
+ } else if (isSignificantlyOlder) {
281
+ return NO;
282
+ }
283
+
284
+ // Check whether the new location fix is more or less accurate
285
+ NSInteger accuracyDelta = [self.accuracy integerValue] - [location.accuracy integerValue];
286
+ BOOL isLessAccurate = accuracyDelta > 0;
287
+ BOOL isMoreAccurate = accuracyDelta < 0;
288
+ BOOL isSignificantlyLessAccurate = accuracyDelta > 200;
289
+
290
+ // Check if the old and new location are from the same provider
291
+ BOOL isFromSameProvider = YES; //TODO: check
292
+
293
+ // Determine location quality using a combination of timeliness and accuracy
294
+ if (isMoreAccurate) {
295
+ return YES;
296
+ } else if (isNewer && !isLessAccurate) {
297
+ return YES;
298
+ } else if (isNewer && !isSignificantlyLessAccurate && isFromSameProvider) {
299
+ return YES;
300
+ }
301
+
302
+ return NO;
303
+ }
304
+
305
+ - (BOOL) isBeyond:(MAURLocation*)location radius:(NSInteger)definedRadius
306
+ {
307
+ double pointDistance = [self distanceFromLocation:location];
308
+ return (pointDistance - [self.accuracy doubleValue] - [location.accuracy doubleValue]) > definedRadius;
309
+ }
310
+
311
+ - (BOOL) hasAccuracy
312
+ {
313
+ if (accuracy == nil || accuracy < 0) return NO;
314
+ return YES;
315
+ }
316
+
317
+ - (BOOL) hasTime
318
+ {
319
+ if (time != nil && [time timeIntervalSinceNow] > MAX_SECONDS_FROM_NOW) return NO;
320
+ return YES;
321
+ }
322
+
323
+ - (NSString *) description
324
+ {
325
+ return [NSString stringWithFormat:@"Location: id=%@ time=%@ lat=%@ lon=%@ accu=%@ aaccu=%@ speed=%@ bear=%@ alt=%@", locationId, time, latitude, longitude, accuracy, altitudeAccuracy, speed, heading, altitude];
326
+ }
327
+
328
+ -(id) copyWithZone: (NSZone *) zone
329
+ {
330
+ MAURLocation *copy = [[[self class] allocWithZone: zone] init];
331
+ if (copy) {
332
+ copy.time = time;
333
+ copy.accuracy = accuracy;
334
+ copy.altitudeAccuracy = altitudeAccuracy;
335
+ copy.speed = speed;
336
+ copy.heading = heading;
337
+ copy.altitude = altitude;
338
+ copy.latitude = latitude;
339
+ copy.longitude = longitude;
340
+ copy.provider = provider;
341
+ copy.locationProvider = locationProvider;
342
+ copy.radius = radius;
343
+ copy.isValid = isValid;
344
+ }
345
+
346
+ return copy;
347
+ }
348
+
349
+ @end
@@ -0,0 +1,34 @@
1
+ //
2
+ // MAURLocationContract.h
3
+ // BackgroundGeolocation
4
+ //
5
+ // Created by Marian Hello on 23/06/16.
6
+ // Copyright © 2016 mauron85. All rights reserved.
7
+ //
8
+
9
+ #ifndef MAURLocationContract_h
10
+ #define MAURLocationContract_h
11
+
12
+ #define LC_TABLE_NAME "location"
13
+ #define LC_COLUMN_NAME_ID "id"
14
+ #define LC_COLUMN_NAME_NULLABLE "NULLHACK"
15
+ #define LC_COLUMN_NAME_TIME "time"
16
+ #define LC_COLUMN_NAME_ACCURACY "accuracy"
17
+ #define LC_COLUMN_NAME_SPEED "speed"
18
+ #define LC_COLUMN_NAME_BEARING "bearing"
19
+ #define LC_COLUMN_NAME_ALTITUDE "altitude"
20
+ #define LC_COLUMN_NAME_LATITUDE "latitude"
21
+ #define LC_COLUMN_NAME_LONGITUDE "longitude"
22
+ #define LC_COLUMN_NAME_PROVIDER "provider"
23
+ #define LC_COLUMN_NAME_LOCATION_PROVIDER "service_provider"
24
+ #define LC_COLUMN_NAME_STATUS "valid"
25
+ #define LC_COLUMN_NAME_RECORDED_AT "recorded_at"
26
+
27
+ @interface MAURLocationContract : NSObject
28
+
29
+ + (NSString*) createTableSQL;
30
+
31
+ @end
32
+
33
+
34
+ #endif /* MAURLocationContract_h */
@@ -0,0 +1,35 @@
1
+ //
2
+ // MAURLocationContract.m
3
+ // BackgroundGeolocation
4
+ //
5
+ // Created by Marian Hello on 23/06/16.
6
+ // Copyright © 2016 mauron85. All rights reserved.
7
+ //
8
+
9
+ #import <Foundation/Foundation.h>
10
+ #import "MAURSQLiteHelper.h"
11
+ #import "MAURLocationContract.h"
12
+
13
+ @implementation MAURLocationContract
14
+
15
+ + (NSString*) createTableSQL
16
+ {
17
+ NSArray *columns = @[
18
+ @{ @"name": @LC_COLUMN_NAME_ID, @"type": [SQLPrimaryKeyAutoIncColumnType sqlColumnWithType: kInteger]},
19
+ @{ @"name": @LC_COLUMN_NAME_TIME, @"type": [SQLColumnType sqlColumnWithType: kReal]},
20
+ @{ @"name": @LC_COLUMN_NAME_ACCURACY, @"type": [SQLColumnType sqlColumnWithType: kReal]},
21
+ @{ @"name": @LC_COLUMN_NAME_SPEED, @"type": [SQLColumnType sqlColumnWithType: kReal]},
22
+ @{ @"name": @LC_COLUMN_NAME_BEARING, @"type": [SQLColumnType sqlColumnWithType: kReal]},
23
+ @{ @"name": @LC_COLUMN_NAME_ALTITUDE, @"type": [SQLColumnType sqlColumnWithType: kReal]},
24
+ @{ @"name": @LC_COLUMN_NAME_LATITUDE, @"type": [SQLColumnType sqlColumnWithType: kReal]},
25
+ @{ @"name": @LC_COLUMN_NAME_LONGITUDE, @"type": [SQLColumnType sqlColumnWithType: kReal]},
26
+ @{ @"name": @LC_COLUMN_NAME_PROVIDER, @"type": [SQLColumnType sqlColumnWithType: kText]},
27
+ @{ @"name": @LC_COLUMN_NAME_LOCATION_PROVIDER, @"type": [SQLColumnType sqlColumnWithType: kText]},
28
+ @{ @"name": @LC_COLUMN_NAME_STATUS, @"type": [SQLColumnType sqlColumnWithType: kInteger]},
29
+ @{ @"name": @LC_COLUMN_NAME_RECORDED_AT, @"type": [SQLColumnType sqlColumnWithType: kInteger]}
30
+ ];
31
+
32
+ return [MAURSQLiteHelper createTableSqlStatement:@LC_TABLE_NAME columns:columns];
33
+ }
34
+
35
+ @end
@@ -0,0 +1,53 @@
1
+ //
2
+ // MAURLocationManager.h
3
+ //
4
+ // Created by Jinru on 12/19/09.
5
+ // Copyright 2009 Arizona State University. All rights reserved.
6
+ //
7
+
8
+ #import <UIKit/UIKit.h>
9
+ #import <CoreLocation/CoreLocation.h>
10
+ #import "MAURProviderDelegate.h"
11
+
12
+ // protocol for sending location updates to another view controller
13
+ @protocol MAURLocationManagerDelegate
14
+ @required
15
+ - (void) onAuthorizationChanged:(MAURLocationAuthorizationStatus)authStatus;
16
+ - (void) onLocationsChanged:(NSArray*)locations;
17
+ - (void) onError:(NSError*)error;
18
+ - (void) onLocationPause:(CLLocationManager*)manager;
19
+ - (void) onLocationResume:(CLLocationManager*)manager;
20
+ - (void) onRegionExit:(CLRegion*)region;
21
+ @end
22
+
23
+ @interface MAURLocationManager : NSObject <CLLocationManagerDelegate> {
24
+
25
+ CLLocationManager* locationManager;
26
+ __weak id delegate;
27
+ }
28
+
29
+ @property (nonatomic, strong) CLLocationManager* locationManager;
30
+ @property (nonatomic, weak) id delegate;
31
+
32
+ - (BOOL) start:(NSError * __autoreleasing *)outError;
33
+ - (BOOL) stop:(NSError * __autoreleasing *)outError;
34
+ - (BOOL) startMonitoringSignificantLocationChanges;
35
+ - (BOOL) stopMonitoringSignificantLocationChanges;
36
+ - (void) startMonitoringForRegion:(CLRegion*)region;
37
+ - (void) stopMonitoringForRegion:(CLRegion*)region;
38
+ - (void) stopMonitoringForRegionIdentifier:(NSString*)identifier;
39
+ - (void) stopMonitoringAllRegions;
40
+ - (NSSet<__kindof CLRegion *>*) monitoredRegions;
41
+ - (void) setShowsBackgroundLocationIndicator:(BOOL)shows;
42
+ - (void) setPausesLocationUpdatesAutomatically:(BOOL)newPausesLocationsUpdatesAutomatically;
43
+ - (BOOL) pausesLocationUpdatesAutomatically;
44
+ - (void) setDistanceFilter:(CLLocationDistance)newDistanceFiler;
45
+ - (CLLocationDistance) distanceFilter;
46
+ - (void) setActivityType:(CLActivityType)newActivityType;
47
+ - (CLActivityType) activityType;
48
+ - (void) setDesiredAccuracy:(CLLocationAccuracy)newDesiredAccuracy;
49
+ - (CLLocationAccuracy) desiredAccuracy;
50
+
51
+ + (MAURLocationManager*)sharedInstance; // Singleton method
52
+
53
+ @end