react-native-mytatva-rn-sdk 1.2.42 → 1.2.44
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/android/src/main/java/com/mytatvarnsdk/CgmTrackyLibModule.kt +5 -14
- package/android/src/main/java/com/mytatvarnsdk/activity/ConnectSensorActivity.kt +6 -4
- package/android/src/main/java/com/mytatvarnsdk/activity/PermissionActivity.kt +44 -0
- package/android/src/main/java/com/mytatvarnsdk/activity/PlaceSensorActivity.kt +44 -0
- package/android/src/main/java/com/mytatvarnsdk/activity/PlaceTransmitterActivity.kt +6 -4
- package/android/src/main/java/com/mytatvarnsdk/activity/SearchTransmitterActivity.kt +43 -0
- package/android/src/main/java/com/mytatvarnsdk/activity/SensorConnectSuccessActivity.kt +44 -0
- package/android/src/main/java/com/mytatvarnsdk/activity/StartCGMActivity.kt +44 -0
- package/package.json +1 -1
|
@@ -250,10 +250,13 @@ class CgmTrackyLibModule(reactContext: ReactApplicationContext) :
|
|
|
250
250
|
mStatus
|
|
251
251
|
}
|
|
252
252
|
|
|
253
|
+
Log.d("postEventDataToAPI: ", "Device Event Status==> $status")
|
|
254
|
+
|
|
253
255
|
if (status.isNotEmpty()) {
|
|
254
256
|
if (status != lastDeviceStatus) {
|
|
255
257
|
|
|
256
258
|
lastDeviceStatus = status
|
|
259
|
+
Log.d("postEventDataToAPI: ", "Device Event Status API==> $status")
|
|
257
260
|
|
|
258
261
|
val rawData = JSONObject().apply {
|
|
259
262
|
put("transmitterName", device?.name ?: "")
|
|
@@ -366,19 +369,7 @@ class CgmTrackyLibModule(reactContext: ReactApplicationContext) :
|
|
|
366
369
|
// Create new observer with explicit nullable parameter type
|
|
367
370
|
glucoseObserver = Observer<PocGlucose?> { pocGlucose ->
|
|
368
371
|
if (pocGlucose != null) {
|
|
369
|
-
|
|
370
|
-
val currentTime = System.currentTimeMillis()
|
|
371
|
-
val dataAge = currentTime - pocGlucose.timeInMillis
|
|
372
|
-
|
|
373
|
-
// Only process data that's relatively recent (within last 10 minutes as example)
|
|
374
|
-
if (dataAge <= 10 * 60 * 1000L) { // 10 minutes
|
|
375
|
-
handleGlucoseData(pocGlucose)
|
|
376
|
-
} else {
|
|
377
|
-
Log.d(
|
|
378
|
-
"observeGlucoseData",
|
|
379
|
-
"Skipping old glucose data: age = ${dataAge}ms"
|
|
380
|
-
)
|
|
381
|
-
}
|
|
372
|
+
handleGlucoseData(pocGlucose)
|
|
382
373
|
} else {
|
|
383
374
|
Log.w(
|
|
384
375
|
"observeGlucoseData",
|
|
@@ -610,7 +601,7 @@ class CgmTrackyLibModule(reactContext: ReactApplicationContext) :
|
|
|
610
601
|
lastDeviceStatus = null
|
|
611
602
|
|
|
612
603
|
// Clear any cached data if needed
|
|
613
|
-
|
|
604
|
+
prefsHelper.clearQRInformation() // if you have such method
|
|
614
605
|
|
|
615
606
|
} catch (e: Exception) {
|
|
616
607
|
Log.e("resetCgmState", "Error resetting CGM state: ${e.message}")
|
|
@@ -93,6 +93,8 @@ class ConnectSensorActivity : BaseBleActivity() {
|
|
|
93
93
|
}
|
|
94
94
|
|
|
95
95
|
binding.toolbar.btnWatchDemo.setOnClickListener {
|
|
96
|
+
sendDataToRN("", "cgm_watch_demo_clicked")
|
|
97
|
+
|
|
96
98
|
startActivity(
|
|
97
99
|
Intent(this, VideoActivity::class.java).putExtra("VideoId", "r5Zemc4R044")
|
|
98
100
|
)
|
|
@@ -317,7 +319,7 @@ class ConnectSensorActivity : BaseBleActivity() {
|
|
|
317
319
|
super.bindSuccess()
|
|
318
320
|
ProgressManagement.getInstance().dismissWait(this)
|
|
319
321
|
if (isForReconnect) {
|
|
320
|
-
sendDataToRN("")
|
|
322
|
+
sendDataToRN("", "WARM_PERIOD_STARTED")
|
|
321
323
|
startActivity(
|
|
322
324
|
Intent(this, SensorConnectSuccessActivity::class.java)
|
|
323
325
|
.putExtra(
|
|
@@ -331,17 +333,17 @@ class ConnectSensorActivity : BaseBleActivity() {
|
|
|
331
333
|
finish()
|
|
332
334
|
}
|
|
333
335
|
|
|
334
|
-
private fun sendDataToRN(data: String) {
|
|
336
|
+
private fun sendDataToRN(data: String, status: String) {
|
|
335
337
|
if (reactContext != null) {
|
|
336
338
|
try {
|
|
337
339
|
val catalystInstance: CatalystInstance = reactContext.catalystInstance
|
|
338
340
|
val module = catalystInstance.getNativeModule(CgmTrackyLibModule::class.java)
|
|
339
341
|
|
|
340
342
|
if (module == null) {
|
|
341
|
-
sendDataToRNDirectly("",
|
|
343
|
+
sendDataToRNDirectly("", status)
|
|
342
344
|
Log.d("sendDataToRN: ", "Module null")
|
|
343
345
|
} else {
|
|
344
|
-
module.sendDataToReact(data,
|
|
346
|
+
module.sendDataToReact(data, status, "cgmDeviceEvent")
|
|
345
347
|
Log.d("sendDataToRN: ", "Module is not null")
|
|
346
348
|
}
|
|
347
349
|
} catch (e: Exception) {
|
|
@@ -29,6 +29,11 @@ import androidx.core.graphics.drawable.toDrawable
|
|
|
29
29
|
import androidx.core.view.ViewCompat
|
|
30
30
|
import androidx.core.view.WindowInsetsCompat
|
|
31
31
|
import cgmblelib.utils.ConstantsLibrary
|
|
32
|
+
import com.facebook.react.bridge.Arguments
|
|
33
|
+
import com.facebook.react.bridge.CatalystInstance
|
|
34
|
+
import com.facebook.react.bridge.WritableMap
|
|
35
|
+
import com.facebook.react.modules.core.DeviceEventManagerModule
|
|
36
|
+
import com.mytatvarnsdk.CgmTrackyLibModule
|
|
32
37
|
import com.mytatvarnsdk.base.BasePermissionActivity
|
|
33
38
|
import com.mytatvarnsdk.databinding.ActivityPermissionBinding
|
|
34
39
|
import com.mytatvarnsdk.databinding.BluetoothDialogBottomsheetBinding
|
|
@@ -43,6 +48,7 @@ class PermissionActivity : BasePermissionActivity() {
|
|
|
43
48
|
private val bluetoothAdapter: BluetoothAdapter? by lazy {
|
|
44
49
|
BluetoothAdapter.getDefaultAdapter()
|
|
45
50
|
}
|
|
51
|
+
private val reactContext = CgmTrackyLibModule.mReactContext
|
|
46
52
|
|
|
47
53
|
override fun onCreate(savedInstanceState: Bundle?) {
|
|
48
54
|
super.onCreate(savedInstanceState)
|
|
@@ -150,6 +156,8 @@ class PermissionActivity : BasePermissionActivity() {
|
|
|
150
156
|
}
|
|
151
157
|
|
|
152
158
|
binding.toolbar.btnWatchDemo.setOnClickListener {
|
|
159
|
+
sendDataToRN("","cgm_watch_demo_clicked")
|
|
160
|
+
|
|
153
161
|
startActivity(
|
|
154
162
|
Intent(this, VideoActivity::class.java).putExtra("VideoId", "r5Zemc4R044")
|
|
155
163
|
)
|
|
@@ -171,6 +179,42 @@ class PermissionActivity : BasePermissionActivity() {
|
|
|
171
179
|
onBackPressedDispatcher.addCallback(this, callback)
|
|
172
180
|
}
|
|
173
181
|
|
|
182
|
+
private fun sendDataToRN(data: String, status: String) {
|
|
183
|
+
if (reactContext != null) {
|
|
184
|
+
try {
|
|
185
|
+
val catalystInstance: CatalystInstance = reactContext.catalystInstance
|
|
186
|
+
val module = catalystInstance.getNativeModule(CgmTrackyLibModule::class.java)
|
|
187
|
+
|
|
188
|
+
if (module == null) {
|
|
189
|
+
sendDataToRNDirectly("", status)
|
|
190
|
+
Log.d("sendDataToRN: ", "Module null")
|
|
191
|
+
} else {
|
|
192
|
+
module.sendDataToReact(data, status, "cgmDeviceEvent")
|
|
193
|
+
Log.d("sendDataToRN: ", "Module is not null")
|
|
194
|
+
}
|
|
195
|
+
} catch (e: Exception) {
|
|
196
|
+
Log.e("sendDataToRN: Error ", e.message.toString())
|
|
197
|
+
}
|
|
198
|
+
} else {
|
|
199
|
+
Log.e("TrackyActivity", "ReactApplicationContext is null")
|
|
200
|
+
}
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
|
|
204
|
+
private fun sendDataToRNDirectly(data: String, status: String) {
|
|
205
|
+
try {
|
|
206
|
+
val map: WritableMap = Arguments.createMap().apply {
|
|
207
|
+
putString("data", data)
|
|
208
|
+
putString("status", status)
|
|
209
|
+
}
|
|
210
|
+
|
|
211
|
+
reactContext?.getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter::class.java)
|
|
212
|
+
?.emit("cgmDeviceEvent", map)
|
|
213
|
+
} catch (e: Exception) {
|
|
214
|
+
Log.e("sendDataToRNDirectly", "Error sending data to React", e)
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
|
|
174
218
|
private fun openBluetoothDialog() {
|
|
175
219
|
val binding = BluetoothDialogBottomsheetBinding.inflate(layoutInflater)
|
|
176
220
|
|
|
@@ -4,6 +4,7 @@ import android.app.Dialog
|
|
|
4
4
|
import android.content.Intent
|
|
5
5
|
import android.graphics.Color
|
|
6
6
|
import android.os.Bundle
|
|
7
|
+
import android.util.Log
|
|
7
8
|
import android.view.Gravity
|
|
8
9
|
import android.view.View
|
|
9
10
|
import android.view.ViewGroup
|
|
@@ -16,6 +17,11 @@ import androidx.core.view.ViewCompat
|
|
|
16
17
|
import androidx.core.view.WindowInsetsCompat
|
|
17
18
|
import com.bumptech.glide.Glide
|
|
18
19
|
import com.bumptech.glide.load.resource.bitmap.RoundedCorners
|
|
20
|
+
import com.facebook.react.bridge.Arguments
|
|
21
|
+
import com.facebook.react.bridge.CatalystInstance
|
|
22
|
+
import com.facebook.react.bridge.WritableMap
|
|
23
|
+
import com.facebook.react.modules.core.DeviceEventManagerModule
|
|
24
|
+
import com.mytatvarnsdk.CgmTrackyLibModule
|
|
19
25
|
import com.mytatvarnsdk.R
|
|
20
26
|
import com.mytatvarnsdk.databinding.ActivityPlaceSensorBinding
|
|
21
27
|
import com.mytatvarnsdk.databinding.ExitDialogBottomsheetBinding
|
|
@@ -26,6 +32,7 @@ import com.pierfrancescosoffritti.androidyoutubeplayer.core.player.options.IFram
|
|
|
26
32
|
|
|
27
33
|
class PlaceSensorActivity : AppCompatActivity() {
|
|
28
34
|
private lateinit var binding: ActivityPlaceSensorBinding
|
|
35
|
+
private val reactContext = CgmTrackyLibModule.mReactContext
|
|
29
36
|
|
|
30
37
|
override fun onCreate(savedInstanceState: Bundle?) {
|
|
31
38
|
super.onCreate(savedInstanceState)
|
|
@@ -56,6 +63,8 @@ class PlaceSensorActivity : AppCompatActivity() {
|
|
|
56
63
|
}
|
|
57
64
|
|
|
58
65
|
binding.toolbar.btnWatchDemo.setOnClickListener {
|
|
66
|
+
sendDataToRN("", "cgm_watch_demo_clicked")
|
|
67
|
+
|
|
59
68
|
startActivity(
|
|
60
69
|
Intent(this, VideoActivity::class.java).putExtra("VideoId", "r5Zemc4R044")
|
|
61
70
|
)
|
|
@@ -85,6 +94,41 @@ class PlaceSensorActivity : AppCompatActivity() {
|
|
|
85
94
|
onBackPressedDispatcher.addCallback(this, callback)
|
|
86
95
|
}
|
|
87
96
|
|
|
97
|
+
private fun sendDataToRN(data: String, status: String) {
|
|
98
|
+
if (reactContext != null) {
|
|
99
|
+
try {
|
|
100
|
+
val catalystInstance: CatalystInstance = reactContext.catalystInstance
|
|
101
|
+
val module = catalystInstance.getNativeModule(CgmTrackyLibModule::class.java)
|
|
102
|
+
|
|
103
|
+
if (module == null) {
|
|
104
|
+
sendDataToRNDirectly("", status)
|
|
105
|
+
Log.d("sendDataToRN: ", "Module null")
|
|
106
|
+
} else {
|
|
107
|
+
module.sendDataToReact(data, status, "cgmDeviceEvent")
|
|
108
|
+
Log.d("sendDataToRN: ", "Module is not null")
|
|
109
|
+
}
|
|
110
|
+
} catch (e: Exception) {
|
|
111
|
+
Log.e("sendDataToRN: Error ", e.message.toString())
|
|
112
|
+
}
|
|
113
|
+
} else {
|
|
114
|
+
Log.e("TrackyActivity", "ReactApplicationContext is null")
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
private fun sendDataToRNDirectly(data: String, status: String) {
|
|
120
|
+
try {
|
|
121
|
+
val map: WritableMap = Arguments.createMap().apply {
|
|
122
|
+
putString("data", data)
|
|
123
|
+
putString("status", status)
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
reactContext?.getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter::class.java)
|
|
127
|
+
?.emit("cgmDeviceEvent", map)
|
|
128
|
+
} catch (e: Exception) {
|
|
129
|
+
Log.e("sendDataToRNDirectly", "Error sending data to React", e)
|
|
130
|
+
}
|
|
131
|
+
}
|
|
88
132
|
|
|
89
133
|
private fun openExitDialog() {
|
|
90
134
|
val binding = ExitDialogBottomsheetBinding.inflate(layoutInflater)
|
|
@@ -61,7 +61,7 @@ class PlaceTransmitterActivity : AppCompatActivity() {
|
|
|
61
61
|
binding.commonButton.tvProceed.text = "Complete"
|
|
62
62
|
|
|
63
63
|
binding.commonButton.btnProceed.setOnClickListener {
|
|
64
|
-
sendDataToRN("")
|
|
64
|
+
sendDataToRN("","WARM_PERIOD_STARTED")
|
|
65
65
|
finish()
|
|
66
66
|
}
|
|
67
67
|
|
|
@@ -70,6 +70,8 @@ class PlaceTransmitterActivity : AppCompatActivity() {
|
|
|
70
70
|
}
|
|
71
71
|
|
|
72
72
|
binding.toolbar.btnWatchDemo.setOnClickListener {
|
|
73
|
+
sendDataToRN("","cgm_watch_demo_clicked")
|
|
74
|
+
|
|
73
75
|
startActivity(
|
|
74
76
|
Intent(this, VideoActivity::class.java).putExtra("VideoId", "r5Zemc4R044")
|
|
75
77
|
)
|
|
@@ -124,17 +126,17 @@ class PlaceTransmitterActivity : AppCompatActivity() {
|
|
|
124
126
|
dialog.show()
|
|
125
127
|
}
|
|
126
128
|
|
|
127
|
-
private fun sendDataToRN(data: String) {
|
|
129
|
+
private fun sendDataToRN(data: String, status: String) {
|
|
128
130
|
if (reactContext != null) {
|
|
129
131
|
try {
|
|
130
132
|
val catalystInstance: CatalystInstance = reactContext.catalystInstance
|
|
131
133
|
val module = catalystInstance.getNativeModule(CgmTrackyLibModule::class.java)
|
|
132
134
|
|
|
133
135
|
if (module == null) {
|
|
134
|
-
sendDataToRNDirectly("",
|
|
136
|
+
sendDataToRNDirectly("", status)
|
|
135
137
|
Log.d("sendDataToRN: ", "Module null")
|
|
136
138
|
} else {
|
|
137
|
-
module.sendDataToReact(data,
|
|
139
|
+
module.sendDataToReact(data, status, "cgmDeviceEvent")
|
|
138
140
|
Log.d("sendDataToRN: ", "Module is not null")
|
|
139
141
|
}
|
|
140
142
|
} catch (e: Exception) {
|
|
@@ -33,6 +33,11 @@ import cgmblelib.custom.livedata.scan.PocDeviceAndRssi
|
|
|
33
33
|
import cgmblelib.database.entity.PocDevice
|
|
34
34
|
import cgmblelib.database.entity.PocGlucose
|
|
35
35
|
import com.bumptech.glide.Glide
|
|
36
|
+
import com.facebook.react.bridge.Arguments
|
|
37
|
+
import com.facebook.react.bridge.CatalystInstance
|
|
38
|
+
import com.facebook.react.bridge.WritableMap
|
|
39
|
+
import com.facebook.react.modules.core.DeviceEventManagerModule
|
|
40
|
+
import com.mytatvarnsdk.CgmTrackyLibModule
|
|
36
41
|
import com.mytatvarnsdk.R
|
|
37
42
|
import com.mytatvarnsdk.base.BaseBleActivity
|
|
38
43
|
import com.mytatvarnsdk.databinding.ActivitySearchTransmitterBinding
|
|
@@ -65,6 +70,7 @@ class SearchTransmitterActivity : BaseBleActivity() {
|
|
|
65
70
|
private val job = Job()
|
|
66
71
|
private val scope = CoroutineScope(Dispatchers.IO + job)
|
|
67
72
|
private var isForReconnect: Boolean = false
|
|
73
|
+
private val reactContext = CgmTrackyLibModule.mReactContext
|
|
68
74
|
|
|
69
75
|
override fun init() {
|
|
70
76
|
|
|
@@ -350,6 +356,8 @@ class SearchTransmitterActivity : BaseBleActivity() {
|
|
|
350
356
|
}
|
|
351
357
|
|
|
352
358
|
binding.toolbar.btnWatchDemo.setOnClickListener {
|
|
359
|
+
sendDataToRN("", "cgm_watch_demo_clicked")
|
|
360
|
+
|
|
353
361
|
startActivity(
|
|
354
362
|
Intent(this, VideoActivity::class.java).putExtra("VideoId", "r5Zemc4R044")
|
|
355
363
|
)
|
|
@@ -457,6 +465,41 @@ class SearchTransmitterActivity : BaseBleActivity() {
|
|
|
457
465
|
}
|
|
458
466
|
}
|
|
459
467
|
|
|
468
|
+
private fun sendDataToRN(data: String, status: String) {
|
|
469
|
+
if (reactContext != null) {
|
|
470
|
+
try {
|
|
471
|
+
val catalystInstance: CatalystInstance = reactContext.catalystInstance
|
|
472
|
+
val module = catalystInstance.getNativeModule(CgmTrackyLibModule::class.java)
|
|
473
|
+
|
|
474
|
+
if (module == null) {
|
|
475
|
+
sendDataToRNDirectly("", status)
|
|
476
|
+
Log.d("sendDataToRN: ", "Module null")
|
|
477
|
+
} else {
|
|
478
|
+
module.sendDataToReact(data, status, "cgmDeviceEvent")
|
|
479
|
+
Log.d("sendDataToRN: ", "Module is not null")
|
|
480
|
+
}
|
|
481
|
+
} catch (e: Exception) {
|
|
482
|
+
Log.e("sendDataToRN: Error ", e.message.toString())
|
|
483
|
+
}
|
|
484
|
+
} else {
|
|
485
|
+
Log.e("TrackyActivity", "ReactApplicationContext is null")
|
|
486
|
+
}
|
|
487
|
+
}
|
|
488
|
+
|
|
489
|
+
|
|
490
|
+
private fun sendDataToRNDirectly(data: String, status: String) {
|
|
491
|
+
try {
|
|
492
|
+
val map: WritableMap = Arguments.createMap().apply {
|
|
493
|
+
putString("data", data)
|
|
494
|
+
putString("status", status)
|
|
495
|
+
}
|
|
496
|
+
|
|
497
|
+
reactContext?.getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter::class.java)
|
|
498
|
+
?.emit("cgmDeviceEvent", map)
|
|
499
|
+
} catch (e: Exception) {
|
|
500
|
+
Log.e("sendDataToRNDirectly", "Error sending data to React", e)
|
|
501
|
+
}
|
|
502
|
+
}
|
|
460
503
|
|
|
461
504
|
fun logLongJson(tag: String, message: String) {
|
|
462
505
|
val maxLogSize = 4000
|
|
@@ -4,6 +4,7 @@ import android.app.Dialog
|
|
|
4
4
|
import android.content.Intent
|
|
5
5
|
import android.graphics.Color
|
|
6
6
|
import android.os.Bundle
|
|
7
|
+
import android.util.Log
|
|
7
8
|
import android.view.Gravity
|
|
8
9
|
import android.view.View
|
|
9
10
|
import android.view.ViewGroup
|
|
@@ -16,6 +17,10 @@ import androidx.core.view.ViewCompat
|
|
|
16
17
|
import androidx.core.view.WindowInsetsCompat
|
|
17
18
|
import cgmblelib.utils.SharedPreferencesLibraryUtil
|
|
18
19
|
import com.bumptech.glide.Glide
|
|
20
|
+
import com.facebook.react.bridge.Arguments
|
|
21
|
+
import com.facebook.react.bridge.CatalystInstance
|
|
22
|
+
import com.facebook.react.bridge.WritableMap
|
|
23
|
+
import com.facebook.react.modules.core.DeviceEventManagerModule
|
|
19
24
|
import com.mytatvarnsdk.R
|
|
20
25
|
import com.mytatvarnsdk.databinding.ActivitySensorConnectSuccessBinding
|
|
21
26
|
import com.mytatvarnsdk.databinding.ExitDialogBottomsheetBinding
|
|
@@ -41,6 +46,7 @@ class SensorConnectSuccessActivity : AppCompatActivity() {
|
|
|
41
46
|
private val job = Job()
|
|
42
47
|
private val scope = CoroutineScope(Dispatchers.IO + job)
|
|
43
48
|
private var isForReconnect: Boolean = false
|
|
49
|
+
private val reactContext = CgmTrackyLibModule.mReactContext
|
|
44
50
|
|
|
45
51
|
override fun onCreate(savedInstanceState: Bundle?) {
|
|
46
52
|
super.onCreate(savedInstanceState)
|
|
@@ -74,6 +80,8 @@ class SensorConnectSuccessActivity : AppCompatActivity() {
|
|
|
74
80
|
}
|
|
75
81
|
|
|
76
82
|
binding.toolbar.btnWatchDemo.setOnClickListener {
|
|
83
|
+
sendDataToRN("","cgm_watch_demo_clicked")
|
|
84
|
+
|
|
77
85
|
startActivity(
|
|
78
86
|
Intent(this, VideoActivity::class.java).putExtra("VideoId", "r5Zemc4R044")
|
|
79
87
|
)
|
|
@@ -102,6 +110,42 @@ class SensorConnectSuccessActivity : AppCompatActivity() {
|
|
|
102
110
|
postEventDataToAPI()
|
|
103
111
|
}
|
|
104
112
|
|
|
113
|
+
private fun sendDataToRN(data: String, status: String) {
|
|
114
|
+
if (reactContext != null) {
|
|
115
|
+
try {
|
|
116
|
+
val catalystInstance: CatalystInstance = reactContext.catalystInstance
|
|
117
|
+
val module = catalystInstance.getNativeModule(CgmTrackyLibModule::class.java)
|
|
118
|
+
|
|
119
|
+
if (module == null) {
|
|
120
|
+
sendDataToRNDirectly("", status)
|
|
121
|
+
Log.d("sendDataToRN: ", "Module null")
|
|
122
|
+
} else {
|
|
123
|
+
module.sendDataToReact(data, status, "cgmDeviceEvent")
|
|
124
|
+
Log.d("sendDataToRN: ", "Module is not null")
|
|
125
|
+
}
|
|
126
|
+
} catch (e: Exception) {
|
|
127
|
+
Log.e("sendDataToRN: Error ", e.message.toString())
|
|
128
|
+
}
|
|
129
|
+
} else {
|
|
130
|
+
Log.e("TrackyActivity", "ReactApplicationContext is null")
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
|
|
135
|
+
private fun sendDataToRNDirectly(data: String, status: String) {
|
|
136
|
+
try {
|
|
137
|
+
val map: WritableMap = Arguments.createMap().apply {
|
|
138
|
+
putString("data", data)
|
|
139
|
+
putString("status", status)
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
reactContext?.getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter::class.java)
|
|
143
|
+
?.emit("cgmDeviceEvent", map)
|
|
144
|
+
} catch (e: Exception) {
|
|
145
|
+
Log.e("sendDataToRNDirectly", "Error sending data to React", e)
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
|
|
105
149
|
private fun postEventDataToAPI() {
|
|
106
150
|
val sharedPreferencesLibraryUtil = SharedPreferencesLibraryUtil(this)
|
|
107
151
|
val information = sharedPreferencesLibraryUtil.qrInformation
|
|
@@ -6,6 +6,7 @@ import android.content.pm.PackageManager
|
|
|
6
6
|
import android.graphics.Color
|
|
7
7
|
import android.os.Build
|
|
8
8
|
import android.os.Bundle
|
|
9
|
+
import android.util.Log
|
|
9
10
|
import android.view.Gravity
|
|
10
11
|
import android.view.View
|
|
11
12
|
import android.view.ViewGroup
|
|
@@ -17,6 +18,11 @@ import androidx.core.content.ContextCompat
|
|
|
17
18
|
import androidx.core.graphics.drawable.toDrawable
|
|
18
19
|
import androidx.core.view.ViewCompat
|
|
19
20
|
import androidx.core.view.WindowInsetsCompat
|
|
21
|
+
import com.facebook.react.bridge.Arguments
|
|
22
|
+
import com.facebook.react.bridge.CatalystInstance
|
|
23
|
+
import com.facebook.react.bridge.WritableMap
|
|
24
|
+
import com.facebook.react.modules.core.DeviceEventManagerModule
|
|
25
|
+
import com.mytatvarnsdk.CgmTrackyLibModule
|
|
20
26
|
import com.mytatvarnsdk.CgmTrackyLibModule.Companion.mReactContext
|
|
21
27
|
import com.mytatvarnsdk.R
|
|
22
28
|
import com.mytatvarnsdk.databinding.ActivityStartCgmactivityBinding
|
|
@@ -26,6 +32,7 @@ import com.mytatvarnsdk.databinding.ExitDialogBottomsheetBinding
|
|
|
26
32
|
class StartCGMActivity : AppCompatActivity() {
|
|
27
33
|
private lateinit var binding: ActivityStartCgmactivityBinding
|
|
28
34
|
private var isForReconnect: Boolean = false
|
|
35
|
+
private val reactContext = CgmTrackyLibModule.mReactContext
|
|
29
36
|
|
|
30
37
|
override fun onCreate(savedInstanceState: Bundle?) {
|
|
31
38
|
super.onCreate(savedInstanceState)
|
|
@@ -79,6 +86,7 @@ class StartCGMActivity : AppCompatActivity() {
|
|
|
79
86
|
}
|
|
80
87
|
|
|
81
88
|
binding.toolbar.btnWatchDemo.setOnClickListener {
|
|
89
|
+
sendDataToRN("","cgm_watch_demo_clicked")
|
|
82
90
|
startActivity(
|
|
83
91
|
Intent(this, VideoActivity::class.java).putExtra("VideoId", "r5Zemc4R044")
|
|
84
92
|
)
|
|
@@ -142,4 +150,40 @@ class StartCGMActivity : AppCompatActivity() {
|
|
|
142
150
|
dialog.show()
|
|
143
151
|
}
|
|
144
152
|
|
|
153
|
+
private fun sendDataToRN(data: String, status: String) {
|
|
154
|
+
if (reactContext != null) {
|
|
155
|
+
try {
|
|
156
|
+
val catalystInstance: CatalystInstance = reactContext.catalystInstance
|
|
157
|
+
val module = catalystInstance.getNativeModule(CgmTrackyLibModule::class.java)
|
|
158
|
+
|
|
159
|
+
if (module == null) {
|
|
160
|
+
sendDataToRNDirectly("", status)
|
|
161
|
+
Log.d("sendDataToRN: ", "Module null")
|
|
162
|
+
} else {
|
|
163
|
+
module.sendDataToReact(data, status, "cgmDeviceEvent")
|
|
164
|
+
Log.d("sendDataToRN: ", "Module is not null")
|
|
165
|
+
}
|
|
166
|
+
} catch (e: Exception) {
|
|
167
|
+
Log.e("sendDataToRN: Error ", e.message.toString())
|
|
168
|
+
}
|
|
169
|
+
} else {
|
|
170
|
+
Log.e("TrackyActivity", "ReactApplicationContext is null")
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
|
|
175
|
+
private fun sendDataToRNDirectly(data: String, status: String) {
|
|
176
|
+
try {
|
|
177
|
+
val map: WritableMap = Arguments.createMap().apply {
|
|
178
|
+
putString("data", data)
|
|
179
|
+
putString("status", status)
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
reactContext?.getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter::class.java)
|
|
183
|
+
?.emit("cgmDeviceEvent", map)
|
|
184
|
+
} catch (e: Exception) {
|
|
185
|
+
Log.e("sendDataToRNDirectly", "Error sending data to React", e)
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
|
|
145
189
|
}
|