react-native-mytatva-rn-sdk 1.2.48 → 1.2.50

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 (28) hide show
  1. package/android/src/main/java/com/mytatvarnsdk/CgmTrackyLibModule.kt +21 -29
  2. package/android/src/main/java/com/mytatvarnsdk/activity/BtManageActivity.java +345 -345
  3. package/android/src/main/java/com/mytatvarnsdk/activity/ConnectSensorActivity.kt +17 -38
  4. package/android/src/main/java/com/mytatvarnsdk/activity/ExitJourneyBottomSheet.kt +51 -51
  5. package/android/src/main/java/com/mytatvarnsdk/activity/PermissionActivity.kt +10 -5
  6. package/android/src/main/java/com/mytatvarnsdk/activity/PlaceSensorActivity.kt +4 -5
  7. package/android/src/main/java/com/mytatvarnsdk/activity/PlaceTransmitterActivity.kt +4 -5
  8. package/android/src/main/java/com/mytatvarnsdk/activity/QRActivity.kt +96 -92
  9. package/android/src/main/java/com/mytatvarnsdk/activity/SearchTransmitterActivity.kt +1 -1
  10. package/android/src/main/java/com/mytatvarnsdk/activity/SensorConnectSuccessActivity.kt +2 -2
  11. package/android/src/main/java/com/mytatvarnsdk/activity/StartCGMActivity.kt +4 -2
  12. package/android/src/main/java/com/mytatvarnsdk/activity/VideoActivity.kt +0 -1
  13. package/android/src/main/java/com/mytatvarnsdk/utils/TatvaEncryptionConfig.kt +0 -5
  14. package/ios/Database/KLTBluetoothManager.m +9 -4
  15. package/ios/Database/KLTDatabaseHandler.m +53 -6
  16. package/ios/MyReactNativeBridge.h +4 -1
  17. package/ios/MyReactNativeBridge.m +433 -191
  18. package/ios/Support/API.swift +0 -1
  19. package/ios/Support/Global.swift +12 -0
  20. package/ios/ViewControllers/AttachTransmitterViewController.swift +33 -2
  21. package/ios/ViewControllers/ChatWithExpertViewController.swift +33 -3
  22. package/ios/ViewControllers/ConnectToSensorViewController.swift +101 -12
  23. package/ios/ViewControllers/ConnectToTransmitterViewController.swift +121 -5
  24. package/ios/ViewControllers/ProvidePermissionViewController.swift +37 -5
  25. package/ios/ViewControllers/PutOnTheSensorViewController.swift +22 -2
  26. package/ios/ViewControllers/StartConnectionViewController.swift +31 -3
  27. package/ios/ViewModel/FinalViewModel.swift +155 -48
  28. package/package.json +1 -1
@@ -75,12 +75,9 @@ class CgmTrackyLibModule(reactContext: ReactApplicationContext) :
75
75
  private val apiScope = CoroutineScope(Dispatchers.IO + SupervisorJob())
76
76
  private var debounceJob: Job? = null
77
77
  private var isBatchProcessing = false
78
-
79
78
  private var lastDeviceStatus: String? = null
80
-
81
79
  private var glucoseObserver: Observer<PocGlucose?>? = null
82
80
  private var isObserving = false
83
-
84
81
  private var lastProcessedSyncTimeInMillis: Long? = null
85
82
 
