react-native-mytatva-rn-sdk 1.2.31 → 1.2.33

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 (30) hide show
  1. package/android/build.gradle +144 -141
  2. package/android/src/main/AndroidManifest.xml +4 -1
  3. package/android/src/main/AndroidManifestNew.xml +141 -138
  4. package/android/src/main/java/com/mytatvarnsdk/CgmTrackyLibModule.kt +71 -71
  5. package/android/src/main/java/com/mytatvarnsdk/MainApplication.kt +4 -4
  6. package/android/src/main/java/com/mytatvarnsdk/activity/ConnectSensorActivity.kt +13 -2
  7. package/android/src/main/java/com/mytatvarnsdk/activity/PermissionActivity.kt +6 -0
  8. package/android/src/main/java/com/mytatvarnsdk/activity/PlaceSensorActivity.kt +82 -65
  9. package/android/src/main/java/com/mytatvarnsdk/activity/PlaceTransmitterActivity.kt +106 -89
  10. package/android/src/main/java/com/mytatvarnsdk/activity/SearchTransmitterActivity.kt +13 -7
  11. package/android/src/main/java/com/mytatvarnsdk/activity/SensorConnectSuccessActivity.kt +6 -0
  12. package/android/src/main/java/com/mytatvarnsdk/activity/StartCGMActivity.kt +63 -57
  13. package/android/src/main/java/com/mytatvarnsdk/activity/VideoActivity.kt +94 -0
  14. package/android/src/main/res/drawable/radio_button_background.xml +1 -1
  15. package/android/src/main/res/drawable/radio_checked.xml +1 -1
  16. package/android/src/main/res/layout/activity_connect_sensor.xml +497 -495
  17. package/android/src/main/res/layout/activity_place_sensor.xml +250 -238
  18. package/android/src/main/res/layout/activity_place_transmitter.xml +219 -207
  19. package/android/src/main/res/layout/activity_search_transmitter.xml +716 -714
  20. package/android/src/main/res/layout/activity_start_cgmactivity.xml +153 -153
  21. package/android/src/main/res/layout/activity_video.xml +32 -0
  22. package/android/src/main/res/values/styles.xml +1 -3
  23. package/ios/Database/KLTDatabaseHandler.m +8 -0
  24. package/lib/commonjs/CGMConnect.js +2 -2
  25. package/lib/commonjs/CGMConnect.js.map +1 -1
  26. package/lib/module/CGMConnect.js +2 -2
  27. package/lib/module/CGMConnect.js.map +1 -1
  28. package/lib/typescript/CGMConnect.d.ts +1 -1
  29. package/package.json +1 -1
  30. package/src/CGMConnect.ts +2 -2
@@ -126,111 +126,111 @@ class CgmTrackyLibModule(reactContext: ReactApplicationContext) :
126
126
  @ReactMethod
