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.
- package/NitroBackgroundGeolocation.podspec +29 -0
- package/android/CMakeLists.txt +24 -0
- package/android/build.gradle +133 -0
- package/android/src/main/AndroidManifest.xml +65 -0
- package/android/src/main/cpp/cpp-adapter.cpp +11 -0
- package/android/src/main/java/com/margelo/nitro/nitrobackgroundgeolocation/ConfigMapper.kt +332 -0
- package/android/src/main/java/com/margelo/nitro/nitrobackgroundgeolocation/HeadlessTaskRegistry.kt +23 -0
- package/android/src/main/java/com/margelo/nitro/nitrobackgroundgeolocation/HeadlessTaskService.kt +66 -0
- package/android/src/main/java/com/margelo/nitro/nitrobackgroundgeolocation/NitroBackgroundGeolocation.kt +538 -0
- package/android/src/main/java/com/margelo/nitro/nitrobackgroundgeolocation/NitroBackgroundGeolocationPackage.kt +22 -0
- package/android/src/main/java/com/margelo/nitro/nitrobackgroundgeolocation/ReactNativeHeadlessTaskRunner.kt +62 -0
- package/android/src/main/java/com/marianhello/bgloc/BackgroundGeolocationFacade.java +542 -0
- package/android/src/main/java/com/marianhello/bgloc/BootCompletedReceiver.java +59 -0
- package/android/src/main/java/com/marianhello/bgloc/Config.java +652 -0
- package/android/src/main/java/com/marianhello/bgloc/ConnectivityListener.java +5 -0
- package/android/src/main/java/com/marianhello/bgloc/HttpPostService.java +168 -0
- package/android/src/main/java/com/marianhello/bgloc/LocationManager.java +138 -0
- package/android/src/main/java/com/marianhello/bgloc/PluginDelegate.java +19 -0
- package/android/src/main/java/com/marianhello/bgloc/PluginException.java +38 -0
- package/android/src/main/java/com/marianhello/bgloc/PostLocationTask.java +186 -0
- package/android/src/main/java/com/marianhello/bgloc/ResourceResolver.java +55 -0
- package/android/src/main/java/com/marianhello/bgloc/data/AbstractLocationTemplate.java +69 -0
- package/android/src/main/java/com/marianhello/bgloc/data/ArrayListLocationTemplate.java +88 -0
- package/android/src/main/java/com/marianhello/bgloc/data/BackgroundActivity.java +108 -0
- package/android/src/main/java/com/marianhello/bgloc/data/BackgroundLocation.java +994 -0
- package/android/src/main/java/com/marianhello/bgloc/data/ConfigurationDAO.java +13 -0
- package/android/src/main/java/com/marianhello/bgloc/data/DAOFactory.java +17 -0
- package/android/src/main/java/com/marianhello/bgloc/data/HashMapLocationTemplate.java +82 -0
- package/android/src/main/java/com/marianhello/bgloc/data/LocationDAO.java +22 -0
- package/android/src/main/java/com/marianhello/bgloc/data/LocationTemplate.java +12 -0
- package/android/src/main/java/com/marianhello/bgloc/data/LocationTemplateFactory.java +65 -0
- package/android/src/main/java/com/marianhello/bgloc/data/LocationTransform.java +19 -0
- package/android/src/main/java/com/marianhello/bgloc/data/provider/ContentProviderLocationDAO.java +395 -0
- package/android/src/main/java/com/marianhello/bgloc/data/provider/LocationContentProvider.java +321 -0
- package/android/src/main/java/com/marianhello/bgloc/data/sqlite/SQLiteConfigurationContract.java +76 -0
- package/android/src/main/java/com/marianhello/bgloc/data/sqlite/SQLiteConfigurationDAO.java +160 -0
- package/android/src/main/java/com/marianhello/bgloc/data/sqlite/SQLiteLocationContract.java +112 -0
- package/android/src/main/java/com/marianhello/bgloc/data/sqlite/SQLiteLocationDAO.java +506 -0
- package/android/src/main/java/com/marianhello/bgloc/data/sqlite/SQLiteOpenHelper.java +151 -0
- package/android/src/main/java/com/marianhello/bgloc/headless/AbstractTaskRunner.java +15 -0
- package/android/src/main/java/com/marianhello/bgloc/headless/ActivityTask.java +48 -0
- package/android/src/main/java/com/marianhello/bgloc/headless/JsCallback.java +10 -0
- package/android/src/main/java/com/marianhello/bgloc/headless/LocationTask.java +61 -0
- package/android/src/main/java/com/marianhello/bgloc/headless/StationaryTask.java +25 -0
- package/android/src/main/java/com/marianhello/bgloc/headless/Task.java +8 -0
- package/android/src/main/java/com/marianhello/bgloc/headless/TaskRunner.java +5 -0
- package/android/src/main/java/com/marianhello/bgloc/headless/TaskRunnerFactory.java +8 -0
- package/android/src/main/java/com/marianhello/bgloc/provider/AbstractLocationProvider.java +171 -0
- package/android/src/main/java/com/marianhello/bgloc/provider/ActivityRecognitionLocationProvider.java +280 -0
- package/android/src/main/java/com/marianhello/bgloc/provider/DistanceFilterLocationProvider.java +586 -0
- package/android/src/main/java/com/marianhello/bgloc/provider/LocationProvider.java +32 -0
- package/android/src/main/java/com/marianhello/bgloc/provider/LocationProviderFactory.java +47 -0
- package/android/src/main/java/com/marianhello/bgloc/provider/ProviderDelegate.java +12 -0
- package/android/src/main/java/com/marianhello/bgloc/provider/RawLocationProvider.java +142 -0
- package/android/src/main/java/com/marianhello/bgloc/service/LocationService.java +17 -0
- package/android/src/main/java/com/marianhello/bgloc/service/LocationServiceImpl.java +760 -0
- package/android/src/main/java/com/marianhello/bgloc/service/LocationServiceInfo.java +6 -0
- package/android/src/main/java/com/marianhello/bgloc/service/LocationServiceInfoImpl.java +41 -0
- package/android/src/main/java/com/marianhello/bgloc/service/LocationServiceIntentBuilder.java +203 -0
- package/android/src/main/java/com/marianhello/bgloc/service/LocationServiceProxy.java +140 -0
- package/android/src/main/java/com/marianhello/bgloc/sync/AccountHelper.java +39 -0
- package/android/src/main/java/com/marianhello/bgloc/sync/Authenticator.java +68 -0
- package/android/src/main/java/com/marianhello/bgloc/sync/AuthenticatorService.java +28 -0
- package/android/src/main/java/com/marianhello/bgloc/sync/BatchManager.java +246 -0
- package/android/src/main/java/com/marianhello/bgloc/sync/NotificationHelper.java +148 -0
- package/android/src/main/java/com/marianhello/bgloc/sync/SyncAdapter.java +233 -0
- package/android/src/main/java/com/marianhello/bgloc/sync/SyncService.java +68 -0
- package/android/src/main/java/com/marianhello/logging/DBLogReader.java +203 -0
- package/android/src/main/java/com/marianhello/logging/LogEntry.java +99 -0
- package/android/src/main/java/com/marianhello/logging/LoggerManager.java +70 -0
- package/android/src/main/java/com/marianhello/logging/UncaughtExceptionLogger.java +36 -0
- package/android/src/main/java/com/marianhello/utils/CloneHelper.java +22 -0
- package/android/src/main/java/com/marianhello/utils/Convert.java +56 -0
- package/android/src/main/java/com/marianhello/utils/TextUtils.java +72 -0
- package/android/src/main/java/com/marianhello/utils/ToneGenerator.java +68 -0
- package/android/src/main/java/org/apache/commons/io/Charsets.java +153 -0
- package/android/src/main/java/org/apache/commons/io/input/ReversedLinesFileReader.java +344 -0
- package/android/src/main/java/org/chromium/content/browser/ThreadUtils.java +134 -0
- package/android/src/main/java/ru/andremoniy/sqlbuilder/SqlExpression.java +398 -0
- package/android/src/main/java/ru/andremoniy/sqlbuilder/SqlSelectStatement.java +671 -0
- package/android/src/main/java/ru/andremoniy/sqlbuilder/SqlStatement.java +29 -0
- package/android/src/main/java/ru/andremoniy/utils/TextUtils.java +61 -0
- package/android/src/main/res/values/strings.xml +6 -0
- package/android/src/main/res/xml/authenticator.xml +7 -0
- package/android/src/main/res/xml/syncadapter.xml +9 -0
- package/app.plugin.js +64 -0
- package/ios/NitroBackgroundGeolocation.swift +719 -0
- package/ios/NitroBackgroundGeolocationBootstrap.m +98 -0
- package/ios/common/BackgroundGeolocation/CocoaLumberjack.h +1945 -0
- package/ios/common/BackgroundGeolocation/CocoaLumberjack.m +5255 -0
- package/ios/common/BackgroundGeolocation/FMDB.h +2357 -0
- package/ios/common/BackgroundGeolocation/FMDB.m +2672 -0
- package/ios/common/BackgroundGeolocation/FMDBLogger.h +42 -0
- package/ios/common/BackgroundGeolocation/FMDBLogger.m +264 -0
- package/ios/common/BackgroundGeolocation/INTULocationManager/INTUHeadingRequest.h +41 -0
- package/ios/common/BackgroundGeolocation/INTULocationManager/INTUHeadingRequest.m +68 -0
- package/ios/common/BackgroundGeolocation/INTULocationManager/INTULocationManager+Internal.h +33 -0
- package/ios/common/BackgroundGeolocation/INTULocationManager/INTULocationManager.h +178 -0
- package/ios/common/BackgroundGeolocation/INTULocationManager/INTULocationManager.m +1025 -0
- package/ios/common/BackgroundGeolocation/INTULocationManager/INTULocationRequest.h +103 -0
- package/ios/common/BackgroundGeolocation/INTULocationManager/INTULocationRequest.m +238 -0
- package/ios/common/BackgroundGeolocation/INTULocationManager/INTULocationRequestDefines.h +163 -0
- package/ios/common/BackgroundGeolocation/INTULocationManager/INTURequestIDGenerator.h +39 -0
- package/ios/common/BackgroundGeolocation/INTULocationManager/INTURequestIDGenerator.m +37 -0
- package/ios/common/BackgroundGeolocation/MAURAbstractLocationProvider.h +51 -0
- package/ios/common/BackgroundGeolocation/MAURAbstractLocationProvider.m +53 -0
- package/ios/common/BackgroundGeolocation/MAURActivity.h +23 -0
- package/ios/common/BackgroundGeolocation/MAURActivity.m +52 -0
- package/ios/common/BackgroundGeolocation/MAURActivityLocationProvider.h +18 -0
- package/ios/common/BackgroundGeolocation/MAURActivityLocationProvider.m +202 -0
- package/ios/common/BackgroundGeolocation/MAURBackgroundGeolocationFacade.h +62 -0
- package/ios/common/BackgroundGeolocation/MAURBackgroundGeolocationFacade.m +650 -0
- package/ios/common/BackgroundGeolocation/MAURBackgroundSync.h +34 -0
- package/ios/common/BackgroundGeolocation/MAURBackgroundSync.m +184 -0
- package/ios/common/BackgroundGeolocation/MAURBackgroundTaskManager.h +25 -0
- package/ios/common/BackgroundGeolocation/MAURBackgroundTaskManager.m +105 -0
- package/ios/common/BackgroundGeolocation/MAURConfig.h +74 -0
- package/ios/common/BackgroundGeolocation/MAURConfig.m +485 -0
- package/ios/common/BackgroundGeolocation/MAURConfigurationContract.h +49 -0
- package/ios/common/BackgroundGeolocation/MAURConfigurationContract.m +51 -0
- package/ios/common/BackgroundGeolocation/MAURDistanceFilterLocationProvider.h +20 -0
- package/ios/common/BackgroundGeolocation/MAURDistanceFilterLocationProvider.m +523 -0
- package/ios/common/BackgroundGeolocation/MAURGeolocationOpenHelper.h +17 -0
- package/ios/common/BackgroundGeolocation/MAURGeolocationOpenHelper.m +97 -0
- package/ios/common/BackgroundGeolocation/MAURLocation.h +59 -0
- package/ios/common/BackgroundGeolocation/MAURLocation.m +349 -0
- package/ios/common/BackgroundGeolocation/MAURLocationContract.h +34 -0
- package/ios/common/BackgroundGeolocation/MAURLocationContract.m +35 -0
- package/ios/common/BackgroundGeolocation/MAURLocationManager.h +53 -0
- package/ios/common/BackgroundGeolocation/MAURLocationManager.m +308 -0
- package/ios/common/BackgroundGeolocation/MAURLogReader.h +26 -0
- package/ios/common/BackgroundGeolocation/MAURLogReader.m +122 -0
- package/ios/common/BackgroundGeolocation/MAURLogging.h +19 -0
- package/ios/common/BackgroundGeolocation/MAURPostLocationTask.h +40 -0
- package/ios/common/BackgroundGeolocation/MAURPostLocationTask.m +218 -0
- package/ios/common/BackgroundGeolocation/MAURProviderDelegate.h +52 -0
- package/ios/common/BackgroundGeolocation/MAURRawLocationProvider.h +18 -0
- package/ios/common/BackgroundGeolocation/MAURRawLocationProvider.m +129 -0
- package/ios/common/BackgroundGeolocation/MAURSQLiteConfigurationDAO.h +26 -0
- package/ios/common/BackgroundGeolocation/MAURSQLiteConfigurationDAO.m +278 -0
- package/ios/common/BackgroundGeolocation/MAURSQLiteHelper.h +57 -0
- package/ios/common/BackgroundGeolocation/MAURSQLiteHelper.m +93 -0
- package/ios/common/BackgroundGeolocation/MAURSQLiteLocationDAO.h +38 -0
- package/ios/common/BackgroundGeolocation/MAURSQLiteLocationDAO.m +380 -0
- package/ios/common/BackgroundGeolocation/MAURSQLiteOpenHelper.h +32 -0
- package/ios/common/BackgroundGeolocation/MAURSQLiteOpenHelper.m +276 -0
- package/ios/common/BackgroundGeolocation/MAURUncaughtExceptionLogger.h +20 -0
- package/ios/common/BackgroundGeolocation/MAURUncaughtExceptionLogger.m +62 -0
- package/ios/common/BackgroundGeolocation/Reachability.h +102 -0
- package/ios/common/BackgroundGeolocation/Reachability.m +474 -0
- package/ios/common/BackgroundGeolocation/SOMotionDetector/SOLocationManager.h +80 -0
- package/ios/common/BackgroundGeolocation/SOMotionDetector/SOLocationManager.m +147 -0
- package/ios/common/BackgroundGeolocation/SOMotionDetector/SOMotionActivity.h +30 -0
- package/ios/common/BackgroundGeolocation/SOMotionDetector/SOMotionActivity.m +42 -0
- package/ios/common/BackgroundGeolocation/SOMotionDetector/SOMotionDetector.h +99 -0
- package/ios/common/BackgroundGeolocation/SOMotionDetector/SOMotionDetector.m +327 -0
- package/ios/common/BackgroundGeolocation/SOMotionDetector/SOStepDetector.h +44 -0
- package/ios/common/BackgroundGeolocation/SOMotionDetector/SOStepDetector.m +94 -0
- package/ios/common/BackgroundGeolocation/SQLQueryBuilder/ext/NSString+ZIMString.h +55 -0
- package/ios/common/BackgroundGeolocation/SQLQueryBuilder/ext/NSString+ZIMString.m +47 -0
- package/ios/common/BackgroundGeolocation/SQLQueryBuilder/sql/ZIMSqlDataManipulationCommand.h +27 -0
- package/ios/common/BackgroundGeolocation/SQLQueryBuilder/sql/ZIMSqlExpression.h +250 -0
- package/ios/common/BackgroundGeolocation/SQLQueryBuilder/sql/ZIMSqlExpression.m +259 -0
- package/ios/common/BackgroundGeolocation/SQLQueryBuilder/sql/ZIMSqlSelectStatement.h +360 -0
- package/ios/common/BackgroundGeolocation/SQLQueryBuilder/sql/ZIMSqlSelectStatement.m +427 -0
- package/ios/common/BackgroundGeolocation/SQLQueryBuilder/sql/ZIMSqlStatement.h +37 -0
- package/lib/module/NitroBackgroundGeolocation.nitro.js +172 -0
- package/lib/module/NitroBackgroundGeolocation.nitro.js.map +1 -0
- package/lib/module/headless.js +72 -0
- package/lib/module/headless.js.map +1 -0
- package/lib/module/index.js +60 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/package.json +1 -0
- package/lib/typescript/package.json +1 -0
- package/lib/typescript/src/NitroBackgroundGeolocation.nitro.d.ts +616 -0
- package/lib/typescript/src/NitroBackgroundGeolocation.nitro.d.ts.map +1 -0
- package/lib/typescript/src/headless.d.ts +40 -0
- package/lib/typescript/src/headless.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +8 -0
- package/lib/typescript/src/index.d.ts.map +1 -0
- package/nitro.json +23 -0
- package/nitrogen/generated/android/c++/JActivity.hpp +61 -0
- package/nitrogen/generated/android/c++/JAuthorizationStatus.hpp +61 -0
- package/nitrogen/generated/android/c++/JBackgroundGeolocationError.hpp +61 -0
- package/nitrogen/generated/android/c++/JConfigureOptions.hpp +179 -0
- package/nitrogen/generated/android/c++/JFunc_void.hpp +75 -0
- package/nitrogen/generated/android/c++/JFunc_void_Activity.hpp +78 -0
- package/nitrogen/generated/android/c++/JFunc_void_AuthorizationStatus.hpp +77 -0
- package/nitrogen/generated/android/c++/JFunc_void_BackgroundGeolocationError.hpp +78 -0
- package/nitrogen/generated/android/c++/JFunc_void_Location.hpp +78 -0
- package/nitrogen/generated/android/c++/JFunc_void_StationaryLocation.hpp +78 -0
- package/nitrogen/generated/android/c++/JHybridNitroBackgroundGeolocationSpec.cpp +530 -0
- package/nitrogen/generated/android/c++/JHybridNitroBackgroundGeolocationSpec.hpp +90 -0
- package/nitrogen/generated/android/c++/JLocation.hpp +105 -0
- package/nitrogen/generated/android/c++/JLocationAccuracy.hpp +64 -0
- package/nitrogen/generated/android/c++/JLocationOptions.hpp +65 -0
- package/nitrogen/generated/android/c++/JLocationProvider.hpp +61 -0
- package/nitrogen/generated/android/c++/JLogEntry.hpp +73 -0
- package/nitrogen/generated/android/c++/JNativeLogLevel.hpp +67 -0
- package/nitrogen/generated/android/c++/JServiceStatus.hpp +66 -0
- package/nitrogen/generated/android/c++/JStationaryLocation.hpp +109 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_AnyMap.cpp +26 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_AnyMap.hpp +71 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_Boolean.cpp +26 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_Boolean.hpp +69 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_Double.cpp +26 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_Double.hpp +69 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_LocationAccuracy.cpp +26 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_LocationAccuracy.hpp +71 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_LocationProvider.cpp +26 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_LocationProvider.hpp +71 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_Map_String__String_.cpp +33 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_Map_String__String_.hpp +77 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_String.cpp +26 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_String.hpp +70 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrobackgroundgeolocation/Activity.kt +56 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrobackgroundgeolocation/AuthorizationStatus.kt +24 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrobackgroundgeolocation/BackgroundGeolocationError.kt +56 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrobackgroundgeolocation/ConfigureOptions.kt +182 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrobackgroundgeolocation/Func_void.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrobackgroundgeolocation/Func_void_Activity.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrobackgroundgeolocation/Func_void_AuthorizationStatus.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrobackgroundgeolocation/Func_void_BackgroundGeolocationError.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrobackgroundgeolocation/Func_void_Location.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrobackgroundgeolocation/Func_void_StationaryLocation.kt +80 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrobackgroundgeolocation/HybridNitroBackgroundGeolocationSpec.kt +218 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrobackgroundgeolocation/Location.kt +111 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrobackgroundgeolocation/LocationAccuracy.kt +25 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrobackgroundgeolocation/LocationOptions.kt +61 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrobackgroundgeolocation/LocationProvider.kt +24 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrobackgroundgeolocation/LogEntry.kt +71 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrobackgroundgeolocation/NativeLogLevel.kt +26 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrobackgroundgeolocation/ServiceStatus.kt +61 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrobackgroundgeolocation/StationaryLocation.kt +116 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrobackgroundgeolocation/Variant_NullType_AnyMap.kt +63 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrobackgroundgeolocation/Variant_NullType_Boolean.kt +62 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrobackgroundgeolocation/Variant_NullType_Double.kt +62 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrobackgroundgeolocation/Variant_NullType_LocationAccuracy.kt +62 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrobackgroundgeolocation/Variant_NullType_LocationProvider.kt +62 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrobackgroundgeolocation/Variant_NullType_Map_String__String_.kt +62 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrobackgroundgeolocation/Variant_NullType_String.kt +62 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/nitrobackgroundgeolocation/nitrobackgroundgeolocationOnLoad.kt +35 -0
- package/nitrogen/generated/android/nitrobackgroundgeolocation+autolinking.cmake +88 -0
- package/nitrogen/generated/android/nitrobackgroundgeolocation+autolinking.gradle +27 -0
- package/nitrogen/generated/android/nitrobackgroundgeolocationOnLoad.cpp +66 -0
- package/nitrogen/generated/android/nitrobackgroundgeolocationOnLoad.hpp +34 -0
- package/nitrogen/generated/ios/NitroBackgroundGeolocation+autolinking.rb +62 -0
- package/nitrogen/generated/ios/NitroBackgroundGeolocation-Swift-Cxx-Bridge.cpp +129 -0
- package/nitrogen/generated/ios/NitroBackgroundGeolocation-Swift-Cxx-Bridge.hpp +911 -0
- package/nitrogen/generated/ios/NitroBackgroundGeolocation-Swift-Cxx-Umbrella.hpp +88 -0
- package/nitrogen/generated/ios/NitroBackgroundGeolocationAutolinking.mm +33 -0
- package/nitrogen/generated/ios/NitroBackgroundGeolocationAutolinking.swift +26 -0
- package/nitrogen/generated/ios/c++/HybridNitroBackgroundGeolocationSpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridNitroBackgroundGeolocationSpecSwift.hpp +335 -0
- package/nitrogen/generated/ios/swift/Activity.swift +34 -0
- package/nitrogen/generated/ios/swift/AuthorizationStatus.swift +44 -0
- package/nitrogen/generated/ios/swift/BackgroundGeolocationError.swift +34 -0
- package/nitrogen/generated/ios/swift/ConfigureOptions.swift +1037 -0
- package/nitrogen/generated/ios/swift/Func_void.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_Activity.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_AuthorizationStatus.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_BackgroundGeolocationError.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_ConfigureOptions.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_Location.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_ServiceStatus.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_StationaryLocation.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_std__optional_StationaryLocation_.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_std__vector_Location_.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_std__vector_LogEntry_.swift +46 -0
- package/nitrogen/generated/ios/swift/HybridNitroBackgroundGeolocationSpec.swift +82 -0
- package/nitrogen/generated/ios/swift/HybridNitroBackgroundGeolocationSpec_cxx.swift +675 -0
- package/nitrogen/generated/ios/swift/Location.swift +89 -0
- package/nitrogen/generated/ios/swift/LocationAccuracy.swift +48 -0
- package/nitrogen/generated/ios/swift/LocationOptions.swift +78 -0
- package/nitrogen/generated/ios/swift/LocationProvider.swift +44 -0
- package/nitrogen/generated/ios/swift/LogEntry.swift +49 -0
- package/nitrogen/generated/ios/swift/NativeLogLevel.swift +52 -0
- package/nitrogen/generated/ios/swift/ServiceStatus.swift +39 -0
- package/nitrogen/generated/ios/swift/StationaryLocation.swift +94 -0
- package/nitrogen/generated/ios/swift/Variant_NullType_AnyMap.swift +30 -0
- package/nitrogen/generated/ios/swift/Variant_NullType_Bool.swift +30 -0
- package/nitrogen/generated/ios/swift/Variant_NullType_Dictionary_String__String_.swift +30 -0
- package/nitrogen/generated/ios/swift/Variant_NullType_Double.swift +30 -0
- package/nitrogen/generated/ios/swift/Variant_NullType_LocationAccuracy.swift +30 -0
- package/nitrogen/generated/ios/swift/Variant_NullType_LocationProvider.swift +30 -0
- package/nitrogen/generated/ios/swift/Variant_NullType_String.swift +30 -0
- package/nitrogen/generated/shared/c++/Activity.hpp +87 -0
- package/nitrogen/generated/shared/c++/AuthorizationStatus.hpp +63 -0
- package/nitrogen/generated/shared/c++/BackgroundGeolocationError.hpp +87 -0
- package/nitrogen/generated/shared/c++/ConfigureOptions.hpp +197 -0
- package/nitrogen/generated/shared/c++/HybridNitroBackgroundGeolocationSpec.cpp +48 -0
- package/nitrogen/generated/shared/c++/HybridNitroBackgroundGeolocationSpec.hpp +121 -0
- package/nitrogen/generated/shared/c++/Location.hpp +131 -0
- package/nitrogen/generated/shared/c++/LocationAccuracy.hpp +69 -0
- package/nitrogen/generated/shared/c++/LocationOptions.hpp +91 -0
- package/nitrogen/generated/shared/c++/LocationProvider.hpp +63 -0
- package/nitrogen/generated/shared/c++/LogEntry.hpp +99 -0
- package/nitrogen/generated/shared/c++/NativeLogLevel.hpp +65 -0
- package/nitrogen/generated/shared/c++/ServiceStatus.hpp +92 -0
- package/nitrogen/generated/shared/c++/StationaryLocation.hpp +135 -0
- package/package.json +112 -0
- package/react-native.config.js +10 -0
- package/src/NitroBackgroundGeolocation.nitro.ts +656 -0
- package/src/headless.ts +91 -0
- 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
|