@josuelmm/cordova-background-geolocation 4.2.3 → 4.5.2

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 (103) hide show
  1. package/.npmignore +11 -0
  2. package/CHANGELOG.md +261 -0
  3. package/README.md +306 -115
  4. package/android/CDVBackgroundGeolocation/src/main/java/com/marianhello/bgloc/cordova/ConfigMapper.java +34 -0
  5. package/android/CDVBackgroundGeolocation/src/main/java/com/tenforwardconsulting/bgloc/cordova/BackgroundGeolocationPlugin.java +61 -1
  6. package/android/common/src/main/AndroidManifest.xml +1 -1
  7. package/android/common/src/main/java/com/marianhello/bgloc/BootCompletedReceiver.java +20 -3
  8. package/android/common/src/main/java/com/marianhello/bgloc/Config.java +87 -1
  9. package/android/common/src/main/java/com/marianhello/bgloc/data/BackgroundLocation.java +94 -0
  10. package/android/common/src/main/java/com/marianhello/bgloc/data/ConfigJsonMapper.java +211 -0
  11. package/android/common/src/main/java/com/marianhello/bgloc/data/LocationTemplateFactory.java +6 -0
  12. package/android/common/src/main/java/com/marianhello/bgloc/data/sqlite/SQLiteConfigurationContract.java +5 -1
  13. package/android/common/src/main/java/com/marianhello/bgloc/data/sqlite/SQLiteConfigurationDAO.java +32 -1
  14. package/android/common/src/main/java/com/marianhello/bgloc/data/sqlite/SQLiteLocationContract.java +12 -2
  15. package/android/common/src/main/java/com/marianhello/bgloc/data/sqlite/SQLiteLocationDAO.java +33 -2
  16. package/android/common/src/main/java/com/marianhello/bgloc/data/sqlite/SQLiteOpenHelper.java +15 -1
  17. package/android/common/src/main/java/com/marianhello/bgloc/provider/AbstractLocationProvider.java +48 -1
  18. package/android/common/src/main/java/com/marianhello/bgloc/provider/ActivityRecognitionLocationProvider.java +105 -6
  19. package/android/common/src/main/java/com/marianhello/bgloc/provider/DistanceFilterLocationProvider.java +336 -250
  20. package/android/common/src/main/java/com/marianhello/bgloc/provider/RawLocationProvider.java +69 -19
  21. package/android/common/src/main/java/com/marianhello/bgloc/service/LocationServiceImpl.java +246 -21
  22. package/android/common/src/main/java/com/marianhello/bgloc/service/LocationServiceProxy.java +5 -2
  23. package/android/common/src/main/java/com/marianhello/bgloc/sync/BatchManager.java +46 -13
  24. package/ios/CDVBackgroundGeolocation/CDVBackgroundGeolocation.m +23 -1
  25. package/ios/common/BackgroundGeolocation/MAURActivityLocationProvider.m +208 -70
  26. package/ios/common/BackgroundGeolocation/MAURBackgroundGeolocationFacade.m +132 -5
  27. package/ios/common/BackgroundGeolocation/MAURBackgroundSync.m +20 -0
  28. package/ios/common/BackgroundGeolocation/MAURConfig.h +7 -0
  29. package/ios/common/BackgroundGeolocation/MAURConfig.m +37 -2
  30. package/ios/common/BackgroundGeolocation/MAURConfigurationContract.h +3 -0
  31. package/ios/common/BackgroundGeolocation/MAURConfigurationContract.m +3 -1
  32. package/ios/common/BackgroundGeolocation/MAURDistanceFilterLocationProvider.m +10 -1
  33. package/ios/common/BackgroundGeolocation/MAURGeolocationOpenHelper.m +15 -1
  34. package/ios/common/BackgroundGeolocation/MAURLocation.h +12 -0
  35. package/ios/common/BackgroundGeolocation/MAURLocation.m +33 -4
  36. package/ios/common/BackgroundGeolocation/MAURLocationContract.h +4 -0
  37. package/ios/common/BackgroundGeolocation/MAURLocationContract.m +5 -1
  38. package/ios/common/BackgroundGeolocation/MAURLocationManager.m +19 -1
  39. package/ios/common/BackgroundGeolocation/MAURPostLocationTask.h +9 -0
  40. package/ios/common/BackgroundGeolocation/MAURPostLocationTask.m +59 -1
  41. package/ios/common/BackgroundGeolocation/MAURRawLocationProvider.m +10 -1
  42. package/ios/common/BackgroundGeolocation/MAURSQLiteConfigurationDAO.m +54 -4
  43. package/ios/common/BackgroundGeolocation/MAURSQLiteLocationDAO.h +12 -0
  44. package/ios/common/BackgroundGeolocation/MAURSQLiteLocationDAO.m +125 -5
  45. package/package.json +31 -1
  46. package/plugin.xml +3 -10
  47. package/www/BackgroundGeolocation.d.ts +143 -3
  48. package/www/BackgroundGeolocation.js +11 -4
  49. package/CLAUDE.md +0 -56
  50. package/HISTORY.md +0 -871
  51. package/android/CDVBackgroundGeolocation/src/test/java/com/marianhello/ConfigMapperTest.java +0 -220
  52. package/android/common/src/androidTest/java/com/marianhello/bgloc/BackgroundGeolocationFacadeTest.java +0 -45
  53. package/android/common/src/androidTest/java/com/marianhello/bgloc/BatchManagerTest.java +0 -570
  54. package/android/common/src/androidTest/java/com/marianhello/bgloc/ConfigTest.java +0 -76
  55. package/android/common/src/androidTest/java/com/marianhello/bgloc/ContentProviderLocationDAOTest.java +0 -437
  56. package/android/common/src/androidTest/java/com/marianhello/bgloc/DBLogReaderTest.java +0 -95
  57. package/android/common/src/androidTest/java/com/marianhello/bgloc/LocationContentProviderTest.java +0 -159
  58. package/android/common/src/androidTest/java/com/marianhello/bgloc/LocationServiceProxyTest.java +0 -161
  59. package/android/common/src/androidTest/java/com/marianhello/bgloc/LocationServiceTest.java +0 -247
  60. package/android/common/src/androidTest/java/com/marianhello/bgloc/SQLiteConfigurationDAOTest.java +0 -200
  61. package/android/common/src/androidTest/java/com/marianhello/bgloc/SQLiteLocationDAOTest.java +0 -457
  62. package/android/common/src/androidTest/java/com/marianhello/bgloc/SQLiteLocationDAOThreadTest.java +0 -96
  63. package/android/common/src/androidTest/java/com/marianhello/bgloc/SQLiteOpenHelperTest.java +0 -225
  64. package/android/common/src/androidTest/java/com/marianhello/bgloc/TestPluginDelegate.java +0 -46
  65. package/android/common/src/androidTest/java/com/marianhello/bgloc/TestResourceResolver.java +0 -14
  66. package/android/common/src/androidTest/java/com/marianhello/bgloc/provider/MockLocationProvider.java +0 -50
  67. package/android/common/src/androidTest/java/com/marianhello/bgloc/provider/TestLocationProviderFactory.java +0 -17
  68. package/android/common/src/androidTest/java/com/marianhello/bgloc/sqlite/SQLiteOpenHelper10.java +0 -92
  69. package/android/common/src/androidTest/java/com/marianhello/bgloc/test/LocationProviderTestCase.java +0 -107
  70. package/android/common/src/androidTest/java/com/marianhello/bgloc/test/TestConstants.java +0 -5
  71. package/android/common/src/test/java/com/marianhello/backgroundgeolocation/ArrayListLocationTemplateTest.java +0 -82
  72. package/android/common/src/test/java/com/marianhello/backgroundgeolocation/BackgroundLocationTest.java +0 -128
  73. package/android/common/src/test/java/com/marianhello/backgroundgeolocation/ConfigTest.java +0 -191
  74. package/android/common/src/test/java/com/marianhello/backgroundgeolocation/DBLogReaderTest.java +0 -37
  75. package/android/common/src/test/java/com/marianhello/backgroundgeolocation/HashMapLocationTemplateTest.java +0 -216
  76. package/android/common/src/test/java/com/marianhello/backgroundgeolocation/HttpPostServiceTest.java +0 -223
  77. package/android/common/src/test/java/com/marianhello/backgroundgeolocation/LocationTemplateFactoryTest.java +0 -50
  78. package/android/common/src/test/java/com/marianhello/backgroundgeolocation/PostLocationTaskTest.java +0 -180
  79. package/android/common/src/test/java/com/marianhello/backgroundgeolocation/TestHelper.java +0 -16
  80. package/ios/common/BackgroundGeolocation/SOMotionDetector/CHANGELOG.md +0 -2
  81. package/ios/common/BackgroundGeolocation/SOMotionDetector/LICENSE +0 -21
  82. package/ios/common/BackgroundGeolocation/SOMotionDetector/README.md +0 -135
  83. package/ios/common/BackgroundGeolocation/SOMotionDetector/SOLocationManager.h +0 -80
  84. package/ios/common/BackgroundGeolocation/SOMotionDetector/SOLocationManager.m +0 -147
  85. package/ios/common/BackgroundGeolocation/SOMotionDetector/SOMotionActivity.h +0 -30
  86. package/ios/common/BackgroundGeolocation/SOMotionDetector/SOMotionActivity.m +0 -42
  87. package/ios/common/BackgroundGeolocation/SOMotionDetector/SOMotionDetector.h +0 -99
  88. package/ios/common/BackgroundGeolocation/SOMotionDetector/SOMotionDetector.m +0 -327
  89. package/ios/common/BackgroundGeolocation/SOMotionDetector/SOStepDetector.h +0 -44
  90. package/ios/common/BackgroundGeolocation/SOMotionDetector/SOStepDetector.m +0 -94
  91. package/ios/common/BackgroundGeolocationTests/Info.plist +0 -24
  92. package/ios/common/BackgroundGeolocationTests/MAURBackgroundLocationTest.m +0 -185
  93. package/ios/common/BackgroundGeolocationTests/MAURConfigTest.m +0 -161
  94. package/ios/common/BackgroundGeolocationTests/MAURGeolocationOpenHelperTest.m +0 -102
  95. package/ios/common/BackgroundGeolocationTests/MAURLocationTest.m +0 -216
  96. package/ios/common/BackgroundGeolocationTests/MAURLocationUploaderTest.m +0 -55
  97. package/ios/common/BackgroundGeolocationTests/MAURLogReaderTest.m +0 -43
  98. package/ios/common/BackgroundGeolocationTests/MAURSQLiteConfigurationDAOTest.m +0 -102
  99. package/ios/common/BackgroundGeolocationTests/MAURSQLiteHelperTest.m +0 -41
  100. package/ios/common/BackgroundGeolocationTests/MAURSQLiteLocationDAOTests.m +0 -240
  101. package/ios/common/BackgroundGeolocationTests/MAURSQLiteLocationDAOThreadTest.m +0 -84
  102. package/ios/common/BackgroundGeolocationTests/MAURSQLiteOpenHelperTest.m +0 -144
  103. package/ios/common/scripts/xcode-refactor.js +0 -184