127
127
  fun observeTransmitterUnbindStatus(token: String, apiResponse: String) {
128
128
  try {
129
- userToken = token
129
+ if (apiResponse != null && apiResponse.isNotEmpty()) {
130
+ userToken = token
130
131
 
131
- /*authenticateSDKService.getCGMData(
132
- environment = if ("uat".uppercase() == "PROD") TATVA_ENVIRONMENT.PROD else TATVA_ENVIRONMENT.STAGE,
133
- token = userToken,
134
- responseListener = object : AuthenticateSDKService.ResponseListener {
135
- override fun onResponseSuccess(response: String) {
132
+ /*authenticateSDKService.getCGMData(
133
+ environment = if ("uat".uppercase() == "PROD") TATVA_ENVIRONMENT.PROD else TATVA_ENVIRONMENT.STAGE,
134
+ token = userToken,
135
+ responseListener = object : AuthenticateSDKService.ResponseListener {
136
+ override fun onResponseSuccess(response: String) {
136
137
 
137
- val response = Gson().fromJson(response, CgmSensorResponse::class.java)
138
- val sensor = response.data?.firstOrNull()
138
+ val response = Gson().fromJson(response, CgmSensorResponse::class.java)
139
+ val sensor = response.data?.firstOrNull()
139
140
 
140
- if (sensor != null && !sensor.startDate.isNullOrEmpty() && !sensor.endDate.isNullOrEmpty()) {
141
- val startDate = sensor.startDate
142
- val endDate = sensor.endDate
143
- val sensorId = sensor.sensorId
141
+ if (sensor != null && !sensor.startDate.isNullOrEmpty() && !sensor.endDate.isNullOrEmpty()) {
142
+ val startDate = sensor.startDate
143
+ val endDate = sensor.endDate
144
+ val sensorId = sensor.sensorId
144
145
 
145
- println("Start Date: $startDate")
146
- println("End Date: $endDate")
146
+ println("Start Date: $startDate")
147
+ println("End Date: $endDate")
147
148
 
148
- if (isCurrentDateInRange(startDate, endDate)) {
149
+ if (isCurrentDateInRange(startDate, endDate)) {
150
+
151
+ println("Current date is in range")
149
152
 
150
- println("Current date is in range")
153
+ val pocDevice =
154
+ RepositoryDevice.getInstance(BApplication.getContext()).latestDeviceIoThread
151
155
 
152
- val pocDevice =
153
- RepositoryDevice.getInstance(BApplication.getContext()).latestDeviceIoThread
156
+ if (pocDevice != null) {
157
+ Log.d("pocDevice logsss", pocDevice.toString())
158
+
159
+ if (pocDevice.isUnBind) {
160
+ postEventDataToAPI(
161
+ pocDevice,
162
+ DeviceStatus.TRANSMITTER_DISCONNECT.id,
163
+ pocDevice.qrMessage
164
+ )
165
+ }
166
+ } else {
167
+ Log.d("pocDevice logsss", "Data null")
154
168
 
155
- if (pocDevice != null) {
156
- Log.d("pocDevice logsss", pocDevice.toString())
169
+ postEventDataToAPI(
170
+ pocDevice,
171
+ DeviceStatus.TRANSMITTER_DISCONNECT.id,
172
+ sensorId
173
+ )
174
+ }
157
175
 
158
- if (pocDevice.isUnBind) {
159
- postEventDataToAPI(
160
- pocDevice,
161
- DeviceStatus.TRANSMITTER_DISCONNECT.id,
162
- pocDevice.qrMessage
163
- )
176
+ } else {
177
+ println("Current date is out of range")
164
178
  }
165
179
  } else {
166
- Log.d("pocDevice logsss", "Data null")
167
-
168
- postEventDataToAPI(
169
- pocDevice,
170
- DeviceStatus.TRANSMITTER_DISCONNECT.id,
171
- sensorId
172
- )
180
+ println("Start or End date not available")
173
181
  }
182
+ }
174
183
 
175
- } else {
176
- println("Current date is out of range")
184
+ override fun onResponseFail() {
177
185
  }
178
- } else {
179
- println("Start or End date not available")
180
186
  }
181
- }
187
+ )*/
182
188
 
183
- override fun onResponseFail() {
184
- }
185
- }
186
- )*/
189
+ val response = Gson().fromJson(apiResponse, CgmSensorResponse::class.java)
190
+ val sensor = response.data?.firstOrNull()
187
191
 
188
- val response = Gson().fromJson(apiResponse, CgmSensorResponse::class.java)
189
- val sensor = response.data?.firstOrNull()
192
+ if (sensor != null && !sensor.startDate.isNullOrEmpty() && !sensor.endDate.isNullOrEmpty()) {
193
+ val startDate = sensor.startDate
194
+ val endDate = sensor.endDate
195
+ val sensorId = sensor.sensorId
190
196
 
191
- if (sensor != null && !sensor.startDate.isNullOrEmpty() && !sensor.endDate.isNullOrEmpty()) {
192
- val startDate = sensor.startDate
193
- val endDate = sensor.endDate
194
- val sensorId = sensor.sensorId
197
+ println("Start Date: $startDate")
198
+ println("End Date: $endDate")
195
199
 
196
- println("Start Date: $startDate")
197
- println("End Date: $endDate")
200
+ if (isCurrentDateInRange(startDate, endDate)) {
198
201
 
199
- if (isCurrentDateInRange(startDate, endDate)) {
202
+ println("Current date is in range")
200
203
 
201
- println("Current date is in range")
204
+ val pocDevice =
205
+ RepositoryDevice.getInstance(BApplication.getContext()).latestDeviceIoThread
202
206
 
203
- val pocDevice =
204
- RepositoryDevice.getInstance(BApplication.getContext()).latestDeviceIoThread
207
+ if (pocDevice != null) {
208
+ Log.d("pocDevice logsss", pocDevice.toString())
205
209
 
206
- if (pocDevice != null) {
207
- Log.d("pocDevice logsss", pocDevice.toString())
210
+ if (pocDevice.isUnBind) {
211
+ postEventDataToAPI(
212
+ pocDevice,
213
+ DeviceStatus.TRANSMITTER_DISCONNECT.id,
214
+ pocDevice.qrMessage
215
+ )
216
+ }
217
+ } else {
218
+ Log.d("pocDevice logsss", "Data null")
208
219
 
209
- if (pocDevice.isUnBind) {
210
220
  postEventDataToAPI(
211
221
  pocDevice,
212
222
  DeviceStatus.TRANSMITTER_DISCONNECT.id,
213
- pocDevice.qrMessage
223
+ sensorId
214
224
  )
215
225
  }
216
- } else {
217
- Log.d("pocDevice logsss", "Data null")
218
226
 
219
- postEventDataToAPI(
220
- pocDevice,
221
- DeviceStatus.TRANSMITTER_DISCONNECT.id,
222
- sensorId
223
- )
227
+ } else {
228
+ println("Current date is out of range")
224
229
  }
225
-
226
230
  } else {
227
- println("Current date is out of range")
231
+ println("Start or End date not available")
228
232
  }
229
- } else {
230
- println("Start or End date not available")
231
233
  }
232
-
233
-
234
234
  } catch (e: Exception) {
235
235
  Log.e("observeTransmitterUnbindStatus", "observeTransmitterUnbindStatus: ${e.message}")
236
236
  }
@@ -35,10 +35,6 @@ class MainApplication : BApplication(), ReactApplication {
35
35
  }
36
36
  }
37
37
 
38
- // ✅ FIXED: property override instead of method
39
- override val reactNativeHost: ReactNativeHost
40
- get() = mReactNativeHost
41
-
42
38
  override fun onCreate() {
43
39
  super.onCreate()
44
40
  Log.d("MainApplication", "MainApplication onCreate called")
@@ -46,4 +42,8 @@ class MainApplication : BApplication(), ReactApplication {
46
42
  BleService.startService(this)
47
43
  BSharedPreferences.init(this)
48
44
  }
45
+
46
+ override fun getReactNativeHost(): ReactNativeHost {
47
+ return mReactNativeHost
48
+ }
49
49
  }
@@ -92,6 +92,12 @@ class ConnectSensorActivity : BaseBleActivity() {
92
92
  startActivity(Intent(this, HelpActivity::class.java))
93
93
  }
94
94
 
95
+ binding.toolbar.btnWatchDemo.setOnClickListener {
96
+ startActivity(
97
+ Intent(this, VideoActivity::class.java).putExtra("VideoId", "r5Zemc4R044")
98
+ )
99
+ }
100
+
95
101
  val callback: OnBackPressedCallback = object : OnBackPressedCallback(true) {
96
102
  override fun handleOnBackPressed() {
97
103
  openExitDialog()
@@ -130,8 +136,13 @@ class ConnectSensorActivity : BaseBleActivity() {
130
136
  binding.btnSupport.tvProceed.text = "Contact Support"
131
137
  binding.btnRetry.tvProceed.text = "Retry"
132
138
 
133
- binding.btnWatchDemo.setOnClickListener {
134
-
139
+ binding.btnWatchDemo.post {
140
+ binding.btnWatchDemo.setOnClickListener {
141
+ Log.d("CLICK", "Layout Clicked")
142
+ startActivity(
143
+ Intent(this, VideoActivity::class.java).putExtra("VideoId", "zRlFFdr-QD4")
144
+ )
145
+ }
135
146
  }
136
147
 
137
148
  binding.btnSupport.btnProceed.setOnClickListener {
@@ -149,6 +149,12 @@ class PermissionActivity : BasePermissionActivity() {
149
149
  startActivity(Intent(this, HelpActivity::class.java))
150
150
  }
151
151
 
152
+ binding.toolbar.btnWatchDemo.setOnClickListener {
153
+ startActivity(
154
+ Intent(this, VideoActivity::class.java).putExtra("VideoId", "r5Zemc4R044")
155
+ )
156
+ }
157
+
152
158
  binding.tvKnowMore.setOnClickListener {
153
159
  openBluetoothDialog()
154
160
  }
@@ -19,85 +19,102 @@ import com.bumptech.glide.load.resource.bitmap.RoundedCorners
19
19
  import com.mytatvarnsdk.R
20
20
  import com.mytatvarnsdk.databinding.ActivityPlaceSensorBinding
21
21
  import com.mytatvarnsdk.databinding.ExitDialogBottomsheetBinding
22
+ import com.pierfrancescosoffritti.androidyoutubeplayer.core.player.YouTubePlayer
23
+ import com.pierfrancescosoffritti.androidyoutubeplayer.core.player.listeners.AbstractYouTubePlayerListener
24
+ import com.pierfrancescosoffritti.androidyoutubeplayer.core.player.listeners.FullscreenListener
25
+ import com.pierfrancescosoffritti.androidyoutubeplayer.core.player.options.IFramePlayerOptions
22
26
 
23
27
  class PlaceSensorActivity : AppCompatActivity() {
24
- private lateinit var binding: ActivityPlaceSensorBinding
25
-
26
- override fun onCreate(savedInstanceState: Bundle?) {
27
- super.onCreate(savedInstanceState)
28
- binding = ActivityPlaceSensorBinding.inflate(layoutInflater)
29
- enableEdgeToEdge()
30
- setContentView(binding.root)
31
- ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main)) { v, insets ->
32
- val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars())
33
- v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom)
34
- insets
35
- }
36
- init()
37
- }
38
-
39
- private fun init() {
40
- Glide.with(this)
41
- .load(R.drawable.img_male)
42
- .transform(RoundedCorners(50))
43
- .into(binding.ivTransmitter)
44
-
45
- Glide.with(this)
46
- .asGif()
47
- .load(R.drawable.ic_play_gif)
48
- .into(binding.ivPlay)
49
-
50
- binding.toolbar.btnWhatsapp.setOnClickListener {
51
- startActivity(Intent(this, HelpActivity::class.java))
28
+ private lateinit var binding: ActivityPlaceSensorBinding
29
+
30
+ override fun onCreate(savedInstanceState: Bundle?) {
31
+ super.onCreate(savedInstanceState)
32
+ binding = ActivityPlaceSensorBinding.inflate(layoutInflater)
33
+ enableEdgeToEdge()
34
+ setContentView(binding.root)
35
+ ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main)) { v, insets ->
36
+ val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars())
37
+ v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom)
38
+ insets
39
+ }
40
+ init()
52
41
  }
53
42
 
54
- binding.commonButton.tvProceed.text = "I Have Placed The Sensor"
55
- binding.commonButton.btnProceed.setOnClickListener {
56
- startActivity(Intent(this, PlaceTransmitterActivity::class.java))
57
- finish()
43
+ private fun init() {
44
+ Glide.with(this)
45
+ .load(R.drawable.img_male)
46
+ .transform(RoundedCorners(50))
47
+ .into(binding.ivTransmitter)
48
+
49
+ Glide.with(this)
50
+ .asGif()
51
+ .load(R.drawable.ic_play_gif)
52
+ .into(binding.ivPlay)
53
+
54
+ binding.toolbar.btnWhatsapp.setOnClickListener {
55
+ startActivity(Intent(this, HelpActivity::class.java))
56
+ }
57
+
58
+ binding.toolbar.btnWatchDemo.setOnClickListener {
59
+ startActivity(
60
+ Intent(this, VideoActivity::class.java).putExtra("VideoId", "r5Zemc4R044")
61
+ )
62
+ }
63
+
64
+ binding.commonButton.tvProceed.text = "I Have Placed The Sensor"
65
+ binding.commonButton.btnProceed.setOnClickListener {
66
+ startActivity(Intent(this, PlaceTransmitterActivity::class.java))
67
+ finish()
68
+ }
69
+
70
+ binding.toolbar.btnClose.setOnClickListener {
71
+ openExitDialog()
72
+ }
73
+
74
+ binding.ivPlay.setOnClickListener {
75
+ startActivity(
76
+ Intent(this, VideoActivity::class.java).putExtra("VideoId", "1C7VK2d5niY")
77
+ )
78
+ }
79
+
80
+ val callback: OnBackPressedCallback = object : OnBackPressedCallback(true) {
81
+ override fun handleOnBackPressed() {
82
+ openExitDialog()
83
+ }
84
+ }
85
+ onBackPressedDispatcher.addCallback(this, callback)
58
86
  }
59
87
 
60
- binding.toolbar.btnClose.setOnClickListener {
61
- openExitDialog()
62
- }
63
88
 
64
- val callback: OnBackPressedCallback = object : OnBackPressedCallback(true) {
65
- override fun handleOnBackPressed() {
66
- openExitDialog()
67
- }
68
- }
69
- onBackPressedDispatcher.addCallback(this, callback)
70
- }
89
+ private fun openExitDialog() {
90
+ val binding = ExitDialogBottomsheetBinding.inflate(layoutInflater)
71
91
 
72
- private fun openExitDialog() {
73
- val binding = ExitDialogBottomsheetBinding.inflate(layoutInflater)
92
+ val dialog = Dialog(this)
93
+ dialog.requestWindowFeature(Window.FEATURE_NO_TITLE)
94
+ dialog.setContentView(binding.root)
74
95
 
75
- val dialog = Dialog(this)
76
- dialog.requestWindowFeature(Window.FEATURE_NO_TITLE)
77
- dialog.setContentView(binding.root)
96
+ val window = dialog.window
97
+ window?.setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT)
98
+ window?.setGravity(Gravity.BOTTOM)
99
+ window?.setBackgroundDrawable(Color.TRANSPARENT.toDrawable())
78
100
 
79
- val window = dialog.window
80
- window?.setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT)
81
- window?.setGravity(Gravity.BOTTOM)
82
- window?.setBackgroundDrawable(Color.TRANSPARENT.toDrawable())
101
+ binding.btnExit.tvProceed.text = "Exit"
83
102
 
84
- binding.btnExit.tvProceed.text = "Exit"
103
+ binding.btnExit.root.setOnClickListener(View.OnClickListener { v: View? ->
104
+ finish()
105
+ dialog.dismiss()
106
+ })
85
107
 
86
- binding.btnExit.root.setOnClickListener(View.OnClickListener { v: View? ->
87
- finish()
88
- dialog.dismiss()
89
- })
108
+ binding.btnCancel.root.setOnClickListener(View.OnClickListener { v: View? ->
109
+ dialog.dismiss()
110
+ })
90
111
 
91
- binding.btnCancel.root.setOnClickListener(View.OnClickListener { v: View? ->
92
- dialog.dismiss()
93
- })
112
+ binding.closeButton.setOnClickListener(View.OnClickListener { v: View? ->
113
+ dialog.dismiss()
114
+ })
94
115
 
95
- binding.closeButton.setOnClickListener(View.OnClickListener { v: View? ->
96
- dialog.dismiss()
97
- })
98
-
99
- dialog.show()
100
- }
116
+ dialog.show()
117
+ }
101
118
 
