react-native-move-sdk 2.11.0 → 2.11.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 (32) hide show
  1. package/android/.gradle/7.4.2/checksums/checksums.lock +0 -0
  2. package/android/.gradle/7.4.2/checksums/md5-checksums.bin +0 -0
  3. package/android/.gradle/7.4.2/checksums/sha1-checksums.bin +0 -0
  4. package/android/.gradle/7.4.2/dependencies-accessors/dependencies-accessors.lock +0 -0
  5. package/android/.gradle/7.4.2/dependencies-accessors/gc.properties +0 -0
  6. package/android/.gradle/7.4.2/executionHistory/executionHistory.lock +0 -0
  7. package/android/.gradle/7.4.2/fileChanges/last-build.bin +0 -0
  8. package/android/.gradle/7.4.2/fileHashes/fileHashes.bin +0 -0
  9. package/android/.gradle/7.4.2/fileHashes/fileHashes.lock +0 -0
  10. package/android/.gradle/7.4.2/gc.properties +0 -0
  11. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  12. package/android/.gradle/buildOutputCleanup/cache.properties +2 -0
  13. package/android/.gradle/buildOutputCleanup/outputFiles.bin +0 -0
  14. package/android/.gradle/config.properties +2 -0
  15. package/android/.gradle/vcs-1/gc.properties +0 -0
  16. package/android/.idea/AndroidProjectSystem.xml +6 -0
  17. package/android/.idea/caches/deviceStreaming.xml +607 -0
  18. package/android/.idea/compiler.xml +6 -0
  19. package/android/.idea/gradle.xml +19 -0
  20. package/android/.idea/kotlinc.xml +6 -0
  21. package/android/.idea/migrations.xml +10 -0
  22. package/android/.idea/misc.xml +4 -0
  23. package/android/.idea/runConfigurations.xml +17 -0
  24. package/android/.idea/vcs.xml +6 -0
  25. package/android/build.gradle +1 -1
  26. package/android/local.properties +8 -0
  27. package/lib/commonjs/components/LazyMoveSdk.js +5 -1
  28. package/lib/commonjs/components/LazyMoveSdk.js.map +1 -1
  29. package/lib/module/components/LazyMoveSdk.js +4 -1
  30. package/lib/module/components/LazyMoveSdk.js.map +1 -1
  31. package/package.json +1 -1
  32. package/src/components/LazyMoveSdk.tsx +5 -2
