@josuelmm/cordova-background-geolocation 2.3.5

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 (239) hide show
  1. package/.npmignore +23 -0
  2. package/CHANGELOG.md +787 -0
  3. package/CONTRIBUTORS.md +15 -0
  4. package/HISTORY.md +734 -0
  5. package/LICENSE +191 -0
  6. package/README.md +125 -0
  7. package/RELEASE.MD +5 -0
  8. package/android/CDVBackgroundGeolocation/src/main/AndroidManifest.xml +23 -0
  9. package/android/CDVBackgroundGeolocation/src/main/java/com/evgenii/jsevaluator/HandlerWrapper.java +18 -0
  10. package/android/CDVBackgroundGeolocation/src/main/java/com/evgenii/jsevaluator/JavaScriptInterface.java +22 -0
  11. package/android/CDVBackgroundGeolocation/src/main/java/com/evgenii/jsevaluator/JsEvaluator.java +133 -0
  12. package/android/CDVBackgroundGeolocation/src/main/java/com/evgenii/jsevaluator/JsFunctionCallFormatter.java +37 -0
  13. package/android/CDVBackgroundGeolocation/src/main/java/com/evgenii/jsevaluator/WebViewWrapper.java +71 -0
  14. package/android/CDVBackgroundGeolocation/src/main/java/com/evgenii/jsevaluator/interfaces/CallJavaResultInterface.java +8 -0
  15. package/android/CDVBackgroundGeolocation/src/main/java/com/evgenii/jsevaluator/interfaces/HandlerWrapperInterface.java +5 -0
  16. package/android/CDVBackgroundGeolocation/src/main/java/com/evgenii/jsevaluator/interfaces/JsCallback.java +10 -0
  17. package/android/CDVBackgroundGeolocation/src/main/java/com/evgenii/jsevaluator/interfaces/JsEvaluatorInterface.java +18 -0
  18. package/android/CDVBackgroundGeolocation/src/main/java/com/evgenii/jsevaluator/interfaces/WebViewWrapperInterface.java +14 -0
  19. package/android/CDVBackgroundGeolocation/src/main/java/com/marianhello/bgloc/cordova/ConfigMapper.java +148 -0
  20. package/android/CDVBackgroundGeolocation/src/main/java/com/marianhello/bgloc/cordova/PluginRegistry.java +25 -0
  21. package/android/CDVBackgroundGeolocation/src/main/java/com/marianhello/bgloc/cordova/headless/JsEvaluatorTaskRunner.java +53 -0
  22. package/android/CDVBackgroundGeolocation/src/main/java/com/tenforwardconsulting/bgloc/cordova/BackgroundGeolocationPlugin.java +603 -0
  23. package/android/CDVBackgroundGeolocation/src/main/res/values/strings.xml +4 -0
  24. package/android/CDVBackgroundGeolocation/src/test/java/com/marianhello/ConfigMapperTest.java +208 -0
  25. package/android/common/src/androidTest/java/com/marianhello/bgloc/BackgroundGeolocationFacadeTest.java +45 -0
  26. package/android/common/src/androidTest/java/com/marianhello/bgloc/BatchManagerTest.java +570 -0
  27. package/android/common/src/androidTest/java/com/marianhello/bgloc/ConfigTest.java +76 -0
  28. package/android/common/src/androidTest/java/com/marianhello/bgloc/ContentProviderLocationDAOTest.java +437 -0
  29. package/android/common/src/androidTest/java/com/marianhello/bgloc/DBLogReaderTest.java +95 -0
  30. package/android/common/src/androidTest/java/com/marianhello/bgloc/LocationContentProviderTest.java +159 -0
  31. package/android/common/src/androidTest/java/com/marianhello/bgloc/LocationServiceProxyTest.java +161 -0
  32. package/android/common/src/androidTest/java/com/marianhello/bgloc/LocationServiceTest.java +247 -0
  33. package/android/common/src/androidTest/java/com/marianhello/bgloc/SQLiteConfigurationDAOTest.java +200 -0
  34. package/android/common/src/androidTest/java/com/marianhello/bgloc/SQLiteLocationDAOTest.java +457 -0
  35. package/android/common/src/androidTest/java/com/marianhello/bgloc/SQLiteLocationDAOThreadTest.java +96 -0
  36. package/android/common/src/androidTest/java/com/marianhello/bgloc/SQLiteOpenHelperTest.java +225 -0
  37. package/android/common/src/androidTest/java/com/marianhello/bgloc/TestPluginDelegate.java +46 -0
  38. package/android/common/src/androidTest/java/com/marianhello/bgloc/TestResourceResolver.java +14 -0
  39. package/android/common/src/androidTest/java/com/marianhello/bgloc/provider/MockLocationProvider.java +50 -0
  40. package/android/common/src/androidTest/java/com/marianhello/bgloc/provider/TestLocationProviderFactory.java +17 -0
  41. package/android/common/src/androidTest/java/com/marianhello/bgloc/sqlite/SQLiteOpenHelper10.java +92 -0
  42. package/android/common/src/androidTest/java/com/marianhello/bgloc/test/LocationProviderTestCase.java +107 -0
  43. package/android/common/src/androidTest/java/com/marianhello/bgloc/test/TestConstants.java +5 -0
  44. package/android/common/src/main/AndroidManifest.xml +72 -0
  45. package/android/common/src/main/java/com/marianhello/bgloc/BackgroundGeolocationFacade.java +523 -0
  46. package/android/common/src/main/java/com/marianhello/bgloc/BootCompletedReceiver.java +59 -0
  47. package/android/common/src/main/java/com/marianhello/bgloc/Config.java +652 -0
  48. package/android/common/src/main/java/com/marianhello/bgloc/ConnectivityListener.java +5 -0
  49. package/android/common/src/main/java/com/marianhello/bgloc/HttpPostService.java +224 -0
  50. package/android/common/src/main/java/com/marianhello/bgloc/LocationManager.java +138 -0
  51. package/android/common/src/main/java/com/marianhello/bgloc/PluginDelegate.java +19 -0
  52. package/android/common/src/main/java/com/marianhello/bgloc/PluginException.java +38 -0
  53. package/android/common/src/main/java/com/marianhello/bgloc/PostLocationTask.java +188 -0
  54. package/android/common/src/main/java/com/marianhello/bgloc/ResourceResolver.java +55 -0
  55. package/android/common/src/main/java/com/marianhello/bgloc/data/AbstractLocationTemplate.java +69 -0
  56. package/android/common/src/main/java/com/marianhello/bgloc/data/ArrayListLocationTemplate.java +88 -0
  57. package/android/common/src/main/java/com/marianhello/bgloc/data/BackgroundActivity.java +108 -0
  58. package/android/common/src/main/java/com/marianhello/bgloc/data/BackgroundLocation.java +994 -0
  59. package/android/common/src/main/java/com/marianhello/bgloc/data/ConfigurationDAO.java +13 -0
  60. package/android/common/src/main/java/com/marianhello/bgloc/data/DAOFactory.java +17 -0
  61. package/android/common/src/main/java/com/marianhello/bgloc/data/HashMapLocationTemplate.java +82 -0
  62. package/android/common/src/main/java/com/marianhello/bgloc/data/LocationDAO.java +22 -0
  63. package/android/common/src/main/java/com/marianhello/bgloc/data/LocationTemplate.java +12 -0
  64. package/android/common/src/main/java/com/marianhello/bgloc/data/LocationTemplateFactory.java +65 -0
  65. package/android/common/src/main/java/com/marianhello/bgloc/data/LocationTransform.java +19 -0
  66. package/android/common/src/main/java/com/marianhello/bgloc/data/provider/ContentProviderLocationDAO.java +395 -0
  67. package/android/common/src/main/java/com/marianhello/bgloc/data/provider/LocationContentProvider.java +321 -0
  68. package/android/common/src/main/java/com/marianhello/bgloc/data/sqlite/SQLiteConfigurationContract.java +76 -0
  69. package/android/common/src/main/java/com/marianhello/bgloc/data/sqlite/SQLiteConfigurationDAO.java +160 -0
  70. package/android/common/src/main/java/com/marianhello/bgloc/data/sqlite/SQLiteLocationContract.java +112 -0
  71. package/android/common/src/main/java/com/marianhello/bgloc/data/sqlite/SQLiteLocationDAO.java +506 -0
  72. package/android/common/src/main/java/com/marianhello/bgloc/data/sqlite/SQLiteOpenHelper.java +151 -0
  73. package/android/common/src/main/java/com/marianhello/bgloc/headless/AbstractTaskRunner.java +15 -0
  74. package/android/common/src/main/java/com/marianhello/bgloc/headless/ActivityTask.java +48 -0
  75. package/android/common/src/main/java/com/marianhello/bgloc/headless/JsCallback.java +10 -0
  76. package/android/common/src/main/java/com/marianhello/bgloc/headless/LocationTask.java +60 -0
  77. package/android/common/src/main/java/com/marianhello/bgloc/headless/StationaryTask.java +25 -0
  78. package/android/common/src/main/java/com/marianhello/bgloc/headless/Task.java +8 -0
  79. package/android/common/src/main/java/com/marianhello/bgloc/headless/TaskRunner.java +5 -0
  80. package/android/common/src/main/java/com/marianhello/bgloc/headless/TaskRunnerFactory.java +8 -0
  81. package/android/common/src/main/java/com/marianhello/bgloc/provider/AbstractLocationProvider.java +171 -0
  82. package/android/common/src/main/java/com/marianhello/bgloc/provider/ActivityRecognitionLocationProvider.java +282 -0
  83. package/android/common/src/main/java/com/marianhello/bgloc/provider/DistanceFilterLocationProvider.java +610 -0
  84. package/android/common/src/main/java/com/marianhello/bgloc/provider/LocationProvider.java +32 -0
  85. package/android/common/src/main/java/com/marianhello/bgloc/provider/LocationProviderFactory.java +47 -0
  86. package/android/common/src/main/java/com/marianhello/bgloc/provider/ProviderDelegate.java +12 -0
  87. package/android/common/src/main/java/com/marianhello/bgloc/provider/RawLocationProvider.java +145 -0
  88. package/android/common/src/main/java/com/marianhello/bgloc/service/LocationService.java +16 -0
  89. package/android/common/src/main/java/com/marianhello/bgloc/service/LocationServiceImpl.java +749 -0
  90. package/android/common/src/main/java/com/marianhello/bgloc/service/LocationServiceInfo.java +6 -0
  91. package/android/common/src/main/java/com/marianhello/bgloc/service/LocationServiceInfoImpl.java +41 -0
  92. package/android/common/src/main/java/com/marianhello/bgloc/service/LocationServiceIntentBuilder.java +203 -0
  93. package/android/common/src/main/java/com/marianhello/bgloc/service/LocationServiceProxy.java +130 -0
  94. package/android/common/src/main/java/com/marianhello/bgloc/sync/AccountHelper.java +39 -0
  95. package/android/common/src/main/java/com/marianhello/bgloc/sync/Authenticator.java +68 -0
  96. package/android/common/src/main/java/com/marianhello/bgloc/sync/AuthenticatorService.java +28 -0
  97. package/android/common/src/main/java/com/marianhello/bgloc/sync/BatchManager.java +278 -0
  98. package/android/common/src/main/java/com/marianhello/bgloc/sync/NotificationHelper.java +148 -0
  99. package/android/common/src/main/java/com/marianhello/bgloc/sync/SyncAdapter.java +249 -0
  100. package/android/common/src/main/java/com/marianhello/bgloc/sync/SyncService.java +68 -0
  101. package/android/common/src/main/java/com/marianhello/logging/DBLogReader.java +203 -0
  102. package/android/common/src/main/java/com/marianhello/logging/LogEntry.java +99 -0
  103. package/android/common/src/main/java/com/marianhello/logging/LoggerManager.java +70 -0
  104. package/android/common/src/main/java/com/marianhello/logging/UncaughtExceptionLogger.java +36 -0
  105. package/android/common/src/main/java/com/marianhello/utils/CloneHelper.java +22 -0
  106. package/android/common/src/main/java/com/marianhello/utils/Convert.java +56 -0
  107. package/android/common/src/main/java/com/marianhello/utils/TextUtils.java +72 -0
  108. package/android/common/src/main/java/com/marianhello/utils/ToneGenerator.java +68 -0
  109. package/android/common/src/main/java/org/apache/commons/io/Charsets.java +153 -0
  110. package/android/common/src/main/java/org/apache/commons/io/input/ReversedLinesFileReader.java +344 -0
  111. package/android/common/src/main/java/org/chromium/content/browser/ThreadUtils.java +134 -0
  112. package/android/common/src/main/java/ru/andremoniy/sqlbuilder/SqlExpression.java +398 -0
  113. package/android/common/src/main/java/ru/andremoniy/sqlbuilder/SqlSelectStatement.java +671 -0
  114. package/android/common/src/main/java/ru/andremoniy/sqlbuilder/SqlStatement.java +29 -0
  115. package/android/common/src/main/java/ru/andremoniy/utils/TextUtils.java +61 -0
  116. package/android/common/src/main/res/mipmap-hdpi/ic_launcher.png +0 -0
  117. package/android/common/src/main/res/mipmap-mdpi/ic_launcher.png +0 -0
  118. package/android/common/src/main/res/mipmap-xhdpi/ic_launcher.png +0 -0
  119. package/android/common/src/main/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  120. package/android/common/src/main/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  121. package/android/common/src/main/res/values/strings.xml +4 -0
  122. package/android/common/src/main/res/xml/authenticator.xml +7 -0
  123. package/android/common/src/main/res/xml/syncadapter.xml +9 -0
  124. package/android/common/src/test/java/com/marianhello/backgroundgeolocation/ArrayListLocationTemplateTest.java +82 -0
  125. package/android/common/src/test/java/com/marianhello/backgroundgeolocation/BackgroundLocationTest.java +128 -0
  126. package/android/common/src/test/java/com/marianhello/backgroundgeolocation/ConfigTest.java +191 -0
  127. package/android/common/src/test/java/com/marianhello/backgroundgeolocation/DBLogReaderTest.java +37 -0
  128. package/android/common/src/test/java/com/marianhello/backgroundgeolocation/HashMapLocationTemplateTest.java +216 -0
  129. package/android/common/src/test/java/com/marianhello/backgroundgeolocation/HttpPostServiceTest.java +223 -0
  130. package/android/common/src/test/java/com/marianhello/backgroundgeolocation/LocationTemplateFactoryTest.java +50 -0
  131. package/android/common/src/test/java/com/marianhello/backgroundgeolocation/PostLocationTaskTest.java +180 -0
  132. package/android/common/src/test/java/com/marianhello/backgroundgeolocation/TestHelper.java +16 -0
  133. package/android/dependencies.gradle +13 -0
  134. package/ios/CDVBackgroundGeolocation/CDVBackgroundGeolocation.h +41 -0
  135. package/ios/CDVBackgroundGeolocation/CDVBackgroundGeolocation.m +526 -0
  136. package/ios/common/BackgroundGeolocation/CocoaLumberjack.h +1945 -0
  137. package/ios/common/BackgroundGeolocation/CocoaLumberjack.m +5255 -0
  138. package/ios/common/BackgroundGeolocation/FMDB.h +2357 -0
  139. package/ios/common/BackgroundGeolocation/FMDB.m +2672 -0
  140. package/ios/common/BackgroundGeolocation/FMDBLogger.h +42 -0
  141. package/ios/common/BackgroundGeolocation/FMDBLogger.m +264 -0
  142. package/ios/common/BackgroundGeolocation/INTULocationManager/INTUHeadingRequest.h +41 -0
  143. package/ios/common/BackgroundGeolocation/INTULocationManager/INTUHeadingRequest.m +68 -0
  144. package/ios/common/BackgroundGeolocation/INTULocationManager/INTULocationManager+Internal.h +33 -0
  145. package/ios/common/BackgroundGeolocation/INTULocationManager/INTULocationManager.h +178 -0
  146. package/ios/common/BackgroundGeolocation/INTULocationManager/INTULocationManager.m +1025 -0
  147. package/ios/common/BackgroundGeolocation/INTULocationManager/INTULocationRequest.h +103 -0
  148. package/ios/common/BackgroundGeolocation/INTULocationManager/INTULocationRequest.m +238 -0
  149. package/ios/common/BackgroundGeolocation/INTULocationManager/INTULocationRequestDefines.h +163 -0
  150. package/ios/common/BackgroundGeolocation/INTULocationManager/INTURequestIDGenerator.h +39 -0
  151. package/ios/common/BackgroundGeolocation/INTULocationManager/INTURequestIDGenerator.m +37 -0
  152. package/ios/common/BackgroundGeolocation/MAURAbstractLocationProvider.h +51 -0
  153. package/ios/common/BackgroundGeolocation/MAURAbstractLocationProvider.m +53 -0
  154. package/ios/common/BackgroundGeolocation/MAURActivity.h +23 -0
  155. package/ios/common/BackgroundGeolocation/MAURActivity.m +52 -0
  156. package/ios/common/BackgroundGeolocation/MAURActivityLocationProvider.h +18 -0
  157. package/ios/common/BackgroundGeolocation/MAURActivityLocationProvider.m +202 -0
  158. package/ios/common/BackgroundGeolocation/MAURBackgroundGeolocationFacade.h +60 -0
  159. package/ios/common/BackgroundGeolocation/MAURBackgroundGeolocationFacade.m +638 -0
  160. package/ios/common/BackgroundGeolocation/MAURBackgroundSync.h +34 -0
  161. package/ios/common/BackgroundGeolocation/MAURBackgroundSync.m +185 -0
  162. package/ios/common/BackgroundGeolocation/MAURBackgroundTaskManager.h +25 -0
  163. package/ios/common/BackgroundGeolocation/MAURBackgroundTaskManager.m +105 -0
  164. package/ios/common/BackgroundGeolocation/MAURConfig.h +74 -0
  165. package/ios/common/BackgroundGeolocation/MAURConfig.m +485 -0
  166. package/ios/common/BackgroundGeolocation/MAURConfigurationContract.h +49 -0
  167. package/ios/common/BackgroundGeolocation/MAURConfigurationContract.m +51 -0
  168. package/ios/common/BackgroundGeolocation/MAURDistanceFilterLocationProvider.h +20 -0
  169. package/ios/common/BackgroundGeolocation/MAURDistanceFilterLocationProvider.m +514 -0
  170. package/ios/common/BackgroundGeolocation/MAURGeolocationOpenHelper.h +17 -0
  171. package/ios/common/BackgroundGeolocation/MAURGeolocationOpenHelper.m +97 -0
  172. package/ios/common/BackgroundGeolocation/MAURLocation.h +59 -0
  173. package/ios/common/BackgroundGeolocation/MAURLocation.m +349 -0
  174. package/ios/common/BackgroundGeolocation/MAURLocationContract.h +34 -0
  175. package/ios/common/BackgroundGeolocation/MAURLocationContract.m +35 -0
  176. package/ios/common/BackgroundGeolocation/MAURLocationManager.h +53 -0
  177. package/ios/common/BackgroundGeolocation/MAURLocationManager.m +287 -0
  178. package/ios/common/BackgroundGeolocation/MAURLogReader.h +26 -0
  179. package/ios/common/BackgroundGeolocation/MAURLogReader.m +122 -0
  180. package/ios/common/BackgroundGeolocation/MAURLogging.h +19 -0
  181. package/ios/common/BackgroundGeolocation/MAURPostLocationTask.h +40 -0
  182. package/ios/common/BackgroundGeolocation/MAURPostLocationTask.m +250 -0
  183. package/ios/common/BackgroundGeolocation/MAURProviderDelegate.h +52 -0
  184. package/ios/common/BackgroundGeolocation/MAURRawLocationProvider.h +18 -0
  185. package/ios/common/BackgroundGeolocation/MAURRawLocationProvider.m +129 -0
  186. package/ios/common/BackgroundGeolocation/MAURSQLiteConfigurationDAO.h +26 -0
  187. package/ios/common/BackgroundGeolocation/MAURSQLiteConfigurationDAO.m +278 -0
  188. package/ios/common/BackgroundGeolocation/MAURSQLiteHelper.h +57 -0
  189. package/ios/common/BackgroundGeolocation/MAURSQLiteHelper.m +93 -0
  190. package/ios/common/BackgroundGeolocation/MAURSQLiteLocationDAO.h +38 -0
  191. package/ios/common/BackgroundGeolocation/MAURSQLiteLocationDAO.m +380 -0
  192. package/ios/common/BackgroundGeolocation/MAURSQLiteOpenHelper.h +32 -0
  193. package/ios/common/BackgroundGeolocation/MAURSQLiteOpenHelper.m +276 -0
  194. package/ios/common/BackgroundGeolocation/MAURUncaughtExceptionLogger.h +20 -0
  195. package/ios/common/BackgroundGeolocation/MAURUncaughtExceptionLogger.m +62 -0
  196. package/ios/common/BackgroundGeolocation/Reachability.h +102 -0
  197. package/ios/common/BackgroundGeolocation/Reachability.m +475 -0
  198. package/ios/common/BackgroundGeolocation/SOMotionDetector/CHANGELOG.md +2 -0
  199. package/ios/common/BackgroundGeolocation/SOMotionDetector/LICENSE +21 -0
  200. package/ios/common/BackgroundGeolocation/SOMotionDetector/README.md +135 -0
  201. package/ios/common/BackgroundGeolocation/SOMotionDetector/SOLocationManager.h +80 -0
  202. package/ios/common/BackgroundGeolocation/SOMotionDetector/SOLocationManager.m +147 -0
  203. package/ios/common/BackgroundGeolocation/SOMotionDetector/SOMotionActivity.h +30 -0
  204. package/ios/common/BackgroundGeolocation/SOMotionDetector/SOMotionActivity.m +42 -0
  205. package/ios/common/BackgroundGeolocation/SOMotionDetector/SOMotionDetector.h +99 -0
  206. package/ios/common/BackgroundGeolocation/SOMotionDetector/SOMotionDetector.m +327 -0
  207. package/ios/common/BackgroundGeolocation/SOMotionDetector/SOStepDetector.h +44 -0
  208. package/ios/common/BackgroundGeolocation/SOMotionDetector/SOStepDetector.m +94 -0
  209. package/ios/common/BackgroundGeolocation/SQLQueryBuilder/README.md +170 -0
  210. package/ios/common/BackgroundGeolocation/SQLQueryBuilder/ext/NSString+ZIMString.h +55 -0
  211. package/ios/common/BackgroundGeolocation/SQLQueryBuilder/ext/NSString+ZIMString.m +47 -0
  212. package/ios/common/BackgroundGeolocation/SQLQueryBuilder/sql/ZIMSqlDataManipulationCommand.h +27 -0
  213. package/ios/common/BackgroundGeolocation/SQLQueryBuilder/sql/ZIMSqlExpression.h +250 -0
  214. package/ios/common/BackgroundGeolocation/SQLQueryBuilder/sql/ZIMSqlExpression.m +259 -0
  215. package/ios/common/BackgroundGeolocation/SQLQueryBuilder/sql/ZIMSqlSelectStatement.h +360 -0
  216. package/ios/common/BackgroundGeolocation/SQLQueryBuilder/sql/ZIMSqlSelectStatement.m +427 -0
  217. package/ios/common/BackgroundGeolocation/SQLQueryBuilder/sql/ZIMSqlStatement.h +37 -0
  218. package/ios/common/BackgroundGeolocation.xcodeproj/project.pbxproj +760 -0
  219. package/ios/common/BackgroundGeolocationTests/Info.plist +24 -0
  220. package/ios/common/BackgroundGeolocationTests/MAURBackgroundLocationTest.m +185 -0
  221. package/ios/common/BackgroundGeolocationTests/MAURConfigTest.m +161 -0
  222. package/ios/common/BackgroundGeolocationTests/MAURGeolocationOpenHelperTest.m +102 -0
  223. package/ios/common/BackgroundGeolocationTests/MAURLocationTest.m +216 -0
  224. package/ios/common/BackgroundGeolocationTests/MAURLocationUploaderTest.m +55 -0
  225. package/ios/common/BackgroundGeolocationTests/MAURLogReaderTest.m +43 -0
  226. package/ios/common/BackgroundGeolocationTests/MAURSQLiteConfigurationDAOTest.m +102 -0
  227. package/ios/common/BackgroundGeolocationTests/MAURSQLiteHelperTest.m +41 -0
  228. package/ios/common/BackgroundGeolocationTests/MAURSQLiteLocationDAOTests.m +240 -0
  229. package/ios/common/BackgroundGeolocationTests/MAURSQLiteLocationDAOThreadTest.m +84 -0
  230. package/ios/common/BackgroundGeolocationTests/MAURSQLiteOpenHelperTest.m +144 -0
  231. package/ios/common/CONTRIBUTORS.md +10 -0
  232. package/ios/common/LICENSE +191 -0
  233. package/ios/common/README.md +7 -0
  234. package/ios/common/scripts/xcode-refactor.js +184 -0
  235. package/package.json +44 -0
  236. package/plugin.xml +355 -0
  237. package/www/BackgroundGeolocation.d.ts +910 -0
  238. package/www/BackgroundGeolocation.js +247 -0
  239. package/www/radio.js +177 -0