102
119
 
103
120
  }
@@ -25,121 +25,138 @@ import com.mytatvarnsdk.CgmTrackyLibModule
25
25
  import com.mytatvarnsdk.R
26
26
  import com.mytatvarnsdk.databinding.ActivityPlaceTransmitterBinding
27
27
  import com.mytatvarnsdk.databinding.ExitDialogBottomsheetBinding
28
+ import com.pierfrancescosoffritti.androidyoutubeplayer.core.player.YouTubePlayer
29
+ import com.pierfrancescosoffritti.androidyoutubeplayer.core.player.listeners.AbstractYouTubePlayerListener
30
+ import com.pierfrancescosoffritti.androidyoutubeplayer.core.player.listeners.FullscreenListener
31
+ import com.pierfrancescosoffritti.androidyoutubeplayer.core.player.options.IFramePlayerOptions
28
32
 
29
33
  class PlaceTransmitterActivity : AppCompatActivity() {
30
- private lateinit var binding: ActivityPlaceTransmitterBinding
31
- private val reactContext = CgmTrackyLibModule.mReactContext
32
-
33
- override fun onCreate(savedInstanceState: Bundle?) {
34
- super.onCreate(savedInstanceState)
35
- binding = ActivityPlaceTransmitterBinding.inflate(layoutInflater)
36
- enableEdgeToEdge()
37
- setContentView(binding.root)
38
- ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main)) { v, insets ->
39
- val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars())
40
- v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom)
41
- insets
34
+ private lateinit var binding: ActivityPlaceTransmitterBinding
35
+ private val reactContext = CgmTrackyLibModule.mReactContext
36
+
37
+ override fun onCreate(savedInstanceState: Bundle?) {
38
+ super.onCreate(savedInstanceState)
39
+ binding = ActivityPlaceTransmitterBinding.inflate(layoutInflater)
40
+ enableEdgeToEdge()
41
+ setContentView(binding.root)
42
+ ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main)) { v, insets ->
43
+ val systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars())
44
+ v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom)
45
+ insets
46
+ }
47
+ init()
42
48
  }