@@ -1,184 +0,0 @@
1
- const fs = require('fs');
2
- const path = require('path');
3
-
4
- const DIRECTORIES = ['BackgroundGeolocation', 'BackgroundGeolocationTests'];
5
- const PBX_PROJ = path.join('BackgroundGeolocation.xcodeproj', 'project.pbxproj');
6
- const PREFIX = 'MAUR';
7
- const FILENAME_INCLUDE_CRITERIA = [
8
- /\.h$/,
9
- /\.m$/,
10
- ];
11
- const FILENAME_EXCLUDE_CRITERIA = [
12
- RegExp(`^${PREFIX}`), // file is already prefixed
13
- /^(?=[A-Z]{2,})((?!SQL)).*/, //match leading 2 capital letters except SQL
14
- /^Reachability/,
15
- /^CocoaLumberjack/,
16
- /^Util/
17
- ];
18
- const IMPORT_REGEXP = /\s*#import\s?\"(\w+\.[a-z]?)\"/g;
19
-
20
- // https://stackoverflow.com/a/6969486/3896616
21
- function escapeRegExp(str) {
22
- return str.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&");
23
- }
24
-
25
- let files = [].concat.apply([], DIRECTORIES.map(dir => fs.readdirSync(dir)
26
- .filter(fileName => {
27
- if (!FILENAME_INCLUDE_CRITERIA.some(regexp => regexp.test(fileName))) {
28
- return false;
29
- }
30
- if (!FILENAME_EXCLUDE_CRITERIA.some(regexp => regexp.test(fileName))) {
31
- return true;
32
- }
33
- return false;
34
- })
35
- .map(fileName => [dir, fileName])
36
- ));
37
-
38
- const refactorTable = files.reduce((memo, [dir, fileName]) => {
39
- memo[fileName] = `${PREFIX}${fileName}`;
40
- return memo;
41
- }, {});
42
-
43
- const objInstances = Object.entries(refactorTable).reduce((memo, [fileName, newFileName]) => {
44
- const [instanceName] = fileName.split('.');
45
- const [newInstanceName] = newFileName.split('.');
46
- memo[instanceName] = newInstanceName;
47
- return memo;
48
- }, {});
49
-
50
- const ref = files.map(([dir, fileName]) => {
51
- let matches;
52
- const imports = [];
53
- const [file, extension = ''] = fileName.split('.');
54
- const fileComment = extension ? `${file}_${extension}` : file;
55
- const oldPath = path.join(dir, fileName);
56
- const newPath = path.join(dir, refactorTable[fileName]);
57
- let content = fs.readFileSync(oldPath, 'utf8');
58
-
59
- // log imports to be returned from function
60
- while ((matches = IMPORT_REGEXP.exec(content)) !== null) {
61
- const [match, p1] = matches;
62
- imports.push(p1);
63
- }
64
-
65
- // replace imports
66
- content = content.replace(IMPORT_REGEXP, (match, fileName) => {
67
- const beginIndex = match.indexOf(fileName);
68
- const begin = match.substring(0, beginIndex);
69
- const end = match.substring(beginIndex + fileName.length);
70
- const refactoredFileName = refactorTable[fileName] || fileName;
71
- return `${begin}${refactoredFileName}${end}`;
72
- });
73
-
74
- /*
75
- replace class name in comment
76
- eg:
77
- // BackgroundGeolocationFacade.h
78
- */
79
- content = content.replace(RegExp(`\/\/\\s*(${escapeRegExp(fileName)})`), (match, p1) => {
80
- const beginIndex = match.indexOf(p1);
81
- const begin = match.substring(0, beginIndex);
82
- const end = match.substring(beginIndex + p1.length);
83
- return `${begin}${PREFIX}${p1}${end}`;
84
- });
85
-
86
- // replace ifdefs and ifndef
87
- content = content.replace(RegExp(`#ifndef\\s*(${escapeRegExp(fileComment)})`), (match, p1) => {
88
- const beginIndex = match.indexOf(p1);
89
- const begin = match.substring(0, beginIndex);
90
- const end = match.substring(beginIndex + p1.length);
91
- return `${begin}${PREFIX}${p1}${end}`;
92
- });
93
-
94
- // replace define
95
- content = content.replace(RegExp(`#define\\s*(${escapeRegExp(fileComment)})`), (match, p1) => {
96
- const beginIndex = match.indexOf(p1);
97
- const begin = match.substring(0, beginIndex);
98
- const end = match.substring(beginIndex + p1.length);
99
- return `${begin}${PREFIX}${p1}${end}`;
100
- });
101
-
102
- // replace endif
103
- content = content.replace(RegExp(`#endif\\s*\\/\\*\\s*(${escapeRegExp(fileComment)})\\s*\\*\\/`), (match, p1) => {
104
- const beginIndex = match.indexOf(p1);
105
- const begin = match.substring(0, beginIndex);
106
- const end = match.substring(beginIndex + p1.length);
107
- return `${begin}${PREFIX}${p1}${end}`;
108
- });
109
-
110
- // replace interface
111
- content = content.replace(RegExp(`\\s*@interface\\s*(${escapeRegExp(file)})\\s*(:\\s*(\\w+)(<\\w+>)?)?`), (match, p1, p2, p3) => {
112
- if (p3) {
113
- const beginIndex = match.indexOf(p1);
114
- const begin = match.substring(0, beginIndex);
115
- const protocolIndex = match.indexOf(p3);
116
- const end = match.substring(protocolIndex + p3.length);
117
- return [
118
- `${begin}${PREFIX}${p1}`,
119
- `${match.substring(beginIndex + p1.length, protocolIndex)}`,
120
- `${objInstances[p3]||p3}`,
121
- `${end}`
122
- ].join('');
123
- } else {
124
- const beginIndex = match.indexOf(p1);
125
- const begin = match.substring(0, beginIndex);
126
- const end = match.substring(beginIndex + p1.length);
127
- return `${begin}${PREFIX}${p1}${end}`;
128
- }
129
- });
130
-
131
- // replace implementation
132
- // TODO: replace protocol too
133
- content = content.replace(RegExp(`\\s*@implementation\\s*(${escapeRegExp(file)})`), (match, p1) => {
134
- let beginIndex = match.indexOf(p1);
135
- let begin = match.substring(0, beginIndex);
136
- let end = match.substring(beginIndex + p1.length);
137
- return `${begin}${PREFIX}${p1}${end}`;
138
- });
139
-
140
- // replace vars
141
- Object.entries(objInstances).forEach(([oldName, newName]) => {
142
- content = content.replace(RegExp(`\\b(${escapeRegExp(oldName)})\\s*(<\\w+>)?\\s*\\*`, 'g'), (match, p1) => {
143
- const beginIndex = match.indexOf(p1);
144
- const begin = match.substring(0, beginIndex);
145
- const end = match.substring(beginIndex + p1.length);
146
- return `${begin}${newName}${end}`;
147
- });
148
- });
149
-
150
- // replace static method calls
151
- Object.entries(objInstances).forEach(([oldName, newName]) => {
152
- content = content.replace(RegExp(`\\[(${escapeRegExp(oldName)})\\s+.*\\]`, 'g'), (match, p1) => {
153
- const beginIndex = match.indexOf(p1);
154
- const begin = match.substring(0, beginIndex);
155
- const end = match.substring(beginIndex + p1.length);
156
- return `${begin}${newName}${end}`;
157
- });
158
- });
159
-
160
- fs.renameSync(oldPath, newPath);
161
- fs.writeFileSync(newPath, content);
162
-
163
- return {
164
- oldPath,
165
- newPath,
166
- imports,
167
- newImports: imports.map(imp => refactorTable[imp]||imp)
168
- }
169
- });
170
-
171
- let pbxProj = fs.readFileSync(PBX_PROJ, 'utf8');
172
- Object.keys(refactorTable).forEach(fileName => {
173
- pbxProj = pbxProj.replace(RegExp(`\\b(${escapeRegExp(fileName)})`, 'g'), (match, fileName) => {
174
- const beginIndex = match.indexOf(fileName);
175
- const begin = match.substring(0, beginIndex);
176
- const end = match.substring(beginIndex + fileName.length);
177
- const refactoredFileName = refactorTable[fileName];
178
- return `${begin}${refactoredFileName}${end}`;
179
- });
180
- });
181
-
182
- fs.writeFileSync(PBX_PROJ, pbxProj);
183
-
184
- console.log(ref);