@@ -0,0 +1,13 @@
1
+ dependencies {
2
+ // logback
3
+ implementation 'com.github.tony19:logback-android:1.1.1-9'
4
+ implementation 'org.slf4j:slf4j-api:1.7.21'
5
+ // android-permissions
6
+ implementation 'io.github.nishkarsh:android-permissions:2.1.8'
7
+ // promises
8
+ implementation 'com.github.jparkie:promise:1.0.3'
9
+ }
10
+
11
+ android {
12
+ useLibrary 'org.apache.http.legacy'
13
+ }
@@ -0,0 +1,41 @@
1
+ //
2
+ // CDVBackgroundGeolocation.h
3
+ //
4
+ // Created by Marian Hello on 04/06/16.
5
+ // Version 2.0.0
6
+ //
7
+ // According to apache license
8
+ //
9
+ // This is class is using code from christocracy cordova-plugin-background-geolocation plugin
10
+ // https://github.com/christocracy/cordova-plugin-background-geolocation
11
+
12
+ #import <UserNotifications/UserNotifications.h>
13
+ #import <Cordova/CDVPlugin.h>
14
+ #import "MAURProviderDelegate.h"
15
+
16
+ @interface CDVBackgroundGeolocation : CDVPlugin <MAURProviderDelegate, UNUserNotificationCenterDelegate>
17
+
18
+ - (void) configure:(CDVInvokedUrlCommand*)command;
19
+ - (void) start:(CDVInvokedUrlCommand*)command;
20
+ - (void) stop:(CDVInvokedUrlCommand*)command;
21
+ - (void) getConfig:(CDVInvokedUrlCommand*)command;
22
+ - (void) checkStatus:(CDVInvokedUrlCommand*)command;
23
+ - (void) switchMode:(CDVInvokedUrlCommand*)command;
24
+ - (void) isLocationEnabled:(CDVInvokedUrlCommand*)command;
25
+ - (void) showAppSettings:(CDVInvokedUrlCommand*)command;
26
+ - (void) showLocationSettings:(CDVInvokedUrlCommand*)command;
27
+ - (void) getStationaryLocation:(CDVInvokedUrlCommand *)command;
28
+ - (void) getLocations:(CDVInvokedUrlCommand*)command;
29
+ - (void) getValidLocations:(CDVInvokedUrlCommand*)command;
30
+ - (void) getValidLocationsAndDelete:(CDVInvokedUrlCommand*)command;
31
+ - (void) deleteLocation:(CDVInvokedUrlCommand*)command;
32
+ - (void) deleteAllLocations:(CDVInvokedUrlCommand*)command;
33
+ - (void) getCurrentLocation:(CDVInvokedUrlCommand*)command;
34
+ - (void) getLogEntries:(CDVInvokedUrlCommand*)command;
35
+ - (void) startTask:(CDVInvokedUrlCommand*)command;
36
+ - (void) endTask:(CDVInvokedUrlCommand*)command;
37
+ - (void) forceSync:(CDVInvokedUrlCommand*)command;
38
+ - (void) addEventListener:(CDVInvokedUrlCommand*)command;
39
+ - (void) removeEventListener:(CDVInvokedUrlCommand*)command;
40
+
41
+ @end
@@ -0,0 +1,526 @@
1
+ //
2
+ // CDVBackgroundGeolocation.h
3
+ //
4
+ // Created by Marian Hello on 04/06/16.
5
+ // Version 2.0.0
6
+ //
7
+ // According to apache license
8
+ //
9
+ // This is class is using code from christocracy cordova-plugin-background-geolocation plugin
10
+ // https://github.com/christocracy/cordova-plugin-background-geolocation
11
+
12
+ #import "CDVBackgroundGeolocation.h"
13
+ #import "MAURConfig.h"
14
+ #import "MAURBackgroundGeolocationFacade.h"
15
+ #import "MAURBackgroundTaskManager.h"
16
+
17
+ static NSString * const TAG = @"CDVBackgroundGeolocation";
18
+
19
+ @implementation CDVBackgroundGeolocation {
20
+ NSString *callbackId;
21
+ MAURConfig *config;
22
+ MAURBackgroundGeolocationFacade* facade;
23
+
24
+ API_AVAILABLE(ios(10.0))
25
+ __weak id<UNUserNotificationCenterDelegate> prevNotificationDelegate;
26
+ }
27
+
28
+ - (void)pluginInitialize
29
+ {
30
+
31
+ facade = [[MAURBackgroundGeolocationFacade alloc] init];
32
+ facade.delegate = self;
33
+
34
+ [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(onAppPause:) name:UIApplicationDidEnterBackgroundNotification object:nil];
35
+ [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(onAppResume:) name:UIApplicationWillEnterForegroundNotification object:nil];
36
+ [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(onFinishLaunching:) name:UIApplicationDidFinishLaunchingNotification object:nil];
37
+ [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(onAppTerminate:) name:UIApplicationWillTerminateNotification object:nil];
38
+ }
39
+
40
+ /**
41
+ * configure plugin
42
+ * @param {Number} stationaryRadius
43
+ * @param {Number} distanceFilter
44
+ * @param {Number} locationTimeout
45
+ */
46
+ - (void) configure:(CDVInvokedUrlCommand*)command
47
+ {
48
+ NSLog(@"%@ #%@", TAG, @"configure");
49
+ [self.commandDelegate runInBackground:^{
50
+ config = [MAURConfig fromDictionary:[command.arguments objectAtIndex:0]];
51
+
52
+ NSError *error = nil;
53
+ CDVPluginResult* result = nil;
54
+ if ([facade configure:config error:&error]) {
55
+ result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK];
56
+ } else {
57
+ result = [CDVPluginResult resultWithStatus:CDVCommandStatus_ERROR messageAsDictionary:[self errorToDictionary:error]];
58
+ }
59
+ [self.commandDelegate sendPluginResult:result callbackId:command.callbackId];
60
+ }];
61
+ }
62
+
63
+ /**
64
+ * Turn on background geolocation
65
+ * in case of failure it calls error callback from configure method
66
+ * may fire two callback when location services are disabled and when authorization failed
67
+ */
68
+ - (void) start:(CDVInvokedUrlCommand*)command
69
+ {
70
+ NSLog(@"%@ #%@", TAG, @"start");
71
+ [self.commandDelegate runInBackground:^{
72
+ NSError *error = nil;
73
+
74
+ [facade start:&error];
75
+ if (error == nil) {
76
+ [self sendEvent:@"start"];
77
+ } else {
78
+ [self sendError:error];
79
+ }
80
+ CDVPluginResult* result = nil;
81
+ if ([facade configure:config error:&error]) {
82
+ result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK];
83
+ } else {
84
+ result = [CDVPluginResult resultWithStatus:CDVCommandStatus_ERROR messageAsDictionary:[self errorToDictionary:error]];
85
+ }
86
+ [self.commandDelegate sendPluginResult:result callbackId:command.callbackId];
87
+ }];
88
+ }
89
+
90
+ /**
91
+ * Turn it off
92
+ */
93
+ - (void) stop:(CDVInvokedUrlCommand*)command
94
+ {
95
+ NSLog(@"%@ #%@", TAG, @"stop");
96
+ [self.commandDelegate runInBackground:^{
97
+ NSError *error = nil;
98
+
99
+ [facade stop:&error];
100
+ if (error == nil) {
101
+ [self sendEvent:@"stop"];
102
+ } else {
103
+ [self sendError:error];
104
+ }
105
+ CDVPluginResult* result = nil;
106
+ if ([facade configure:config error:&error]) {
107
+ result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK];
108
+ } else {
109
+ result = [CDVPluginResult resultWithStatus:CDVCommandStatus_ERROR messageAsDictionary:[self errorToDictionary:error]];
110
+ }
111
+ [self.commandDelegate sendPluginResult:result callbackId:command.callbackId];
112
+ }];
113
+ }
114
+
115
+ /**
116
+ * Change
117
+ * @param {Number} operation mode BACKGROUND/FOREGROUND
118
+ */
119
+ - (void) switchMode:(CDVInvokedUrlCommand *)command
120
+ {
121
+ NSLog(@"%@ #%@", TAG, @"switchMode");
122
+ [self.commandDelegate runInBackground:^{
123
+ MAUROperationalMode mode = [[command.arguments objectAtIndex: 0] intValue];
124
+ [facade switchMode:mode];
125
+ }];
126
+ }
127
+
128
+ - (void) getConfig:(CDVInvokedUrlCommand*)command
129
+ {
130
+ NSLog(@"%@ #%@", TAG, @"getConfig");
131
+ [self.commandDelegate runInBackground:^{
132
+ MAURConfig *config = [facade getConfig];
133
+ CDVPluginResult* result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsDictionary:[config toDictionary]];
134
+ [self.commandDelegate sendPluginResult:result callbackId:command.callbackId];
135
+ }];
136
+ }
137
+
138
+ - (void) checkStatus:(CDVInvokedUrlCommand *)command
139
+ {
140
+ NSLog(@"%@ #%@", TAG, @"checkStatus");
141
+ [self.commandDelegate runInBackground:^{
142
+ BOOL isRunning = [facade isStarted];
143
+ BOOL locationServicesEnabled = [facade locationServicesEnabled];
144
+ NSInteger authorizationStatus = [facade authorizationStatus];
145
+
146
+ NSMutableDictionary *dict = [NSMutableDictionary dictionaryWithCapacity:3];
147
+ [dict setObject:[NSNumber numberWithBool:isRunning] forKey:@"isRunning"];
148
+ [dict setObject:[NSNumber numberWithBool:locationServicesEnabled] forKey:@"hasPermissions"]; // @deprecated
149
+ [dict setObject:[NSNumber numberWithBool:locationServicesEnabled] forKey:@"locationServicesEnabled"];
150
+ [dict setObject:[NSNumber numberWithInteger:authorizationStatus] forKey:@"authorization"];
151
+ CDVPluginResult* result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsDictionary:dict];
152
+ [self.commandDelegate sendPluginResult:result callbackId:command.callbackId];
153
+ }];
154
+ }
155
+
156
+ /**
157
+ * Fetches current stationaryLocation
158
+ */
159
+ - (void) getStationaryLocation:(CDVInvokedUrlCommand *)command
160
+ {
161
+ NSLog(@"%@ #%@", TAG, @"getStationaryLocation");
162
+ [self.commandDelegate runInBackground:^{
163
+ CDVPluginResult* result = nil;
164
+
165
+ MAURLocation* stationaryLocation = [facade getStationaryLocation];
166
+ if (stationaryLocation) {
167
+ result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsDictionary:[stationaryLocation toDictionary]];
168
+ } else {
169
+ result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsBool:NO];
170
+ }
171
+
172
+ [self.commandDelegate sendPluginResult:result callbackId:command.callbackId];
173
+ }];
174
+ }
175
+
176
+ - (void) isLocationEnabled:(CDVInvokedUrlCommand*)command
177
+ {
178
+ NSLog(@"%@ #%@", TAG, @"isLocationEnabled");
179
+ [self.commandDelegate runInBackground:^{
180
+ BOOL isLocationEnabled = [facade locationServicesEnabled];
181
+ CDVPluginResult* result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsBool:isLocationEnabled];
182
+ [self.commandDelegate sendPluginResult:result callbackId:command.callbackId];
183
+ }];
184
+ }
185
+
186
+ - (void) showAppSettings:(CDVInvokedUrlCommand*)command
187
+ {
188
+ NSLog(@"%@ #%@", TAG, @"showAppSettings");
189
+ [self.commandDelegate runInBackground:^{
190
+ [facade showAppSettings];
191
+ }];
192
+ }
193
+
194
+ - (void) showLocationSettings:(CDVInvokedUrlCommand*)command
195
+ {
196
+ NSLog(@"%@ #%@", TAG, @"showLocationSettings");
197
+ [self.commandDelegate runInBackground:^{
198
+ [facade showLocationSettings];
199
+ }];
200
+ }
201
+
202
+ - (void) getLocations:(CDVInvokedUrlCommand*)command
203
+ {
204
+ NSLog(@"%@ #%@", TAG, @"getLocations");
205
+ [self.commandDelegate runInBackground:^{
206
+ NSArray *locations = [facade getLocations];
207
+ NSMutableArray* dictionaryLocations = [[NSMutableArray alloc] initWithCapacity:[locations count]];
208
+ for (MAURLocation* location in locations) {
209
+ [dictionaryLocations addObject:[location toDictionaryWithId]];
210
+ }
211
+ CDVPluginResult* result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsArray:dictionaryLocations];
212
+ [self.commandDelegate sendPluginResult:result callbackId:command.callbackId];
213
+ }];
214
+ }
215
+
216
+ - (void) getValidLocations:(CDVInvokedUrlCommand*)command
217
+ {
218
+ NSLog(@"%@ #%@", TAG, @"getValidLocations");
219
+ [self.commandDelegate runInBackground:^{
220
+ NSArray *locations = [facade getValidLocations];
221
+ NSMutableArray* dictionaryLocations = [[NSMutableArray alloc] initWithCapacity:[locations count]];
222
+ for (MAURLocation* location in locations) {
223
+ [dictionaryLocations addObject:[location toDictionaryWithId]];
224
+ }
225
+ CDVPluginResult* result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsArray:dictionaryLocations];
226
+ [self.commandDelegate sendPluginResult:result callbackId:command.callbackId];
227
+ }];
228
+ }
229
+
230
+ - (void) getValidLocationsAndDelete:(CDVInvokedUrlCommand*)command
231
+ {
232
+ NSLog(@"%@ #%@", TAG, @"getValidLocationsAndDelete");
233
+ [self.commandDelegate runInBackground:^{
234
+ NSArray *locations = [facade getValidLocationsAndDelete];
235
+ NSMutableArray* dictionaryLocations = [[NSMutableArray alloc] initWithCapacity:[locations count]];
236
+ for (MAURLocation* location in locations) {
237
+ [dictionaryLocations addObject:[location toDictionaryWithId]];
238
+ }
239
+ CDVPluginResult* result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsArray:dictionaryLocations];
240
+ [self.commandDelegate sendPluginResult:result callbackId:command.callbackId];
241
+ }];
242
+ }
243
+
244
+ - (void) deleteLocation:(CDVInvokedUrlCommand*)command
245
+ {
246
+ NSLog(@"%@ #%@", TAG, @"deleteLocation");
247
+ [self.commandDelegate runInBackground:^{
248
+ NSError *error = nil;
249
+ int locationId = [[command.arguments objectAtIndex: 0] intValue];
250
+ BOOL success = [facade deleteLocation:[[NSNumber alloc] initWithInt:locationId] error:&error];
251
+ CDVPluginResult* result;
252
+ if (success) {
253
+ result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK];
254
+ } else {
255
+ result = [CDVPluginResult resultWithStatus:CDVCommandStatus_ERROR messageAsDictionary:[self errorToDictionary:error]];
256
+ }
257
+ [self.commandDelegate sendPluginResult:result callbackId:command.callbackId];
258
+ }];
259
+ }
260
+
261
+ - (void) deleteAllLocations:(CDVInvokedUrlCommand*)command
262
+ {
263
+ NSLog(@"%@ #%@", TAG, @"deleteAllLocations");
264
+ [self.commandDelegate runInBackground:^{
265
+ NSError *error = nil;
266
+ BOOL success = [facade deleteAllLocations:&error];
267
+ CDVPluginResult* result;
268
+ if (success) {
269
+ result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK];
270
+ } else {
271
+ result = [CDVPluginResult resultWithStatus:CDVCommandStatus_ERROR messageAsDictionary:[self errorToDictionary:error]];
272
+ }
273
+ [self.commandDelegate sendPluginResult:result callbackId:command.callbackId];
274
+ }];
275
+ }
276
+
277
+ - (void) getCurrentLocation:(CDVInvokedUrlCommand*)command
278
+ {
279
+ NSLog(@"%@ #%@", TAG, @"getCurrentLocation");
280
+ [self.commandDelegate runInBackground:^{
281
+ NSError *error = nil;
282
+ NSArray *args = command.arguments;
283
+ int timeout = [args objectAtIndex: 0] == [NSNull null] ? INT_MAX : [[args objectAtIndex: 0] intValue];
284
+ long maximumAge = [args objectAtIndex: 1] == [NSNull null] ? LONG_MAX : [[args objectAtIndex: 1] longValue];
285
+ BOOL enableHighAccuracy = [args objectAtIndex: 2] == [NSNull null] ? NO : [[args objectAtIndex: 2] boolValue];
286
+
287
+ MAURLocation *location = [facade getCurrentLocation:timeout maximumAge:maximumAge enableHighAccuracy:enableHighAccuracy error:&error];
288
+ CDVPluginResult* result;
289
+ if (location != nil) {
290
+ result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsDictionary:[location toDictionary]];
291
+ } else {
292
+ result = [CDVPluginResult resultWithStatus:CDVCommandStatus_ERROR messageAsDictionary:[self errorToDictionary:error]];
293
+ }
294
+ [self.commandDelegate sendPluginResult:result callbackId:command.callbackId];
295
+ }];
296
+ }
297
+
298
+ - (void) getLogEntries:(CDVInvokedUrlCommand*)command
299
+ {
300
+ NSLog(@"%@ #%@", TAG, @"getLogEntries");
301
+ [self.commandDelegate runInBackground:^{
302
+ NSArray *args = command.arguments;
303
+ NSInteger limit = [args objectAtIndex: 0] == [NSNull null]
304
+ ? 0 : [[args objectAtIndex: 0] integerValue];
305
+ NSInteger entryId = [args objectAtIndex: 1] == [NSNull null]
306
+ ? 0 : [[args objectAtIndex: 1] integerValue];
307
+ NSString *minLogLevel = [args objectAtIndex: 2] == [NSNull null]
308
+ ? @"DEBUG" : [args objectAtIndex: 2];
309
+
310
+ NSArray *logs = [facade getLogEntries:limit fromLogEntryId:entryId minLogLevelFromString:minLogLevel];
311
+ CDVPluginResult* result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsArray:logs];
312
+ [self.commandDelegate sendPluginResult:result callbackId:command.callbackId];
313
+ }];
314
+ }
315
+
316
+ - (void) startTask:(CDVInvokedUrlCommand*)command
317
+ {
318
+ NSUInteger taskKey = [[MAURBackgroundTaskManager sharedTasks] beginTask];
319
+ CDVPluginResult *result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsNSUInteger:taskKey];
320
+ [self.commandDelegate sendPluginResult:result callbackId:command.callbackId];
321
+ }
322
+
323
+ - (void) endTask:(CDVInvokedUrlCommand*)command
324
+ {
325
+ int taskKey = [[command.arguments objectAtIndex: 0] intValue];
326
+ [[MAURBackgroundTaskManager sharedTasks] endTaskWithKey:taskKey];
327
+ }
328
+
329
+ - (void) forceSync:(CDVInvokedUrlCommand*)command
330
+ {
331
+ [facade forceSync];
332
+ CDVPluginResult *result = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK];
333
+ [self.commandDelegate sendPluginResult:result callbackId:command.callbackId];
334
+ }
335
+
336
+ - (void) addEventListener:(CDVInvokedUrlCommand*)command
337
+ {
338
+ callbackId = command.callbackId;
339
+ }
340
+
341
+ - (void) removeEventListener:(CDVInvokedUrlCommand*)command
342
+ {
343
+ callbackId = nil;
344
+ }
345
+
346
+ -(void) sendEvent:(NSString*)name
347
+ {
348
+ if (callbackId == nil) {
349
+ return;
350
+ }
351
+
352
+ NSDictionary *message = [[NSDictionary alloc] initWithObjectsAndKeys:[NSString stringWithFormat:@"%@", name], @"name", nil];
353
+ CDVPluginResult* cordovaResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsDictionary:message];
354
+ [cordovaResult setKeepCallbackAsBool:YES];
355
+ [self.commandDelegate sendPluginResult:cordovaResult callbackId:callbackId];
356
+ }
357
+
358
+ -(void) sendEvent:(NSString*)name resultAsNumber:(NSNumber*)result
359
+ {
360
+ if (callbackId == nil) {
361
+ return;
362
+ }
363
+
364
+ NSDictionary *message = [[NSDictionary alloc] initWithObjectsAndKeys:
365
+ [NSString stringWithFormat:@"%@", name], @"name",
366
+ result, @"payload",
367
+ nil];
368
+ CDVPluginResult* cordovaResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsDictionary:message];
369
+ [cordovaResult setKeepCallbackAsBool:YES];
370
+ [self.commandDelegate sendPluginResult:cordovaResult callbackId:callbackId];
371
+ }
372
+
373
+ -(void) sendEvent:(NSString*)name result:(id)result
374
+ {
375
+ if (callbackId == nil) {
376
+ return;
377
+ }
378
+
379
+ NSDictionary *message = [[NSDictionary alloc] initWithObjectsAndKeys:
380
+ [NSString stringWithFormat:@"%@", name], @"name",
381
+ result, @"payload",
382
+ nil];
383
+ CDVPluginResult* cordovaResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_OK messageAsDictionary:message];
384
+ [cordovaResult setKeepCallbackAsBool:YES];
385
+ [self.commandDelegate sendPluginResult:cordovaResult callbackId:callbackId];
386
+ }
387
+
388
+ - (void) sendError:(NSError*)error
389
+ {
390
+ NSLog(@"%@ #%@", TAG, @"onError");
391
+ if (callbackId == nil) {
392
+ return;
393
+ }
394
+
395
+ CDVPluginResult* cordovaResult = [CDVPluginResult resultWithStatus:CDVCommandStatus_ERROR messageAsDictionary:[self errorToDictionary:error]];
396
+ [cordovaResult setKeepCallbackAsBool:YES];
397
+ [self.commandDelegate sendPluginResult:cordovaResult callbackId:callbackId];
398
+ }
399
+
400
+ - (NSDictionary*) errorToDictionary:(NSError*)error
401
+ {
402
+ NSDictionary *userInfo = [error userInfo];
403
+ NSString *errorMessage = [error localizedDescription];
404
+ if (errorMessage == nil) {
405
+ errorMessage = [[userInfo objectForKey:NSUnderlyingErrorKey] localizedDescription];
406
+ }
407
+ return @{ @"code": [NSNumber numberWithLong:error.code], @"message": errorMessage};
408
+ }
409
+
410
+ - (void) onAuthorizationChanged:(MAURLocationAuthorizationStatus)authStatus
411
+ {
412
+ NSLog(@"%@ #%@", TAG, @"onAuthorizationChanged");
413
+ [self sendEvent:@"authorization" resultAsNumber:[NSNumber numberWithInt:authStatus]];
414
+ }
415
+
416
+ - (void) onLocationChanged:(MAURLocation*)location
417
+ {
418
+ NSLog(@"%@ #%@", TAG, @"onLocationChanged");
419
+ [self sendEvent:@"location" result:[location toDictionaryWithId]];
420
+ }
421
+
422
+ - (void) onStationaryChanged:(MAURLocation*)location
423
+ {
424
+ NSLog(@"%@ #%@", TAG, @"onStationaryChanged");
425
+ [self sendEvent:@"stationary" result:[location toDictionaryWithId]];
426
+ }
427
+
428
+ - (void) onLocationPause
429
+ {
430
+ NSLog(@"%@ %@", TAG, @"location updates paused");
431
+ [self sendEvent:@"stop"];
432
+ }
433
+
434
+ - (void) onLocationResume
435
+ {
436
+ NSLog(@"%@ %@", TAG, @"location updates resumed");
437
+ [self sendEvent:@"start"];
438
+ }
439
+
440
+ - (void) onActivityChanged:(MAURActivity *)activity
441
+ {
442
+ NSLog(@"%@ #%@", TAG, @"onActivityChanged");
443
+ [self sendEvent:@"activity" result:[activity toDictionary]];
444
+ }
445
+
446
+ - (void) onError:(NSError*)error
447
+ {
448
+ NSLog(@"%@ #%@", TAG, @"onError");
449
+ [self sendError:error];
450
+ }
451
+
452
+ -(void) onAppResume:(NSNotification *)notification
453
+ {
454
+ NSLog(@"%@ %@", TAG, @"resumed");
455
+ [facade switchMode:MAURForegroundMode];
456
+ }
457
+
458
+ -(void) onAppPause:(NSNotification *)notification
459
+ {
460
+ NSLog(@"%@ %@", TAG, @"paused");
461
+ [facade switchMode:MAURBackgroundMode];
462
+ }
463
+
464
+ -(void) onAbortRequested
465
+ {
466
+ NSLog(@"%@ %@", TAG, @"abort requested by the server");
467
+ [self sendEvent:@"abort_requested"];
468
+ }
469
+
470
+ - (void) onHttpAuthorization {
471
+ NSLog(@"%@ %@", TAG, @"http authorization requested by the server");
472
+ [self sendEvent:@"http_authorization"];
473
+ }
474
+
475
+ /**@
476
+ * on UIApplicationDidFinishLaunchingNotification
477
+ */
478
+ -(void) onFinishLaunching:(NSNotification *)notification
479
+ {
480
+ NSDictionary *dict = [notification userInfo];
481
+ MAURConfig *config = [facade getConfig];
482
+
483
+ if (config.isDebugging)
484
+ {
485
+ if (@available(iOS 10, *))
486
+ {
487
+ UNUserNotificationCenter *center = [UNUserNotificationCenter currentNotificationCenter];
488
+ prevNotificationDelegate = center.delegate;
489
+ center.delegate = self;
490
+ }
491
+ }
492
+
493
+ if ([dict objectForKey:UIApplicationLaunchOptionsLocationKey]) {
494
+ NSLog(@"%@ %@", TAG, @"started by system on location event.");
495
+ if (![config stopOnTerminate]) {
496
+ [facade start:nil];
497
+ [facade switchMode:MAURBackgroundMode];
498
+ }
499
+ }
500
+ }
501
+
502
+ - (void)userNotificationCenter:(UNUserNotificationCenter *)center
503
+ willPresentNotification:(UNNotification *)notification
504
+ withCompletionHandler:(void (^)(UNNotificationPresentationOptions options))completionHandler
505
+ {
506
+ if (prevNotificationDelegate && [prevNotificationDelegate respondsToSelector:@selector(userNotificationCenter:willPresentNotification:withCompletionHandler:)])
507
+ {
508
+ // Give other delegates (like FCM) the chance to process this notification
509
+
510
+ [prevNotificationDelegate userNotificationCenter:center willPresentNotification:notification withCompletionHandler:^(UNNotificationPresentationOptions options) {
511
+ completionHandler(UNNotificationPresentationOptionAlert);
512
+ }];
513
+ }
514
+ else
515
+ {
516
+ completionHandler(UNNotificationPresentationOptionAlert);
517
+ }
518
+ }
519
+
520
+ -(void) onAppTerminate:(NSNotification *)notification
521
+ {
522
+ NSLog(@"%@ %@", TAG, @"appTerminate");
523
+ [facade onAppTerminate];
524
+ }
525
+
526
+ @end