43
- init()
44
- }
45
49
 
46
- private fun init() {
47
- Glide.with(this)
48
- .load(R.drawable.img_female)
49
- .transform(RoundedCorners(50))
50
- .into(binding.ivTransmitter)
50
+ private fun init() {
51
+ Glide.with(this)
52
+ .load(R.drawable.img_female)
53
+ .transform(RoundedCorners(50))
54
+ .into(binding.ivTransmitter)
51
55
 
52
- Glide.with(this)
53
- .asGif()
54
- .load(R.drawable.ic_play_gif)
55
- .into(binding.ivPlay)
56
+ Glide.with(this)
57
+ .asGif()
58
+ .load(R.drawable.ic_play_gif)
59
+ .into(binding.ivPlay)
56
60
 
57
- binding.commonButton.tvProceed.text = "Complete"
61
+ binding.commonButton.tvProceed.text = "Complete"
58
62
 
59
- binding.commonButton.btnProceed.setOnClickListener {
60
- sendDataToRN("")
61
- finish()
62
- }
63
+ binding.commonButton.btnProceed.setOnClickListener {
64
+ sendDataToRN("")
65
+ finish()
66
+ }
63
67
 
64
- binding.toolbar.btnWhatsapp.setOnClickListener {
65
- startActivity(Intent(this, HelpActivity::class.java))
66
- }
68
+ binding.toolbar.btnWhatsapp.setOnClickListener {
69
+ startActivity(Intent(this, HelpActivity::class.java))
70
+ }
67
71
 
68
- binding.toolbar.btnClose.setOnClickListener {
69
- openExitDialog()
70
- }
72
+ binding.toolbar.btnWatchDemo.setOnClickListener {
73
+ startActivity(
74
+ Intent(this, VideoActivity::class.java).putExtra("VideoId", "r5Zemc4R044")
75
+ )
76
+ }
71
77
 
72
- val callback: OnBackPressedCallback = object : OnBackPressedCallback(true) {
73
- override fun handleOnBackPressed() {
74
- openExitDialog()
75
- }
78
+ binding.toolbar.btnClose.setOnClickListener {
79
+ openExitDialog()
80
+ }
81
+
82
+ binding.ivPlay.setOnClickListener {
83
+ startActivity(
84
+ Intent(this, VideoActivity::class.java).putExtra("VideoId", "1C7VK2d5niY")
85
+ )
86
+ }
87
+
88
+ val callback: OnBackPressedCallback = object : OnBackPressedCallback(true) {
89
+ override fun handleOnBackPressed() {
90
+ openExitDialog()
91
+ }
92
+ }
93
+ onBackPressedDispatcher.addCallback(this, callback)
76
94
  }
77
- onBackPressedDispatcher.addCallback(this, callback)
78
- }
79
95
 
80
- private fun openExitDialog() {
81
- val binding = ExitDialogBottomsheetBinding.inflate(layoutInflater)
82
96
 
83
- val dialog = Dialog(this)
84
- dialog.requestWindowFeature(Window.FEATURE_NO_TITLE)
85
- dialog.setContentView(binding.root)
97
+ private fun openExitDialog() {
98
+ val binding = ExitDialogBottomsheetBinding.inflate(layoutInflater)
86
99
 
87
- val window = dialog.window
88
- window?.setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT)
89
- window?.setGravity(Gravity.BOTTOM)
90
- window?.setBackgroundDrawable(Color.TRANSPARENT.toDrawable())
100
+ val dialog = Dialog(this)
101
+ dialog.requestWindowFeature(Window.FEATURE_NO_TITLE)
102
+ dialog.setContentView(binding.root)
91
103
 
92
- binding.btnExit.tvProceed.text = "Exit"
104
+ val window = dialog.window
105
+ window?.setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT)
106
+ window?.setGravity(Gravity.BOTTOM)
107
+ window?.setBackgroundDrawable(Color.TRANSPARENT.toDrawable())
93
108
 
94
- binding.btnExit.root.setOnClickListener(View.OnClickListener { v: View? ->
95
- finish()
96
- dialog.dismiss()
97
- })
109
+ binding.btnExit.tvProceed.text = "Exit"
98
110
 
99
- binding.btnCancel.root.setOnClickListener(View.OnClickListener { v: View? ->
100
- dialog.dismiss()
101
- })
111
+ binding.btnExit.root.setOnClickListener(View.OnClickListener { v: View? ->
112
+ finish()
113
+ dialog.dismiss()
114
+ })
102
115
 
103
- binding.closeButton.setOnClickListener(View.OnClickListener { v: View? ->
104
- dialog.dismiss()
105
- })
116
+ binding.btnCancel.root.setOnClickListener(View.OnClickListener { v: View? ->
117
+ dialog.dismiss()
118
+ })
106
119
 
107
- dialog.show()
108
- }
120
+ binding.closeButton.setOnClickListener(View.OnClickListener { v: View? ->
121
+ dialog.dismiss()
122
+ })
109
123
 