File without changes
@@ -0,0 +1,2 @@
1
+ #Mon Feb 17 13:37:13 EET 2025
2
+ gradle.version=7.4.2
@@ -0,0 +1,2 @@
1
+ #Mon Feb 17 13:37:35 EET 2025
2
+ java.home=/Applications/Android Studio 2.app/Contents/jbr/Contents/Home
File without changes
@@ -0,0 +1,6 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="AndroidProjectSystem">
4
+ <option name="providerId" value="com.android.tools.idea.GradleProjectSystem" />
5
+ </component>
6
+ </project>
@@ -0,0 +1,607 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="DeviceStreaming">
4
+ <option name="deviceSelectionList">
5
+ <list>
6
+ <PersistentDeviceSelectionData>
7
+ <option name="api" value="27" />
8
+ <option name="brand" value="DOCOMO" />
9
+ <option name="codename" value="F01L" />
10
+ <option name="id" value="F01L" />
11
+ <option name="labId" value="google" />
12
+ <option name="manufacturer" value="FUJITSU" />
13
+ <option name="name" value="F-01L" />
14
+ <option name="screenDensity" value="360" />
15
+ <option name="screenX" value="720" />
16
+ <option name="screenY" value="1280" />
17
+ </PersistentDeviceSelectionData>
18
+ <PersistentDeviceSelectionData>
19
+ <option name="api" value="34" />
20
+ <option name="brand" value="OnePlus" />
21
+ <option name="codename" value="OP5552L1" />
22
+ <option name="id" value="OP5552L1" />
23
+ <option name="labId" value="google" />
24
+ <option name="manufacturer" value="OnePlus" />
25
+ <option name="name" value="CPH2415" />
26
+ <option name="screenDensity" value="480" />
27
+ <option name="screenX" value="1080" />
28
+ <option name="screenY" value="2412" />
29
+ </PersistentDeviceSelectionData>
30
+ <PersistentDeviceSelectionData>
31
+ <option name="api" value="34" />
32
+ <option name="brand" value="OPPO" />
33
+ <option name="codename" value="OP573DL1" />
34
+ <option name="id" value="OP573DL1" />
35
+ <option name="labId" value="google" />
36
+ <option name="manufacturer" value="OPPO" />
37
+ <option name="name" value="CPH2557" />
38
+ <option name="screenDensity" value="480" />
39
+ <option name="screenX" value="1080" />
40
+ <option name="screenY" value="2400" />
41
+ </PersistentDeviceSelectionData>
42
+ <PersistentDeviceSelectionData>
43
+ <option name="api" value="28" />
44
+ <option name="brand" value="DOCOMO" />
45
+ <option name="codename" value="SH-01L" />
46
+ <option name="id" value="SH-01L" />
47
+ <option name="labId" value="google" />
48
+ <option name="manufacturer" value="SHARP" />
49
+ <option name="name" value="AQUOS sense2 SH-01L" />
50
+ <option name="screenDensity" value="480" />
51
+ <option name="screenX" value="1080" />
52
+ <option name="screenY" value="2160" />
53
+ </PersistentDeviceSelectionData>
54
+ <PersistentDeviceSelectionData>
55
+ <option name="api" value="34" />
56
+ <option name="brand" value="Lenovo" />
57
+ <option name="codename" value="TB370FU" />
58
+ <option name="formFactor" value="Tablet" />
59
+ <option name="id" value="TB370FU" />
60
+ <option name="labId" value="google" />
61
+ <option name="manufacturer" value="Lenovo" />
62
+ <option name="name" value="Tab P12" />
63
+ <option name="screenDensity" value="340" />
64
+ <option name="screenX" value="1840" />
65
+ <option name="screenY" value="2944" />
66
+ </PersistentDeviceSelectionData>
67
+ <PersistentDeviceSelectionData>
68
+ <option name="api" value="34" />
69
+ <option name="brand" value="samsung" />
70
+ <option name="codename" value="a15" />
71
+ <option name="id" value="a15" />
72
+ <option name="labId" value="google" />
73
+ <option name="manufacturer" value="Samsung" />
74
+ <option name="name" value="A15" />
75
+ <option name="screenDensity" value="450" />
76
+ <option name="screenX" value="1080" />
77
+ <option name="screenY" value="2340" />
78
+ </PersistentDeviceSelectionData>
79
+ <PersistentDeviceSelectionData>
80
+ <option name="api" value="34" />
81
+ <option name="brand" value="samsung" />
82
+ <option name="codename" value="a35x" />
83
+ <option name="id" value="a35x" />
84
+ <option name="labId" value="google" />
85
+ <option name="manufacturer" value="Samsung" />
86
+ <option name="name" value="A35" />
87
+ <option name="screenDensity" value="450" />
88
+ <option name="screenX" value="1080" />
89
+ <option name="screenY" value="2340" />
90
+ </PersistentDeviceSelectionData>
91
+ <PersistentDeviceSelectionData>
92
+ <option name="api" value="31" />
93
+ <option name="brand" value="samsung" />
94
+ <option name="codename" value="a51" />
95
+ <option name="id" value="a51" />
96
+ <option name="labId" value="google" />
97
+ <option name="manufacturer" value="Samsung" />
98
+ <option name="name" value="Galaxy A51" />
99
+ <option name="screenDensity" value="420" />
100
+ <option name="screenX" value="1080" />
101
+ <option name="screenY" value="2400" />
102
+ </PersistentDeviceSelectionData>
103
+ <PersistentDeviceSelectionData>
104
+ <option name="api" value="34" />
105
+ <option name="brand" value="google" />
106
+ <option name="codename" value="akita" />
107
+ <option name="id" value="akita" />
108
+ <option name="labId" value="google" />
109
+ <option name="manufacturer" value="Google" />
110
+ <option name="name" value="Pixel 8a" />
111
+ <option name="screenDensity" value="420" />
112
+ <option name="screenX" value="1080" />
113
+ <option name="screenY" value="2400" />
114
+ </PersistentDeviceSelectionData>
115
+ <PersistentDeviceSelectionData>
116
+ <option name="api" value="34" />
117
+ <option name="brand" value="motorola" />
118
+ <option name="codename" value="arcfox" />
119
+ <option name="id" value="arcfox" />
120
+ <option name="labId" value="google" />
121
+ <option name="manufacturer" value="Motorola" />
122
+ <option name="name" value="razr plus 2024" />
123
+ <option name="screenDensity" value="360" />
124
+ <option name="screenX" value="1080" />
125
+ <option name="screenY" value="1272" />
126
+ </PersistentDeviceSelectionData>
127
+ <PersistentDeviceSelectionData>
128
+ <option name="api" value="33" />
129
+ <option name="brand" value="motorola" />
130
+ <option name="codename" value="austin" />
131
+ <option name="id" value="austin" />
132
+ <option name="labId" value="google" />
133
+ <option name="manufacturer" value="Motorola" />
134
+ <option name="name" value="moto g 5G (2022)" />
135
+ <option name="screenDensity" value="280" />
136
+ <option name="screenX" value="720" />
137
+ <option name="screenY" value="1600" />
138
+ </PersistentDeviceSelectionData>
139
+ <PersistentDeviceSelectionData>
140
+ <option name="api" value="33" />
141
+ <option name="brand" value="samsung" />
142
+ <option name="codename" value="b0q" />
143
+ <option name="id" value="b0q" />
144
+ <option name="labId" value="google" />
145
+ <option name="manufacturer" value="Samsung" />
146
+ <option name="name" value="Galaxy S22 Ultra" />
147
+ <option name="screenDensity" value="600" />
148
+ <option name="screenX" value="1440" />
149
+ <option name="screenY" value="3088" />
150
+ </PersistentDeviceSelectionData>
151
+ <PersistentDeviceSelectionData>
152
+ <option name="api" value="32" />
153
+ <option name="brand" value="google" />
154
+ <option name="codename" value="bluejay" />
155
+ <option name="id" value="bluejay" />
156
+ <option name="labId" value="google" />
157
+ <option name="manufacturer" value="Google" />
158
+ <option name="name" value="Pixel 6a" />
159
+ <option name="screenDensity" value="420" />
160
+ <option name="screenX" value="1080" />
161
+ <option name="screenY" value="2400" />
162
+ </PersistentDeviceSelectionData>
163
+ <PersistentDeviceSelectionData>
164
+ <option name="api" value="34" />
165
+ <option name="brand" value="google" />
166
+ <option name="codename" value="caiman" />
167
+ <option name="id" value="caiman" />
168
+ <option name="labId" value="google" />
169
+ <option name="manufacturer" value="Google" />
170
+ <option name="name" value="Pixel 9 Pro" />
171
+ <option name="screenDensity" value="360" />
172
+ <option name="screenX" value="960" />
173
+ <option name="screenY" value="2142" />
174
+ </PersistentDeviceSelectionData>
175
+ <PersistentDeviceSelectionData>
176
+ <option name="api" value="34" />
177
+ <option name="brand" value="google" />
178
+ <option name="codename" value="comet" />
179
+ <option name="default" value="true" />
180
+ <option name="id" value="comet" />
181
+ <option name="labId" value="google" />
182
+ <option name="manufacturer" value="Google" />
183
+ <option name="name" value="Pixel 9 Pro Fold" />
184
+ <option name="screenDensity" value="390" />
185
+ <option name="screenX" value="2076" />
186
+ <option name="screenY" value="2152" />
187
+ </PersistentDeviceSelectionData>
188
+ <PersistentDeviceSelectionData>
189
+ <option name="api" value="29" />
190
+ <option name="brand" value="samsung" />
191
+ <option name="codename" value="crownqlteue" />
192
+ <option name="id" value="crownqlteue" />
193
+ <option name="labId" value="google" />
194
+ <option name="manufacturer" value="Samsung" />
195
+ <option name="name" value="Galaxy Note9" />
196
+ <option name="screenDensity" value="420" />
197
+ <option name="screenX" value="2220" />
198
+ <option name="screenY" value="1080" />
199
+ </PersistentDeviceSelectionData>
200
+ <PersistentDeviceSelectionData>
201
+ <option name="api" value="34" />
202
+ <option name="brand" value="samsung" />
203
+ <option name="codename" value="dm2q" />
204
+ <option name="id" value="dm2q" />
205
+ <option name="labId" value="google" />
206
+ <option name="manufacturer" value="Samsung" />
207
+ <option name="name" value="S23 Plus" />
208
+ <option name="screenDensity" value="450" />
209
+ <option name="screenX" value="1080" />
210
+ <option name="screenY" value="2340" />
211
+ </PersistentDeviceSelectionData>
212
+ <PersistentDeviceSelectionData>
213
+ <option name="api" value="34" />
214
+ <option name="brand" value="samsung" />
215
+ <option name="codename" value="dm3q" />
216
+ <option name="id" value="dm3q" />
217
+ <option name="labId" value="google" />
218
+ <option name="manufacturer" value="Samsung" />
219
+ <option name="name" value="Galaxy S23 Ultra" />
220
+ <option name="screenDensity" value="600" />
221
+ <option name="screenX" value="1440" />
222
+ <option name="screenY" value="3088" />
223
+ </PersistentDeviceSelectionData>
224
+ <PersistentDeviceSelectionData>
225
+ <option name="api" value="34" />
226
+ <option name="brand" value="samsung" />
227
+ <option name="codename" value="e1q" />
228
+ <option name="default" value="true" />
229
+ <option name="id" value="e1q" />
230
+ <option name="labId" value="google" />
231
+ <option name="manufacturer" value="Samsung" />
232
+ <option name="name" value="Galaxy S24" />
233
+ <option name="screenDensity" value="480" />
234
+ <option name="screenX" value="1080" />
235
+ <option name="screenY" value="2340" />
236
+ </PersistentDeviceSelectionData>
237
+ <PersistentDeviceSelectionData>
238
+ <option name="api" value="34" />
239
+ <option name="brand" value="samsung" />
240
+ <option name="codename" value="e3q" />
241
+ <option name="id" value="e3q" />
242
+ <option name="labId" value="google" />
243
+ <option name="manufacturer" value="Samsung" />
244
+ <option name="name" value="Galaxy S24 Ultra" />
245
+ <option name="screenDensity" value="450" />
246
+ <option name="screenX" value="1440" />
247
+ <option name="screenY" value="3120" />
248
+ </PersistentDeviceSelectionData>
249
+ <PersistentDeviceSelectionData>
250
+ <option name="api" value="33" />
251
+ <option name="brand" value="google" />
252
+ <option name="codename" value="eos" />
253
+ <option name="id" value="eos" />
254
+ <option name="labId" value="google" />
255
+ <option name="manufacturer" value="Google" />
256
+ <option name="name" value="Eos" />
257
+ <option name="screenDensity" value="320" />
258
+ <option name="screenX" value="384" />
259
+ <option name="screenY" value="384" />
260
+ </PersistentDeviceSelectionData>
261
+ <PersistentDeviceSelectionData>
262
+ <option name="api" value="33" />
263
+ <option name="brand" value="google" />
264
+ <option name="codename" value="felix" />
265
+ <option name="id" value="felix" />
266
+ <option name="labId" value="google" />
267
+ <option name="manufacturer" value="Google" />
268
+ <option name="name" value="Pixel Fold" />
269
+ <option name="screenDensity" value="420" />
270
+ <option name="screenX" value="2208" />
271
+ <option name="screenY" value="1840" />
272
+ </PersistentDeviceSelectionData>
273
+ <PersistentDeviceSelectionData>
274
+ <option name="api" value="34" />
275
+ <option name="brand" value="google" />
276
+ <option name="codename" value="felix" />
277
+ <option name="id" value="felix" />
278
+ <option name="labId" value="google" />
279
+ <option name="manufacturer" value="Google" />
280
+ <option name="name" value="Pixel Fold" />
281
+ <option name="screenDensity" value="420" />
282
+ <option name="screenX" value="2208" />
283
+ <option name="screenY" value="1840" />
284
+ </PersistentDeviceSelectionData>
285
+ <PersistentDeviceSelectionData>
286
+ <option name="api" value="33" />
287
+ <option name="brand" value="google" />
288
+ <option name="codename" value="felix_camera" />
289
+ <option name="id" value="felix_camera" />
290
+ <option name="labId" value="google" />
291
+ <option name="manufacturer" value="Google" />
292
+ <option name="name" value="Pixel Fold (Camera-enabled)" />
293
+ <option name="screenDensity" value="420" />
294
+ <option name="screenX" value="2208" />
295
+ <option name="screenY" value="1840" />
296
+ </PersistentDeviceSelectionData>
297
+ <PersistentDeviceSelectionData>
298
+ <option name="api" value="34" />
299
+ <option name="brand" value="motorola" />
300
+ <option name="codename" value="fogona" />
301
+ <option name="id" value="fogona" />
302
+ <option name="labId" value="google" />
303
+ <option name="manufacturer" value="Motorola" />
304
+ <option name="name" value="moto g play - 2024" />
305
+ <option name="screenDensity" value="280" />
306
+ <option name="screenX" value="720" />
307
+ <option name="screenY" value="1600" />
308
+ </PersistentDeviceSelectionData>
309
+ <PersistentDeviceSelectionData>
310
+ <option name="api" value="34" />
311
+ <option name="brand" value="samsung" />
312
+ <option name="codename" value="g0q" />
313
+ <option name="id" value="g0q" />
314
+ <option name="labId" value="google" />
315
+ <option name="manufacturer" value="Samsung" />
316
+ <option name="name" value="SM-S906U1" />
317
+ <option name="screenDensity" value="450" />
318
+ <option name="screenX" value="1080" />
319
+ <option name="screenY" value="2340" />
320
+ </PersistentDeviceSelectionData>
321
+ <PersistentDeviceSelectionData>
322
+ <option name="api" value="34" />
323
+ <option name="brand" value="samsung" />
324
+ <option name="codename" value="gta9pwifi" />
325
+ <option name="id" value="gta9pwifi" />
326
+ <option name="labId" value="google" />
327
+ <option name="manufacturer" value="Samsung" />
328
+ <option name="name" value="SM-X210" />
329
+ <option name="screenDensity" value="240" />
330
+ <option name="screenX" value="1200" />
331
+ <option name="screenY" value="1920" />
332
+ </PersistentDeviceSelectionData>
333
+ <PersistentDeviceSelectionData>
334
+ <option name="api" value="34" />
335
+ <option name="brand" value="samsung" />
336
+ <option name="codename" value="gts7xllite" />
337
+ <option name="id" value="gts7xllite" />
338
+ <option name="labId" value="google" />
339
+ <option name="manufacturer" value="Samsung" />
340
+ <option name="name" value="SM-T738U" />
341
+ <option name="screenDensity" value="340" />
342
+ <option name="screenX" value="1600" />
343
+ <option name="screenY" value="2560" />
344
+ </PersistentDeviceSelectionData>
345
+ <PersistentDeviceSelectionData>
346
+ <option name="api" value="33" />
347
+ <option name="brand" value="samsung" />
348
+ <option name="codename" value="gts8uwifi" />
349
+ <option name="formFactor" value="Tablet" />
350
+ <option name="id" value="gts8uwifi" />
351
+ <option name="labId" value="google" />
352
+ <option name="manufacturer" value="Samsung" />
353
+ <option name="name" value="Galaxy Tab S8 Ultra" />
354
+ <option name="screenDensity" value="320" />
355
+ <option name="screenX" value="1848" />
356
+ <option name="screenY" value="2960" />
357
+ </PersistentDeviceSelectionData>
358
+ <PersistentDeviceSelectionData>
359
+ <option name="api" value="34" />
360
+ <option name="brand" value="samsung" />
361
+ <option name="codename" value="gts8wifi" />
362
+ <option name="formFactor" value="Tablet" />
363
+ <option name="id" value="gts8wifi" />
364
+ <option name="labId" value="google" />
365
+ <option name="manufacturer" value="Samsung" />
366
+ <option name="name" value="Galaxy Tab S8" />
367
+ <option name="screenDensity" value="274" />
368
+ <option name="screenX" value="1600" />
369
+ <option name="screenY" value="2560" />
370
+ </PersistentDeviceSelectionData>
371
+ <PersistentDeviceSelectionData>
372
+ <option name="api" value="34" />
373
+ <option name="brand" value="samsung" />
374
+ <option name="codename" value="gts9fe" />
375
+ <option name="id" value="gts9fe" />
376
+ <option name="labId" value="google" />
377
+ <option name="manufacturer" value="Samsung" />
378
+ <option name="name" value="Galaxy Tab S9 FE 5G" />
379
+ <option name="screenDensity" value="280" />
380
+ <option name="screenX" value="1440" />
381
+ <option name="screenY" value="2304" />
382
+ </PersistentDeviceSelectionData>
383
+ <PersistentDeviceSelectionData>
384
+ <option name="api" value="34" />
385
+ <option name="brand" value="google" />
386
+ <option name="codename" value="husky" />
387
+ <option name="id" value="husky" />
388
+ <option name="labId" value="google" />
389
+ <option name="manufacturer" value="Google" />
390
+ <option name="name" value="Pixel 8 Pro" />
391
+ <option name="screenDensity" value="390" />
392
+ <option name="screenX" value="1008" />
393
+ <option name="screenY" value="2244" />
394
+ </PersistentDeviceSelectionData>
395
+ <PersistentDeviceSelectionData>
396
+ <option name="api" value="30" />
397
+ <option name="brand" value="motorola" />
398
+ <option name="codename" value="java" />
399
+ <option name="id" value="java" />
400
+ <option name="labId" value="google" />
401
+ <option name="manufacturer" value="Motorola" />
402
+ <option name="name" value="G20" />
403
+ <option name="screenDensity" value="280" />
404
+ <option name="screenX" value="720" />
405
+ <option name="screenY" value="1600" />
406
+ </PersistentDeviceSelectionData>
407
+ <PersistentDeviceSelectionData>
408
+ <option name="api" value="34" />
409
+ <option name="brand" value="google" />
410
+ <option name="codename" value="komodo" />
411
+ <option name="id" value="komodo" />
412
+ <option name="labId" value="google" />
413
+ <option name="manufacturer" value="Google" />
414
+ <option name="name" value="Pixel 9 Pro XL" />
415
+ <option name="screenDensity" value="360" />
416
+ <option name="screenX" value="1008" />
417
+ <option name="screenY" value="2244" />
418
+ </PersistentDeviceSelectionData>
419
+ <PersistentDeviceSelectionData>
420
+ <option name="api" value="33" />
421
+ <option name="brand" value="google" />
422
+ <option name="codename" value="lynx" />
423
+ <option name="id" value="lynx" />
424
+ <option name="labId" value="google" />
425
+ <option name="manufacturer" value="Google" />
426
+ <option name="name" value="Pixel 7a" />
427
+ <option name="screenDensity" value="420" />
428
+ <option name="screenX" value="1080" />
429
+ <option name="screenY" value="2400" />
430
+ </PersistentDeviceSelectionData>
431
+ <PersistentDeviceSelectionData>
432
+ <option name="api" value="33" />
433
+ <option name="brand" value="motorola" />
434
+ <option name="codename" value="maui" />
435
+ <option name="id" value="maui" />
436
+ <option name="labId" value="google" />
437
+ <option name="manufacturer" value="Motorola" />
438
+ <option name="name" value="moto g play - 2023" />
439
+ <option name="screenDensity" value="280" />
440
+ <option name="screenX" value="720" />
441
+ <option name="screenY" value="1600" />
442
+ </PersistentDeviceSelectionData>
443
+ <PersistentDeviceSelectionData>
444
+ <option name="api" value="34" />
445
+ <option name="brand" value="samsung" />
446
+ <option name="codename" value="o1q" />
447
+ <option name="id" value="o1q" />
448
+ <option name="labId" value="google" />
449
+ <option name="manufacturer" value="Samsung" />
450
+ <option name="name" value="Galaxy S21" />
451
+ <option name="screenDensity" value="421" />
452
+ <option name="screenX" value="1080" />
453
+ <option name="screenY" value="2400" />
454
+ </PersistentDeviceSelectionData>
455
+ <PersistentDeviceSelectionData>
456
+ <option name="api" value="31" />
457
+ <option name="brand" value="google" />
458
+ <option name="codename" value="oriole" />
459
+ <option name="id" value="oriole" />
460
+ <option name="labId" value="google" />
461
+ <option name="manufacturer" value="Google" />
462
+ <option name="name" value="Pixel 6" />
463
+ <option name="screenDensity" value="420" />
464
+ <option name="screenX" value="1080" />
465
+ <option name="screenY" value="2400" />
466
+ </PersistentDeviceSelectionData>
467
+ <PersistentDeviceSelectionData>
468
+ <option name="api" value="33" />
469
+ <option name="brand" value="google" />
470
+ <option name="codename" value="panther" />
471
+ <option name="id" value="panther" />
472
+ <option name="labId" value="google" />
473
+ <option name="manufacturer" value="Google" />
474
+ <option name="name" value="Pixel 7" />
475
+ <option name="screenDensity" value="420" />
476
+ <option name="screenX" value="1080" />
477
+ <option name="screenY" value="2400" />
478
+ </PersistentDeviceSelectionData>
479
+ <PersistentDeviceSelectionData>
480
+ <option name="api" value="34" />
481
+ <option name="brand" value="samsung" />
482
+ <option name="codename" value="q5q" />
483
+ <option name="id" value="q5q" />
484
+ <option name="labId" value="google" />
485
+ <option name="manufacturer" value="Samsung" />
486
+ <option name="name" value="Galaxy Z Fold5" />
487
+ <option name="screenDensity" value="420" />
488
+ <option name="screenX" value="1812" />
489
+ <option name="screenY" value="2176" />
490
+ </PersistentDeviceSelectionData>
491
+ <PersistentDeviceSelectionData>
492
+ <option name="api" value="34" />
493
+ <option name="brand" value="samsung" />
494
+ <option name="codename" value="q6q" />
495
+ <option name="id" value="q6q" />
496
+ <option name="labId" value="google" />
497
+ <option name="manufacturer" value="Samsung" />
498
+ <option name="name" value="Galaxy Z Fold6" />
499
+ <option name="screenDensity" value="420" />
500
+ <option name="screenX" value="1856" />
501
+ <option name="screenY" value="2160" />
502
+ </PersistentDeviceSelectionData>
503
+ <PersistentDeviceSelectionData>
504
+ <option name="api" value="30" />
505
+ <option name="brand" value="google" />
506
+ <option name="codename" value="r11" />
507
+ <option name="formFactor" value="Wear OS" />
508
+ <option name="id" value="r11" />
509
+ <option name="labId" value="google" />
510
+ <option name="manufacturer" value="Google" />
511
+ <option name="name" value="Pixel Watch" />
512
+ <option name="screenDensity" value="320" />
513
+ <option name="screenX" value="384" />
514
+ <option name="screenY" value="384" />
515
+ <option name="type" value="WEAR_OS" />
516
+ </PersistentDeviceSelectionData>
517
+ <PersistentDeviceSelectionData>
518
+ <option name="api" value="34" />
519
+ <option name="brand" value="samsung" />
520
+ <option name="codename" value="r11q" />
521
+ <option name="id" value="r11q" />
522
+ <option name="labId" value="google" />
523
+ <option name="manufacturer" value="Samsung" />
524
+ <option name="name" value="SM-S711U" />
525
+ <option name="screenDensity" value="450" />
526
+ <option name="screenX" value="1080" />
527
+ <option name="screenY" value="2340" />
528
+ </PersistentDeviceSelectionData>
529
+ <PersistentDeviceSelectionData>
530
+ <option name="api" value="30" />
531
+ <option name="brand" value="google" />
532
+ <option name="codename" value="redfin" />
533
+ <option name="id" value="redfin" />
534
+ <option name="labId" value="google" />
535
+ <option name="manufacturer" value="Google" />
536
+ <option name="name" value="Pixel 5" />
537
+ <option name="screenDensity" value="440" />
538
+ <option name="screenX" value="1080" />
539
+ <option name="screenY" value="2340" />
540
+ </PersistentDeviceSelectionData>
541
+ <PersistentDeviceSelectionData>
542
+ <option name="api" value="34" />
543
+ <option name="brand" value="google" />
544
+ <option name="codename" value="shiba" />
545
+ <option name="id" value="shiba" />
546
+ <option name="labId" value="google" />
547
+ <option name="manufacturer" value="Google" />
548
+ <option name="name" value="Pixel 8" />
549
+ <option name="screenDensity" value="420" />
550
+ <option name="screenX" value="1080" />
551
+ <option name="screenY" value="2400" />
552
+ </PersistentDeviceSelectionData>
553
+ <PersistentDeviceSelectionData>
554
+ <option name="api" value="34" />
555
+ <option name="brand" value="samsung" />
556
+ <option name="codename" value="t2q" />
557
+ <option name="id" value="t2q" />
558
+ <option name="labId" value="google" />
559
+ <option name="manufacturer" value="Samsung" />
560
+ <option name="name" value="Galaxy S21 Plus" />
561
+ <option name="screenDensity" value="394" />
562
+ <option name="screenX" value="1080" />
563
+ <option name="screenY" value="2400" />
564
+ </PersistentDeviceSelectionData>
565
+ <PersistentDeviceSelectionData>
566
+ <option name="api" value="33" />
567
+ <option name="brand" value="google" />
568
+ <option name="codename" value="tangorpro" />
569
+ <option name="formFactor" value="Tablet" />
570
+ <option name="id" value="tangorpro" />
571
+ <option name="labId" value="google" />
572
+ <option name="manufacturer" value="Google" />
573
+ <option name="name" value="Pixel Tablet" />
574
+ <option name="screenDensity" value="320" />
575
+ <option name="screenX" value="1600" />
576
+ <option name="screenY" value="2560" />
577
+ </PersistentDeviceSelectionData>
578
+ <PersistentDeviceSelectionData>
579
+ <option name="api" value="34" />
580
+ <option name="brand" value="google" />
581
+ <option name="codename" value="tokay" />
582
+ <option name="default" value="true" />
583
+ <option name="id" value="tokay" />
584
+ <option name="labId" value="google" />
585
+ <option name="manufacturer" value="Google" />
586
+ <option name="name" value="Pixel 9" />
587
+ <option name="screenDensity" value="420" />
588
+ <option name="screenX" value="1080" />
589
+ <option name="screenY" value="2424" />
590
+ </PersistentDeviceSelectionData>
591
+ <PersistentDeviceSelectionData>
592
+ <option name="api" value="35" />
593
+ <option name="brand" value="google" />
594
+ <option name="codename" value="tokay" />
595
+ <option name="default" value="true" />
596
+ <option name="id" value="tokay" />
597
+ <option name="labId" value="google" />
598
+ <option name="manufacturer" value="Google" />
599
+ <option name="name" value="Pixel 9" />
600
+ <option name="screenDensity" value="420" />
601
+ <option name="screenX" value="1080" />
602
+ <option name="screenY" value="2424" />
603
+ </PersistentDeviceSelectionData>
604
+ </list>
605
+ </option>
606
+ </component>
607
+ </project>
@@ -0,0 +1,6 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="CompilerConfiguration">
4
+ <bytecodeTargetLevel target="17" />
5
+ </component>
6
+ </project>
@@ -0,0 +1,19 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="GradleMigrationSettings" migrationVersion="1" />
4
+ <component name="GradleSettings">
5
+ <option name="linkedExternalProjectsSettings">
6
+ <GradleProjectSettings>
7
+ <option name="testRunner" value="CHOOSE_PER_TEST" />
8
+ <option name="externalProjectPath" value="$PROJECT_DIR$" />
9
+ <option name="gradleJvm" value="#GRADLE_LOCAL_JAVA_HOME" />
10
+ <option name="modules">
11
+ <set>
12
+ <option value="$PROJECT_DIR$" />
13
+ </set>
14
+ </option>
15
+ <option name="resolveExternalAnnotations" value="false" />
16
+ </GradleProjectSettings>
17
+ </option>
18
+ </component>
19
+ </project>
@@ -0,0 +1,6 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="KotlinJpsPluginSettings">
4
+ <option name="version" value="1.7.10" />
5
+ </component>
6
+ </project>
@@ -0,0 +1,10 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="ProjectMigrations">
4
+ <option name="MigrateToGradleLocalJavaHome">
5
+ <set>
6
+ <option value="$PROJECT_DIR$" />
7
+ </set>
8
+ </option>
9
+ </component>
10
+ </project>
@@ -0,0 +1,4 @@
1
+ <project version="4">
2
+ <component name="ExternalStorageConfigurationManager" enabled="true" />
3
+ <component name="ProjectRootManager" version="2" languageLevel="JDK_17" default="true" project-jdk-name="jbr-17" project-jdk-type="JavaSDK" />
4
+ </project>
@@ -0,0 +1,17 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="RunConfigurationProducerService">
4
+ <option name="ignoredProducers">
5
+ <set>
6
+ <option value="com.intellij.execution.junit.AbstractAllInDirectoryConfigurationProducer" />
7
+ <option value="com.intellij.execution.junit.AllInPackageConfigurationProducer" />
8
+ <option value="com.intellij.execution.junit.PatternConfigurationProducer" />
9
+ <option value="com.intellij.execution.junit.TestInClassConfigurationProducer" />
10
+ <option value="com.intellij.execution.junit.UniqueIdConfigurationProducer" />
11
+ <option value="com.intellij.execution.junit.testDiscovery.JUnitTestDiscoveryConfigurationProducer" />
12
+ <option value="org.jetbrains.kotlin.idea.junit.KotlinJUnitRunConfigurationProducer" />
13
+ <option value="org.jetbrains.kotlin.idea.junit.KotlinPatternConfigurationProducer" />
14
+ </set>
15
+ </option>
16
+ </component>
17
+ </project>
@@ -0,0 +1,6 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project version="4">
3
+ <component name="VcsDirectoryMappings">
4
+ <mapping directory="$PROJECT_DIR$/.." vcs="Git" />
5
+ </component>
6
+ </project>
@@ -144,7 +144,7 @@ dependencies {
144
144
  // noinspection GradleDynamicVersion
145
145
 
146
146
  implementation "com.facebook.react:react-native:+"
147
- api "io.dolphin.move:move-sdk:2.11.1.91"
147
+ api "io.dolphin.move:move-sdk:2.11.2.93"
148
148
 
149
149
  testImplementation 'junit:junit:4.13.2'
150
150
  testImplementation "androidx.test:core:1.4.0"
@@ -0,0 +1,8 @@
1
+ ## This file must *NOT* be checked into Version Control Systems,
2
+ # as it contains information specific to your local configuration.
3
+ #
4
+ # Location of the SDK. This is only used by Gradle.
5
+ # For customization when using a Version Control System, please read the
6
+ # header note.
7
+ #Mon Feb 17 13:37:04 EET 2025
8
+ sdk.dir=/Users/vitaliipankiv/Library/Android/sdk
@@ -27,6 +27,7 @@ function LazyMoveSdk(_ref) {
27
27
  const prevState = (0, _react.useRef)('terminated');
28
28
  const [currentMode, setCurrentMode] = (0, _react.useState)(_reactNative.AppState.currentState);
29
29
  const [tripState, setTripState] = (0, _react.useState)();
30
+ const [sdkState, setSdkState] = (0, _react.useState)();
30
31
  const [removeUi, setRemoveUi] = (0, _react.useState)(false);
31
32
  const [isListener, setIsListener] = (0, _react.useState)(false);
32
33
  (0, _react.useEffect)(() => {
@@ -40,6 +41,8 @@ function LazyMoveSdk(_ref) {
40
41
 
41
42
  const tripStateSubscription = _MoveSdk.default.addTripStateListener(setTripState);
42
43
 
44
+ const sdkStateSubscription = _MoveSdk.default.addSdkStateListener(setSdkState);
45
+
43
46
  const checkStatesAndSetTimerToRemoveUi = async () => {
44
47
  const removeUiInBackgroundTimeoutId = await _asyncStorage.default.getItem('@removeUiInBackgroundTimeoutId');
45
48
 
@@ -71,6 +74,7 @@ function LazyMoveSdk(_ref) {
71
74
  return () => {
72
75
  appStateSubscription.remove();
73
76
  tripStateSubscription.remove();
77
+ sdkStateSubscription.remove();
74
78
 
75
79
  if (timer) {
76
80
  if (_reactNative.Platform.OS === 'android') {
@@ -90,7 +94,7 @@ function LazyMoveSdk(_ref) {
90
94
  }, [currentMode, removeUi]);
91
95
  const startedInBackground = prevState.current === 'terminated' && currentMode === 'background' || prevState.current === 'terminated' && currentMode === 'unknown' || prevState.current === 'background' && currentMode === 'background'; // DON'T RENDER UI IF APP STARTED IN BACKGROUND OR APP IS IN BACKGROUND AND TRIP STARTS
92
96
 
93
- if (startedInBackground && !isListener || removeUi) {
97
+ if (startedInBackground && !isListener && sdkState === _MoveSdk.default.RUNNING || removeUi) {
94
98
  return /*#__PURE__*/_react.default.createElement(_reactNative.View, null);
95
99
  }
96
100
 
@@ -1 +1 @@
1
- {"version":3,"sources":["LazyMoveSdk.tsx"],"names":["LazyMoveSdk","children","delayToRemoveUiInBackgroundMs","prevState","currentMode","setCurrentMode","AppState","currentState","tripState","setTripState","removeUi","setRemoveUi","isListener","setIsListener","timer","appStateSubscription","addEventListener","state","current","tripStateSubscription","MoveSdk","addTripStateListener","checkStatesAndSetTimerToRemoveUi","removeUiInBackgroundTimeoutId","AsyncStorage","getItem","DRIVING","Platform","OS","setTimer","setTimeout","setItem","toString","cancelTimer","clearTimeout","removeItem","remove","startedInBackground"],"mappings":";;;;;;;AAAA;;AACA;;AACA;;AAEA;;;;;;;;AAOe,SAASA,WAAT,OAA4F;AAAA,MAAvE;AAAEC,IAAAA,QAAF;AAAYC,IAAAA,6BAA6B,GAAG;AAA5C,GAAuE;AACzG,QAAMC,SAAS,GAAG,mBAAO,YAAP,CAAlB;AACA,QAAM,CAACC,WAAD,EAAcC,cAAd,IAAgC,qBAASC,sBAASC,YAAlB,CAAtC;AACA,QAAM,CAACC,SAAD,EAAYC,YAAZ,IAA4B,sBAAlC;AACA,QAAM,CAACC,QAAD,EAAWC,WAAX,IAA0B,qBAAS,KAAT,CAAhC;AACA,QAAM,CAACC,UAAD,EAAaC,aAAb,IAA8B,qBAAS,KAAT,CAApC;AAEA,wBAAU,MAAM;AACd,QAAIC,KAA6D,GAAG,IAApE;;AACA,UAAMC,oBAAoB,GAAGT,sBAASU,gBAAT,CAA0B,QAA1B,EAAqCC,KAAD,IAA2B;AAC1FJ,MAAAA,aAAa,CAAC,IAAD,CAAb;AACAR,MAAAA,cAAc,CAACY,KAAD,CAAd;AACAd,MAAAA,SAAS,CAACe,OAAV,GAAoBD,KAApB;AACD,KAJ4B,CAA7B;;AAKA,UAAME,qBAAqB,GAAGC,iBAAQC,oBAAR,CAA6BZ,YAA7B,CAA9B;;AAEA,UAAMa,gCAAgC,GAAG,YAAY;AACnD,YAAMC,6BAA6B,GAAG,MAAMC,sBAAaC,OAAb,CAAqB,gCAArB,CAA5C;;AACA,UAAIrB,WAAW,KAAK,YAAhB,IAAgCI,SAAS,KAAKY,iBAAQM,OAAtD,IAAiE,CAACH,6BAAlE,IAAmGT,KAAK,KAAK,IAAjH,EAAuH;AACrH,YAAIa,sBAASC,EAAT,KAAgB,SAApB,EAA+B;AAC7Bd,UAAAA,KAAK,GAAGM,iBAAQS,QAAR,CAAiB,MAAMlB,WAAW,CAAC,IAAD,CAAlC,EAA0CT,6BAA1C,CAAR;AACD,SAFD,MAEO;AACLY,UAAAA,KAAK,GAAGgB,UAAU,CAAC,MAAMnB,WAAW,CAAC,IAAD,CAAlB,EAA0BT,6BAA1B,CAAlB;AACD;;AACD,YAAIY,KAAJ,EAAW;AACTU,gCAAaO,OAAb,CAAqB,gCAArB,EAAuDjB,KAAK,CAACkB,QAAN,EAAvD;AACD;AACF;;AACD,UAAI5B,WAAW,KAAK,QAAhB,IAA4BmB,6BAAhC,EAA+D;AAC7D,YAAII,sBAASC,EAAT,KAAgB,SAApB,EAA+B;AAC7BR,2BAAQa,WAAR,CAAoBV,6BAApB;AACD,SAFD,MAEO;AACLW,UAAAA,YAAY,CAAC,CAACX,6BAAF,CAAZ;AACD;;AACDT,QAAAA,KAAK,GAAG,IAAR;AACA,cAAMU,sBAAaW,UAAb,CAAwB,gCAAxB,CAAN;AACD;AACF,KArBD;;AAsBAb,IAAAA,gCAAgC;AAEhC,WAAO,MAAM;AACXP,MAAAA,oBAAoB,CAACqB,MAArB;AACAjB,MAAAA,qBAAqB,CAACiB,MAAtB;;AACA,UAAItB,KAAJ,EAAW;AACT,YAAIa,sBAASC,EAAT,KAAgB,SAApB,EAA+B;AAC7BR,2BAAQa,WAAR,CAAoBnB,KAApB;AACD,SAFD,MAEO;AACLoB,UAAAA,YAAY,CAACpB,KAAD,CAAZ;AACD;;AACDA,QAAAA,KAAK,GAAG,IAAR;AACD;AACF,KAXD;AAYD,GA7CD,EA6CG,CAACV,WAAD,EAAcI,SAAd,EAAyBN,6BAAzB,CA7CH;AA+CA,wBAAU,MAAM;AACd,QAAIE,WAAW,KAAK,QAAhB,IAA4BM,QAAhC,EAA0C;AACxCC,MAAAA,WAAW,CAAC,KAAD,CAAX;AACD;AACF,GAJD,EAIG,CAACP,WAAD,EAAcM,QAAd,CAJH;AAMA,QAAM2B,mBAAmB,GACtBlC,SAAS,CAACe,OAAV,KAAsB,YAAtB,IAAsCd,WAAW,KAAK,YAAvD,IACCD,SAAS,CAACe,OAAV,KAAsB,YAAtB,IAAsCd,WAAW,KAAK,SADvD,IAECD,SAAS,CAACe,OAAV,KAAsB,YAAtB,IAAsCd,WAAW,KAAK,YAHzD,CA5DyG,CAiEzG;;AACA,MAAKiC,mBAAmB,IAAI,CAACzB,UAAzB,IAAwCF,QAA5C,EAAsD;AACpD,wBAAO,6BAAC,iBAAD,OAAP;AACD;;AAED,sBAAO,6BAAC,eAAD;AAAU,IAAA,QAAQ,eAAE,6BAAC,iBAAD;AAApB,KAA+BT,QAA/B,CAAP;AACD","sourcesContent":["import React, { Suspense, useEffect, useRef, useState } from 'react';\nimport { AppState, AppStateStatus, Platform, View } from 'react-native';\nimport AsyncStorage from '@react-native-async-storage/async-storage';\n\nimport MoveSdk, { TripState } from '../MoveSdk';\n\ntype LazyMoveSdkProps = {\n children: React.ReactNode;\n delayToRemoveUiInBackgroundMs?: number;\n};\n\nexport default function LazyMoveSdk({ children, delayToRemoveUiInBackgroundMs = 30000 }: LazyMoveSdkProps) {\n const prevState = useRef('terminated');\n const [currentMode, setCurrentMode] = useState(AppState.currentState);\n const [tripState, setTripState] = useState<TripState>();\n const [removeUi, setRemoveUi] = useState(false);\n const [isListener, setIsListener] = useState(false);\n\n useEffect(() => {\n let timer: ReturnType<typeof setTimeout> | null | number | string = null;\n const appStateSubscription = AppState.addEventListener('change', (state: AppStateStatus) => {\n setIsListener(true);\n setCurrentMode(state);\n prevState.current = state;\n });\n const tripStateSubscription = MoveSdk.addTripStateListener(setTripState);\n\n const checkStatesAndSetTimerToRemoveUi = async () => {\n const removeUiInBackgroundTimeoutId = await AsyncStorage.getItem('@removeUiInBackgroundTimeoutId');\n if (currentMode === 'background' && tripState === MoveSdk.DRIVING && !removeUiInBackgroundTimeoutId && timer === null) {\n if (Platform.OS === 'android') {\n timer = MoveSdk.setTimer(() => setRemoveUi(true), delayToRemoveUiInBackgroundMs);\n } else {\n timer = setTimeout(() => setRemoveUi(true), delayToRemoveUiInBackgroundMs);\n }\n if (timer) {\n AsyncStorage.setItem('@removeUiInBackgroundTimeoutId', timer.toString());\n }\n }\n if (currentMode === 'active' && removeUiInBackgroundTimeoutId) {\n if (Platform.OS === 'android') {\n MoveSdk.cancelTimer(removeUiInBackgroundTimeoutId);\n } else {\n clearTimeout(+removeUiInBackgroundTimeoutId);\n }\n timer = null;\n await AsyncStorage.removeItem('@removeUiInBackgroundTimeoutId');\n }\n };\n checkStatesAndSetTimerToRemoveUi();\n\n return () => {\n appStateSubscription.remove();\n tripStateSubscription.remove();\n if (timer) {\n if (Platform.OS === 'android') {\n MoveSdk.cancelTimer(timer as string);\n } else {\n clearTimeout(timer as number);\n }\n timer = null;\n }\n };\n }, [currentMode, tripState, delayToRemoveUiInBackgroundMs]);\n\n useEffect(() => {\n if (currentMode === 'active' && removeUi) {\n setRemoveUi(false);\n }\n }, [currentMode, removeUi]);\n\n const startedInBackground =\n (prevState.current === 'terminated' && currentMode === 'background') ||\n (prevState.current === 'terminated' && currentMode === 'unknown') ||\n (prevState.current === 'background' && currentMode === 'background');\n\n // DON'T RENDER UI IF APP STARTED IN BACKGROUND OR APP IS IN BACKGROUND AND TRIP STARTS\n if ((startedInBackground && !isListener) || removeUi) {\n return <View />;\n }\n\n return <Suspense fallback={<View />}>{children}</Suspense>;\n}\n"]}
1
+ {"version":3,"sources":["LazyMoveSdk.tsx"],"names":["LazyMoveSdk","children","delayToRemoveUiInBackgroundMs","prevState","currentMode","setCurrentMode","AppState","currentState","tripState","setTripState","sdkState","setSdkState","removeUi","setRemoveUi","isListener","setIsListener","timer","appStateSubscription","addEventListener","state","current","tripStateSubscription","MoveSdk","addTripStateListener","sdkStateSubscription","addSdkStateListener","checkStatesAndSetTimerToRemoveUi","removeUiInBackgroundTimeoutId","AsyncStorage","getItem","DRIVING","Platform","OS","setTimer","setTimeout","setItem","toString","cancelTimer","clearTimeout","removeItem","remove","startedInBackground","RUNNING"],"mappings":"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","sourcesContent":["import React, { Suspense, useEffect, useRef, useState } from 'react';\nimport { AppState, AppStateStatus, Platform, View } from 'react-native';\nimport AsyncStorage from '@react-native-async-storage/async-storage';\n\nimport MoveSdk, { SdkState, TripState } from '../MoveSdk';\n\ntype LazyMoveSdkProps = {\n children: React.ReactNode;\n delayToRemoveUiInBackgroundMs?: number;\n};\n\nexport default function LazyMoveSdk({ children, delayToRemoveUiInBackgroundMs = 30000 }: LazyMoveSdkProps) {\n const prevState = useRef('terminated');\n const [currentMode, setCurrentMode] = useState(AppState.currentState);\n const [tripState, setTripState] = useState<TripState>();\n const [sdkState, setSdkState] = useState<SdkState>();\n const [removeUi, setRemoveUi] = useState(false);\n const [isListener, setIsListener] = useState(false);\n\n useEffect(() => {\n let timer: ReturnType<typeof setTimeout> | null | number | string = null;\n const appStateSubscription = AppState.addEventListener('change', (state: AppStateStatus) => {\n setIsListener(true);\n setCurrentMode(state);\n prevState.current = state;\n });\n const tripStateSubscription = MoveSdk.addTripStateListener(setTripState);\n const sdkStateSubscription = MoveSdk.addSdkStateListener(setSdkState);\n\n const checkStatesAndSetTimerToRemoveUi = async () => {\n const removeUiInBackgroundTimeoutId = await AsyncStorage.getItem('@removeUiInBackgroundTimeoutId');\n if (currentMode === 'background' && tripState === MoveSdk.DRIVING && !removeUiInBackgroundTimeoutId && timer === null) {\n if (Platform.OS === 'android') {\n timer = MoveSdk.setTimer(() => setRemoveUi(true), delayToRemoveUiInBackgroundMs);\n } else {\n timer = setTimeout(() => setRemoveUi(true), delayToRemoveUiInBackgroundMs);\n }\n if (timer) {\n AsyncStorage.setItem('@removeUiInBackgroundTimeoutId', timer.toString());\n }\n }\n if (currentMode === 'active' && removeUiInBackgroundTimeoutId) {\n if (Platform.OS === 'android') {\n MoveSdk.cancelTimer(removeUiInBackgroundTimeoutId);\n } else {\n clearTimeout(+removeUiInBackgroundTimeoutId);\n }\n timer = null;\n await AsyncStorage.removeItem('@removeUiInBackgroundTimeoutId');\n }\n };\n checkStatesAndSetTimerToRemoveUi();\n\n return () => {\n appStateSubscription.remove();\n tripStateSubscription.remove();\n sdkStateSubscription.remove();\n if (timer) {\n if (Platform.OS === 'android') {\n MoveSdk.cancelTimer(timer as string);\n } else {\n clearTimeout(timer as number);\n }\n timer = null;\n }\n };\n }, [currentMode, tripState, delayToRemoveUiInBackgroundMs]);\n\n useEffect(() => {\n if (currentMode === 'active' && removeUi) {\n setRemoveUi(false);\n }\n }, [currentMode, removeUi]);\n\n const startedInBackground =\n (prevState.current === 'terminated' && currentMode === 'background') ||\n (prevState.current === 'terminated' && currentMode === 'unknown') ||\n (prevState.current === 'background' && currentMode === 'background');\n\n // DON'T RENDER UI IF APP STARTED IN BACKGROUND OR APP IS IN BACKGROUND AND TRIP STARTS\n if ((startedInBackground && !isListener && sdkState === MoveSdk.RUNNING) || removeUi) {\n return <View />;\n }\n\n return <Suspense fallback={<View />}>{children}</Suspense>;\n}\n"]}
@@ -10,6 +10,7 @@ export default function LazyMoveSdk(_ref) {
10
10
  const prevState = useRef('terminated');
11
11
  const [currentMode, setCurrentMode] = useState(AppState.currentState);
12
12
  const [tripState, setTripState] = useState();
13
+ const [sdkState, setSdkState] = useState();
13
14
  const [removeUi, setRemoveUi] = useState(false);
14
15
  const [isListener, setIsListener] = useState(false);
15
16
  useEffect(() => {
@@ -20,6 +21,7 @@ export default function LazyMoveSdk(_ref) {
20
21
  prevState.current = state;
21
22
  });
22
23
  const tripStateSubscription = MoveSdk.addTripStateListener(setTripState);
24
+ const sdkStateSubscription = MoveSdk.addSdkStateListener(setSdkState);
23
25
 
24
26
  const checkStatesAndSetTimerToRemoveUi = async () => {
25
27
  const removeUiInBackgroundTimeoutId = await AsyncStorage.getItem('@removeUiInBackgroundTimeoutId');
@@ -52,6 +54,7 @@ export default function LazyMoveSdk(_ref) {
52
54
  return () => {
53
55
  appStateSubscription.remove();
54
56
  tripStateSubscription.remove();
57
+ sdkStateSubscription.remove();
55
58
 
56
59
  if (timer) {
57
60
  if (Platform.OS === 'android') {
@@ -71,7 +74,7 @@ export default function LazyMoveSdk(_ref) {
71
74
  }, [currentMode, removeUi]);
72
75
  const startedInBackground = prevState.current === 'terminated' && currentMode === 'background' || prevState.current === 'terminated' && currentMode === 'unknown' || prevState.current === 'background' && currentMode === 'background'; // DON'T RENDER UI IF APP STARTED IN BACKGROUND OR APP IS IN BACKGROUND AND TRIP STARTS
73
76
 
74
- if (startedInBackground && !isListener || removeUi) {
77
+ if (startedInBackground && !isListener && sdkState === MoveSdk.RUNNING || removeUi) {
75
78
  return /*#__PURE__*/React.createElement(View, null);
76
79
  }
77
80
 
@@ -1 +1 @@
1
- {"version":3,"sources":["LazyMoveSdk.tsx"],"names":["React","Suspense","useEffect","useRef","useState","AppState","Platform","View","AsyncStorage","MoveSdk","LazyMoveSdk","children","delayToRemoveUiInBackgroundMs","prevState","currentMode","setCurrentMode","currentState","tripState","setTripState","removeUi","setRemoveUi","isListener","setIsListener","timer","appStateSubscription","addEventListener","state","current","tripStateSubscription","addTripStateListener","checkStatesAndSetTimerToRemoveUi","removeUiInBackgroundTimeoutId","getItem","DRIVING","OS","setTimer","setTimeout","setItem","toString","cancelTimer","clearTimeout","removeItem","remove","startedInBackground"],"mappings":"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","sourcesContent":["import React, { Suspense, useEffect, useRef, useState } from 'react';\nimport { AppState, AppStateStatus, Platform, View } from 'react-native';\nimport AsyncStorage from '@react-native-async-storage/async-storage';\n\nimport MoveSdk, { TripState } from '../MoveSdk';\n\ntype LazyMoveSdkProps = {\n children: React.ReactNode;\n delayToRemoveUiInBackgroundMs?: number;\n};\n\nexport default function LazyMoveSdk({ children, delayToRemoveUiInBackgroundMs = 30000 }: LazyMoveSdkProps) {\n const prevState = useRef('terminated');\n const [currentMode, setCurrentMode] = useState(AppState.currentState);\n const [tripState, setTripState] = useState<TripState>();\n const [removeUi, setRemoveUi] = useState(false);\n const [isListener, setIsListener] = useState(false);\n\n useEffect(() => {\n let timer: ReturnType<typeof setTimeout> | null | number | string = null;\n const appStateSubscription = AppState.addEventListener('change', (state: AppStateStatus) => {\n setIsListener(true);\n setCurrentMode(state);\n prevState.current = state;\n });\n const tripStateSubscription = MoveSdk.addTripStateListener(setTripState);\n\n const checkStatesAndSetTimerToRemoveUi = async () => {\n const removeUiInBackgroundTimeoutId = await AsyncStorage.getItem('@removeUiInBackgroundTimeoutId');\n if (currentMode === 'background' && tripState === MoveSdk.DRIVING && !removeUiInBackgroundTimeoutId && timer === null) {\n if (Platform.OS === 'android') {\n timer = MoveSdk.setTimer(() => setRemoveUi(true), delayToRemoveUiInBackgroundMs);\n } else {\n timer = setTimeout(() => setRemoveUi(true), delayToRemoveUiInBackgroundMs);\n }\n if (timer) {\n AsyncStorage.setItem('@removeUiInBackgroundTimeoutId', timer.toString());\n }\n }\n if (currentMode === 'active' && removeUiInBackgroundTimeoutId) {\n if (Platform.OS === 'android') {\n MoveSdk.cancelTimer(removeUiInBackgroundTimeoutId);\n } else {\n clearTimeout(+removeUiInBackgroundTimeoutId);\n }\n timer = null;\n await AsyncStorage.removeItem('@removeUiInBackgroundTimeoutId');\n }\n };\n checkStatesAndSetTimerToRemoveUi();\n\n return () => {\n appStateSubscription.remove();\n tripStateSubscription.remove();\n if (timer) {\n if (Platform.OS === 'android') {\n MoveSdk.cancelTimer(timer as string);\n } else {\n clearTimeout(timer as number);\n }\n timer = null;\n }\n };\n }, [currentMode, tripState, delayToRemoveUiInBackgroundMs]);\n\n useEffect(() => {\n if (currentMode === 'active' && removeUi) {\n setRemoveUi(false);\n }\n }, [currentMode, removeUi]);\n\n const startedInBackground =\n (prevState.current === 'terminated' && currentMode === 'background') ||\n (prevState.current === 'terminated' && currentMode === 'unknown') ||\n (prevState.current === 'background' && currentMode === 'background');\n\n // DON'T RENDER UI IF APP STARTED IN BACKGROUND OR APP IS IN BACKGROUND AND TRIP STARTS\n if ((startedInBackground && !isListener) || removeUi) {\n return <View />;\n }\n\n return <Suspense fallback={<View />}>{children}</Suspense>;\n}\n"]}
1
+ {"version":3,"sources":["LazyMoveSdk.tsx"],"names":["React","Suspense","useEffect","useRef","useState","AppState","Platform","View","AsyncStorage","MoveSdk","LazyMoveSdk","children","delayToRemoveUiInBackgroundMs","prevState","currentMode","setCurrentMode","currentState","tripState","setTripState","sdkState","setSdkState","removeUi","setRemoveUi","isListener","setIsListener","timer","appStateSubscription","addEventListener","state","current","tripStateSubscription","addTripStateListener","sdkStateSubscription","addSdkStateListener","checkStatesAndSetTimerToRemoveUi","removeUiInBackgroundTimeoutId","getItem","DRIVING","OS","setTimer","setTimeout","setItem","toString","cancelTimer","clearTimeout","removeItem","remove","startedInBackground","RUNNING"],"mappings":"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","sourcesContent":["import React, { Suspense, useEffect, useRef, useState } from 'react';\nimport { AppState, AppStateStatus, Platform, View } from 'react-native';\nimport AsyncStorage from '@react-native-async-storage/async-storage';\n\nimport MoveSdk, { SdkState, TripState } from '../MoveSdk';\n\ntype LazyMoveSdkProps = {\n children: React.ReactNode;\n delayToRemoveUiInBackgroundMs?: number;\n};\n\nexport default function LazyMoveSdk({ children, delayToRemoveUiInBackgroundMs = 30000 }: LazyMoveSdkProps) {\n const prevState = useRef('terminated');\n const [currentMode, setCurrentMode] = useState(AppState.currentState);\n const [tripState, setTripState] = useState<TripState>();\n const [sdkState, setSdkState] = useState<SdkState>();\n const [removeUi, setRemoveUi] = useState(false);\n const [isListener, setIsListener] = useState(false);\n\n useEffect(() => {\n let timer: ReturnType<typeof setTimeout> | null | number | string = null;\n const appStateSubscription = AppState.addEventListener('change', (state: AppStateStatus) => {\n setIsListener(true);\n setCurrentMode(state);\n prevState.current = state;\n });\n const tripStateSubscription = MoveSdk.addTripStateListener(setTripState);\n const sdkStateSubscription = MoveSdk.addSdkStateListener(setSdkState);\n\n const checkStatesAndSetTimerToRemoveUi = async () => {\n const removeUiInBackgroundTimeoutId = await AsyncStorage.getItem('@removeUiInBackgroundTimeoutId');\n if (currentMode === 'background' && tripState === MoveSdk.DRIVING && !removeUiInBackgroundTimeoutId && timer === null) {\n if (Platform.OS === 'android') {\n timer = MoveSdk.setTimer(() => setRemoveUi(true), delayToRemoveUiInBackgroundMs);\n } else {\n timer = setTimeout(() => setRemoveUi(true), delayToRemoveUiInBackgroundMs);\n }\n if (timer) {\n AsyncStorage.setItem('@removeUiInBackgroundTimeoutId', timer.toString());\n }\n }\n if (currentMode === 'active' && removeUiInBackgroundTimeoutId) {\n if (Platform.OS === 'android') {\n MoveSdk.cancelTimer(removeUiInBackgroundTimeoutId);\n } else {\n clearTimeout(+removeUiInBackgroundTimeoutId);\n }\n timer = null;\n await AsyncStorage.removeItem('@removeUiInBackgroundTimeoutId');\n }\n };\n checkStatesAndSetTimerToRemoveUi();\n\n return () => {\n appStateSubscription.remove();\n tripStateSubscription.remove();\n sdkStateSubscription.remove();\n if (timer) {\n if (Platform.OS === 'android') {\n MoveSdk.cancelTimer(timer as string);\n } else {\n clearTimeout(timer as number);\n }\n timer = null;\n }\n };\n }, [currentMode, tripState, delayToRemoveUiInBackgroundMs]);\n\n useEffect(() => {\n if (currentMode === 'active' && removeUi) {\n setRemoveUi(false);\n }\n }, [currentMode, removeUi]);\n\n const startedInBackground =\n (prevState.current === 'terminated' && currentMode === 'background') ||\n (prevState.current === 'terminated' && currentMode === 'unknown') ||\n (prevState.current === 'background' && currentMode === 'background');\n\n // DON'T RENDER UI IF APP STARTED IN BACKGROUND OR APP IS IN BACKGROUND AND TRIP STARTS\n if ((startedInBackground && !isListener && sdkState === MoveSdk.RUNNING) || removeUi) {\n return <View />;\n }\n\n return <Suspense fallback={<View />}>{children}</Suspense>;\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-move-sdk",
3
- "version": "2.11.0",
3
+ "version": "2.11.2",
4
4
  "description": "React Native library for MOVE SDK",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -2,7 +2,7 @@ import React, { Suspense, useEffect, useRef, useState } from 'react';
2
2
  import { AppState, AppStateStatus, Platform, View } from 'react-native';
3
3
  import AsyncStorage from '@react-native-async-storage/async-storage';
4
4
 
5
- import MoveSdk, { TripState } from '../MoveSdk';
5
+ import MoveSdk, { SdkState, TripState } from '../MoveSdk';
6
6
 
7
7
  type LazyMoveSdkProps = {
8
8
  children: React.ReactNode;
@@ -13,6 +13,7 @@ export default function LazyMoveSdk({ children, delayToRemoveUiInBackgroundMs =
13
13
  const prevState = useRef('terminated');
14
14
  const [currentMode, setCurrentMode] = useState(AppState.currentState);
15
15
  const [tripState, setTripState] = useState<TripState>();
16
+ const [sdkState, setSdkState] = useState<SdkState>();
16
17
  const [removeUi, setRemoveUi] = useState(false);
17
18
  const [isListener, setIsListener] = useState(false);
18
19
 
@@ -24,6 +25,7 @@ export default function LazyMoveSdk({ children, delayToRemoveUiInBackgroundMs =
24
25
  prevState.current = state;
25
26
  });
26
27
  const tripStateSubscription = MoveSdk.addTripStateListener(setTripState);
28
+ const sdkStateSubscription = MoveSdk.addSdkStateListener(setSdkState);
27
29
 
28
30
  const checkStatesAndSetTimerToRemoveUi = async () => {
29
31
  const removeUiInBackgroundTimeoutId = await AsyncStorage.getItem('@removeUiInBackgroundTimeoutId');
@@ -52,6 +54,7 @@ export default function LazyMoveSdk({ children, delayToRemoveUiInBackgroundMs =
52
54
  return () => {
53
55
  appStateSubscription.remove();
54
56
  tripStateSubscription.remove();
57
+ sdkStateSubscription.remove();
55
58
  if (timer) {
56
59
  if (Platform.OS === 'android') {
57
60
  MoveSdk.cancelTimer(timer as string);
@@ -75,7 +78,7 @@ export default function LazyMoveSdk({ children, delayToRemoveUiInBackgroundMs =
75
78
  (prevState.current === 'background' && currentMode === 'background');
76
79
 
77
80
  // DON'T RENDER UI IF APP STARTED IN BACKGROUND OR APP IS IN BACKGROUND AND TRIP STARTS
78
- if ((startedInBackground && !isListener) || removeUi) {
81
+ if ((startedInBackground && !isListener && sdkState === MoveSdk.RUNNING) || removeUi) {
79
82
  return <View />;
80
83
  }
81
84