86
83
  init {
@@ -132,7 +129,7 @@ class CgmTrackyLibModule(reactContext: ReactApplicationContext) :
132
129
  userToken = token
133
130
 
134
131
  /*authenticateSDKService.getCGMData(
135
- environment = if ("uat".uppercase() == "PROD") TATVA_ENVIRONMENT.PROD else TATVA_ENVIRONMENT.STAGE,
132
+ environment = TATVA_ENVIRONMENT.PROD,
136
133
  token = userToken,
137
134
  responseListener = object : AuthenticateSDKService.ResponseListener {
138
135
  override fun onResponseSuccess(response: String) {
@@ -235,12 +232,7 @@ class CgmTrackyLibModule(reactContext: ReactApplicationContext) :
235
232
 
236
233
 
237
234
  private fun postEventDataToAPI(device: PocDevice?, mStatus: String, sensorId: String?) {
238
- debounceJob?.cancel()
239
-
240
-
241
- debounceJob = apiScope.launch {
242
- delay(500)
243
-
235
+ apiScope.launch {
244
236
  try {
245
237
  val bluetoothAdapter: BluetoothAdapter? = BluetoothAdapter.getDefaultAdapter()
246
238
  val bleStatus = bluetoothAdapter?.isEnabled == true
@@ -265,10 +257,8 @@ class CgmTrackyLibModule(reactContext: ReactApplicationContext) :
265
257
  debounceDeviceTimer?.schedule(object : TimerTask() {
266
258
  override fun run() {
267
259
  isDebounceTimerActive = false
268
-
269
260
  callEventAPI(device, status, sensorId)
270
261
  }
271
-
272
262
  }, 1 * 60 * 1000) // 1 minutes in milliseconds
273
263
 
274
264
  Log.d("Debounce", "Timer started for disconnection reminder")
@@ -290,7 +280,7 @@ class CgmTrackyLibModule(reactContext: ReactApplicationContext) :
290
280
  }
291
281
 
292
282
  private fun callEventAPI(device: PocDevice?, status: String, sensorId: String?) {
293
- Log.d("Device event Status", "Last Device event Status API: $lastDeviceStatus")
283
+ Log.d("Device event Status", "Last Device event lastDeviceStatus API: $lastDeviceStatus")
294
284
 
295
285
  if (status.isNotEmpty() && status != lastDeviceStatus) {
296
286
  lastDeviceStatus = status
@@ -311,7 +301,7 @@ class CgmTrackyLibModule(reactContext: ReactApplicationContext) :
311
301
  }
312
302
 
313
303
  authenticateSDKService.postDeviceData(
314
- environment = if ("uat".uppercase() == "PROD") TATVA_ENVIRONMENT.PROD else TATVA_ENVIRONMENT.STAGE,
304
+ environment = TATVA_ENVIRONMENT.PROD,
315
305
  data = obj.toString(),
316
306
  token = userToken,
317
307
  loaderListener = object : LoaderListener {
@@ -394,10 +384,13 @@ class CgmTrackyLibModule(reactContext: ReactApplicationContext) :
394
384
  )
395
385
  return
396
386
  }
397
- if (isBatchProcessing) {
398
- Log.d("observeAllGlucoseData", "Batch processing in progress, skipping duplicate call")
399
- return
400
- }
387
+ if (isBatchProcessing) {
388
+ Log.d(
389
+ "observeAllGlucoseData",
390
+ "Batch processing in progress, skipping duplicate call"
391
+ )
392
+ return
393
+ }
401
394
 
402
395
  // Remove existing observer if any to prevent memory leaks
403
396
  stopObservingGlucoseData()
@@ -415,14 +408,13 @@ class CgmTrackyLibModule(reactContext: ReactApplicationContext) :
415
408
  if (lastSyncData != null) {
416
409
  dataAge = currentTime - lastSyncData.timeInMillis
417
410
  }
418
-
411
+
419
412
  // Only proceed if timeInMillis is different from last processed
420
413
  if (currentSyncTimeInMillis != null && lastProcessedSyncTimeInMillis != null && currentSyncTimeInMillis == lastProcessedSyncTimeInMillis) {
421
414
  Log.d("SyncTimeCheck", "Duplicate sync time, skipping function calls")
422
415
  return@Observer
423
416
  }
424
417
 
425
-
426
418
  if ((pocGlucose != null && lastSyncData == null) || (pocGlucose != null && lastSyncData != null && dataAge <= 4 * 60 * 1000L)) {
427
419
  handleGlucoseData(pocGlucose)
428
420
  Log.d(
@@ -433,9 +425,9 @@ class CgmTrackyLibModule(reactContext: ReactApplicationContext) :
433
425
  lastProcessedSyncTimeInMillis = currentSyncTimeInMillis
434
426
  } else {
435
427
 
436
- Handler(Looper.getMainLooper()).postDelayed({
437
- observeAllGlucoseData(userToken)
438
- }, 100)
428
+ Handler(Looper.getMainLooper()).postDelayed({
429
+ observeAllGlucoseData(userToken)
430
+ }, 100)
439
431
  Log.d(
440
432
  "observeGlucoseData",
441
433
  "Received null glucose data - skipping processing"
@@ -491,7 +483,7 @@ class CgmTrackyLibModule(reactContext: ReactApplicationContext) :
491
483
  Log.d("Glucose data 3 min==> ", "Glucose data 3 min==> final Json: $json")
492
484
 
493
485
  authenticateSDKService.postCGMData(
494
- environment = if ("uat".uppercase() == "PROD") TATVA_ENVIRONMENT.PROD else TATVA_ENVIRONMENT.STAGE,
486
+ environment = TATVA_ENVIRONMENT.PROD,
495
487
  data = json,
496
488
  token = userToken,
497
489
  responseListener = object : AuthenticateSDKService.ResponseListener {
@@ -593,12 +585,12 @@ class CgmTrackyLibModule(reactContext: ReactApplicationContext) :
593
585
  }
594
586
 
595
587
  if (lastSyncData != null && dataAge > 3 * 60 * 1000L) {
596
- isBatchProcessing = true
588
+ isBatchProcessing = true
597
589
  CoroutineScope(Dispatchers.IO).launch {
598
-
590
+
599
591
  val glucoseData = mModel.getGlucoseBetweenTime(lastSyncData.timeInMillis)
600
592
 
601
-
593
+
602
594
  Log.d("observeAllGlucoseData: ", glucoseData.toString())
603
595
  Log.d("Last sync time: ", lastSyncData.lastSyncTime.toString())
604
596
  Log.d("current time: ", System.currentTimeMillis().toString())
@@ -664,7 +656,7 @@ class CgmTrackyLibModule(reactContext: ReactApplicationContext) :
664
656
  Log.e("processBatchDataAndStartObserver", "Error in batch processing: ${e.message}")
665
657
  // Start live observation even on error
666
658
  isBatchProcessing = false
667
- withContext(Dispatchers.Main) {
659
+ withContext(Dispatchers.Main) {
668
660
  if (!isObserving) {
669
661
  observeGlucoseData(userToken)
670
662
  }
@@ -850,7 +842,7 @@ class CgmTrackyLibModule(reactContext: ReactApplicationContext) :
850
842
  return suspendCoroutine { continuation ->
851
843
  try {
852
844
  authenticateSDKService.postCGMData(
853
- environment = if ("uat".uppercase() == "PROD") TATVA_ENVIRONMENT.PROD else TATVA_ENVIRONMENT.STAGE,
845
+ environment = TATVA_ENVIRONMENT.PROD,
854
846
  data = json,
855
847
  token = userToken,
856
848
  responseListener = object : AuthenticateSDKService.ResponseListener {