110
- private fun sendDataToRN(data: String) {
111
- if (reactContext != null) {
112
- try {
113
- val catalystInstance: CatalystInstance = reactContext.catalystInstance
114
- val module = catalystInstance.getNativeModule(CgmTrackyLibModule::class.java)
124
+ dialog.show()
125
+ }
115
126
 
116
- if (module == null) {
117
- sendDataToRNDirectly("", "WARM_PERIOD_STARTED")
118
- Log.d("sendDataToRN: ", "Module null")
127
+ private fun sendDataToRN(data: String) {
128
+ if (reactContext != null) {
129
+ try {
130
+ val catalystInstance: CatalystInstance = reactContext.catalystInstance
131
+ val module = catalystInstance.getNativeModule(CgmTrackyLibModule::class.java)
132
+
133
+ if (module == null) {
134
+ sendDataToRNDirectly("", "WARM_PERIOD_STARTED")
135
+ Log.d("sendDataToRN: ", "Module null")
136
+ } else {
137
+ module.sendDataToReact(data, "WARM_PERIOD_STARTED", "cgmDeviceEvent")
138
+ Log.d("sendDataToRN: ", "Module is not null")
139
+ }
140
+ } catch (e: Exception) {
141
+ Log.e("sendDataToRN: Error ", e.message.toString())
142
+ }
119
143
  } else {
120
- module.sendDataToReact(data, "WARM_PERIOD_STARTED", "cgmDeviceEvent")
121
- Log.d("sendDataToRN: ", "Module is not null")
144
+ Log.e("TrackyActivity", "ReactApplicationContext is null")
122
145
  }
123
- } catch (e: Exception) {
124
- Log.e("sendDataToRN: Error ", e.message.toString())
125
- }
126
- } else {
127
- Log.e("TrackyActivity", "ReactApplicationContext is null")
128
146
  }
129
- }
130
147
 
131
148
 
132
- private fun sendDataToRNDirectly(data: String, status: String) {
133
- try {
134
- val map: WritableMap = Arguments.createMap().apply {
135
- putString("data", data)
136
- putString("status", status)
137
- }
149
+ private fun sendDataToRNDirectly(data: String, status: String) {
150
+ try {
151
+ val map: WritableMap = Arguments.createMap().apply {
152
+ putString("data", data)
153
+ putString("status", status)
154
+ }
138
155
 
139
- reactContext?.getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter::class.java)
140
- ?.emit("cgmDeviceEvent", map)
141
- } catch (e: Exception) {
142
- Log.e("sendDataToRNDirectly", "Error sending data to React", e)
156
+ reactContext?.getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter::class.java)
157
+ ?.emit("cgmDeviceEvent", map)
158
+ } catch (e: Exception) {
159
+ Log.e("sendDataToRNDirectly", "Error sending data to React", e)
160
+ }
143
161
  }
144
- }
145
162
  }