react-native-mytatva-rn-sdk 1.2.9 → 1.2.12
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/activity/ConnectSensorActivity.kt +16 -9
- package/android/src/main/java/com/mytatvarnsdk/activity/PermissionActivity.kt +69 -4
- package/android/src/main/java/com/mytatvarnsdk/activity/SearchTransmitterActivity.kt +416 -408
- package/android/src/main/res/drawable/bg_light_yellow.xml +10 -0
- package/android/src/main/res/drawable/ic_setting.xml +9 -0
- package/android/src/main/res/drawable/img_permission_1.png +0 -0
- package/android/src/main/res/drawable/img_permission_2.png +0 -0
- package/android/src/main/res/layout/activity_connect_sensor.xml +18 -1
- package/android/src/main/res/layout/activity_search_transmitter.xml +19 -1
- package/android/src/main/res/layout/bluetooth_dialog_bottomsheet.xml +106 -0
- package/ios/Custom/CustomOverlayButton.swift +4 -4
- package/ios/Custom/CustomTopUIView.swift +3 -3
- package/ios/MyReactNativeBridge.m +26 -14
- package/ios/Storyboard/{Base.lproj/MainCGM.storyboard → MainCGM.storyboard} +72 -71
- package/ios/Support/Global.swift +11 -0
- package/ios/TableViewCell/ChargingIndicatorTVC/ChargingIndicatorTVC.swift +4 -0
- package/ios/TableViewCell/ChargingIndicatorTVC/ChargingIndicatorTVC.xib +6 -5
- package/ios/TableViewCell/ChatOptionTVC/ChatOptionTVC.swift +2 -2
- package/ios/TableViewCell/ChatOptionTVC/ChatOptionTVC.xib +4 -5
- package/ios/TableViewCell/ConnectDeviceTVC/ConnectDeviceTVC.swift +5 -0
- package/ios/TableViewCell/ConnectDeviceTVC/ConnectDeviceTVC.xib +6 -5
- package/ios/TableViewCell/ConnectSuccessTVC/ConnectSuccessTVC.swift +7 -1
- package/ios/TableViewCell/ConnectSuccessTVC/ConnectSuccessTVC.xib +6 -4
- package/ios/TableViewCell/ImageTVC/ImageTVC.swift +2 -0
- package/ios/TableViewCell/ImageTVC/ImageTVC.xib +5 -4
- package/ios/TableViewCell/LabelTVC/LabelTVC.xib +3 -4
- package/ios/TableViewCell/NoteTVC/NoteTVC.swift +2 -0
- package/ios/TableViewCell/NoteTVC/NoteTVC.xib +4 -4
- package/ios/TableViewCell/PodDetailsTVC/PodDetailsTVC.swift +7 -0
- package/ios/TableViewCell/PodDetailsTVC/PodDetailsTVC.xib +7 -5
- package/ios/TableViewCell/SearchDeviceTVC/SearchDeviceTVC.xib +4 -4
- package/ios/TableViewCell/SeparatorTVC/SeparatorTVC.xib +3 -3
- package/ios/TableViewCell/SwitchTVC/SwitchTVC.xib +5 -6
- package/ios/TableViewCell/VIdeoTVC/VideoTVC.xib +4 -4
- package/ios/TableViewCell/VerticalLabelsTVC/VerticalLabelsTVC.xib +3 -3
- package/ios/TableViewCell/WatchVideoTVC/WatchVideoTVC.swift +3 -0
- package/ios/TableViewCell/WatchVideoTVC/WatchVideoTVC.xib +5 -4
- package/ios/ViewControllers/AttachTransmitterViewController.swift +1 -1
- package/ios/ViewControllers/ChatWithExpertViewController.swift +2 -0
- package/ios/ViewControllers/ConnectToSensorViewController.swift +2 -2
- package/ios/ViewControllers/ConnectToTransmitterViewController.swift +1 -1
- package/ios/ViewControllers/ExitJourneyViewController.swift +11 -1
- package/ios/ViewControllers/PutOnTheSensorViewController.swift +1 -1
- package/ios/ViewControllers/StartConnectionViewController.swift +1 -1
- package/ios/ViewModel/FinalViewModel.swift +1 -1
- package/package.json +1 -2
- package/react-native-mytatva-rn-sdk.podspec +6 -2
- package/ios/Assets.xcassets/AppIcon.appiconset/Contents.json +0 -35
- package/ios/Storyboard/Base.lproj/LaunchScreen.storyboard +0 -25
- /package/ios/{Assets.xcassets → icon.xcassets}/AccentColor.colorset/Contents.json +0 -0
- /package/ios/{Assets.xcassets → icon.xcassets}/CGM_with_Toggle.imageset/CGM_with_Toggle.png +0 -0
- /package/ios/{Assets.xcassets → icon.xcassets}/CGM_with_Toggle.imageset/Contents.json +0 -0
- /package/ios/{Assets.xcassets → icon.xcassets}/Contents.json +0 -0
- /package/ios/{Assets.xcassets → icon.xcassets}/Take_out_transmitter.imageset/Contents.json +0 -0
- /package/ios/{Assets.xcassets → icon.xcassets}/Take_out_transmitter.imageset/Take our transmitter.png +0 -0
- /package/ios/{Assets.xcassets → icon.xcassets}/charging.imageset/Contents.json +0 -0
- /package/ios/{Assets.xcassets → icon.xcassets}/charging.imageset/charging.png +0 -0
- /package/ios/{Assets.xcassets → icon.xcassets}/charging_pod.imageset/Contents.json +0 -0
- /package/ios/{Assets.xcassets → icon.xcassets}/charging_pod.imageset/charging_pod.png +0 -0
- /package/ios/{Assets.xcassets → icon.xcassets}/close_pod.imageset/Contents.json +0 -0
- /package/ios/{Assets.xcassets → icon.xcassets}/close_pod.imageset/Group 1000005563.png +0 -0
- /package/ios/{Assets.xcassets → icon.xcassets}/close_pod.imageset/Group 1000005563@2x.png +0 -0
- /package/ios/{Assets.xcassets → icon.xcassets}/close_pod.imageset/Group 1000005563@3x.png +0 -0
- /package/ios/{Assets.xcassets → icon.xcassets}/do_not_place_inside.imageset/Contents.json +0 -0
- /package/ios/{Assets.xcassets → icon.xcassets}/do_not_place_inside.imageset/do_not_place_inside.png +0 -0
- /package/ios/{Assets.xcassets → icon.xcassets}/flip_the_reference.imageset/Contents.json +0 -0
- /package/ios/{Assets.xcassets → icon.xcassets}/flip_the_reference.imageset/flip_the_reference.png +0 -0
- /package/ios/{Assets.xcassets → icon.xcassets}/fully_charged.imageset/Contents.json +0 -0
- /package/ios/{Assets.xcassets → icon.xcassets}/fully_charged.imageset/fully_charged.png +0 -0
- /package/ios/{Assets.xcassets → icon.xcassets}/green.colorset/Contents.json +0 -0
- /package/ios/{Assets.xcassets → icon.xcassets}/ic_arrow.imageset/7.png +0 -0
- /package/ios/{Assets.xcassets → icon.xcassets}/ic_arrow.imageset/7@2x.png +0 -0
- /package/ios/{Assets.xcassets → icon.xcassets}/ic_arrow.imageset/7@3x.png +0 -0
- /package/ios/{Assets.xcassets → icon.xcassets}/ic_arrow.imageset/Contents.json +0 -0
- /package/ios/{Assets.xcassets → icon.xcassets}/ic_back.imageset/7.png +0 -0
- /package/ios/{Assets.xcassets → icon.xcassets}/ic_back.imageset/7@2x.png +0 -0
- /package/ios/{Assets.xcassets → icon.xcassets}/ic_back.imageset/7@3x.png +0 -0
- /package/ios/{Assets.xcassets → icon.xcassets}/ic_back.imageset/Contents.json +0 -0
- /package/ios/{Assets.xcassets → icon.xcassets}/ic_back_arrow.imageset/Contents.json +0 -0
- /package/ios/{Assets.xcassets → icon.xcassets}/ic_back_arrow.imageset/image 17 (Traced).png +0 -0
- /package/ios/{Assets.xcassets → icon.xcassets}/ic_back_arrow.imageset/image 17 (Traced)@2x.png +0 -0
- /package/ios/{Assets.xcassets → icon.xcassets}/ic_back_arrow.imageset/image 17 (Traced)@3x.png +0 -0
- /package/ios/{Assets.xcassets → icon.xcassets}/ic_circle.imageset/Contents.json +0 -0
- /package/ios/{Assets.xcassets → icon.xcassets}/ic_circle.imageset/circle.png +0 -0
- /package/ios/{Assets.xcassets → icon.xcassets}/ic_circle.imageset/circle@2x.png +0 -0
- /package/ios/{Assets.xcassets → icon.xcassets}/ic_circle.imageset/circle@3x.png +0 -0
- /package/ios/{Assets.xcassets → icon.xcassets}/ic_close.imageset/Contents.json +0 -0
- /package/ios/{Assets.xcassets → icon.xcassets}/ic_close.imageset/close button.png +0 -0
- /package/ios/{Assets.xcassets → icon.xcassets}/ic_close.imageset/close button@2x.png +0 -0
- /package/ios/{Assets.xcassets → icon.xcassets}/ic_close.imageset/close button@3x.png +0 -0
- /package/ios/{Assets.xcassets → icon.xcassets}/ic_close_popup.imageset/Contents.json +0 -0
- /package/ios/{Assets.xcassets → icon.xcassets}/ic_close_popup.imageset/Frame.png +0 -0
- /package/ios/{Assets.xcassets → icon.xcassets}/ic_close_popup.imageset/Frame@2x.png +0 -0
- /package/ios/{Assets.xcassets → icon.xcassets}/ic_close_popup.imageset/Frame@3x.png +0 -0
- /package/ios/{Assets.xcassets → icon.xcassets}/ic_green_arrow.imageset/Contents.json +0 -0
- /package/ios/{Assets.xcassets → icon.xcassets}/ic_green_arrow.imageset/image 17 (Traced).png +0 -0
- /package/ios/{Assets.xcassets → icon.xcassets}/ic_green_arrow.imageset/image 17 (Traced)@2x.png +0 -0
- /package/ios/{Assets.xcassets → icon.xcassets}/ic_green_arrow.imageset/image 17 (Traced)@3x.png +0 -0
- /package/ios/{Assets.xcassets → icon.xcassets}/ic_play.imageset/Contents.json +0 -0
- /package/ios/{Assets.xcassets → icon.xcassets}/ic_play.imageset/Play.png +0 -0
- /package/ios/{Assets.xcassets → icon.xcassets}/ic_play.imageset/Play@2x.png +0 -0
- /package/ios/{Assets.xcassets → icon.xcassets}/ic_play.imageset/Play@3x.png +0 -0
- /package/ios/{Assets.xcassets → icon.xcassets}/ic_selected.imageset/Contents.json +0 -0
- /package/ios/{Assets.xcassets → icon.xcassets}/ic_selected.imageset/Frame.png +0 -0
- /package/ios/{Assets.xcassets → icon.xcassets}/ic_selected.imageset/Frame@2x.png +0 -0
- /package/ios/{Assets.xcassets → icon.xcassets}/ic_selected.imageset/Frame@3x.png +0 -0
- /package/ios/{Assets.xcassets → icon.xcassets}/ic_whatsApp_only.imageset/Contents.json +0 -0
- /package/ios/{Assets.xcassets → icon.xcassets}/ic_whatsApp_only.imageset/WhatsApp.png +0 -0
- /package/ios/{Assets.xcassets → icon.xcassets}/ic_whatsApp_only.imageset/WhatsApp@2x.png +0 -0
- /package/ios/{Assets.xcassets → icon.xcassets}/ic_whatsApp_only.imageset/WhatsApp@3x.png +0 -0
- /package/ios/{Assets.xcassets → icon.xcassets}/ic_whatsapp.imageset/Contents.json +0 -0
- /package/ios/{Assets.xcassets → icon.xcassets}/ic_whatsapp.imageset/Frame 1000006343.png +0 -0
- /package/ios/{Assets.xcassets → icon.xcassets}/ic_whatsapp.imageset/Frame 1000006343@2x.png +0 -0
- /package/ios/{Assets.xcassets → icon.xcassets}/ic_whatsapp.imageset/Frame 1000006343@3x.png +0 -0
- /package/ios/{Assets.xcassets → icon.xcassets}/indigo.colorset/Contents.json +0 -0
- /package/ios/{Assets.xcassets → icon.xcassets}/mandala.imageset/Contents.json +0 -0
- /package/ios/{Assets.xcassets → icon.xcassets}/mandala.imageset/ending.png +0 -0
- /package/ios/{Assets.xcassets → icon.xcassets}/open_pod.imageset/Contents.json +0 -0
- /package/ios/{Assets.xcassets → icon.xcassets}/open_pod.imageset/Screenshot 2025-04-22 at 8.07.34/342/200/257PM 1.png" +0 -0
- /package/ios/{Assets.xcassets → icon.xcassets}/open_pod.imageset/Screenshot 2025-04-22 at 8.07.34/342/200/257PM 1@2x.png" +0 -0
- /package/ios/{Assets.xcassets → icon.xcassets}/open_pod.imageset/Screenshot 2025-04-22 at 8.07.34/342/200/257PM 1@3x.png" +0 -0
- /package/ios/{Assets.xcassets → icon.xcassets}/step4.imageset/Contents.json +0 -0
- /package/ios/{Assets.xcassets → icon.xcassets}/step4.imageset/step4.png +0 -0
- /package/ios/{Assets.xcassets → icon.xcassets}/step5.imageset/Contents.json +0 -0
- /package/ios/{Assets.xcassets → icon.xcassets}/step5.imageset/step5.png +0 -0
- /package/ios/{Assets.xcassets → icon.xcassets}/transmitter_image.imageset/Contents.json +0 -0
- /package/ios/{Assets.xcassets → icon.xcassets}/transmitter_image.imageset/transmitter_image.png +0 -0
- /package/ios/{Assets.xcassets → icon.xcassets}/transmitter_shadow.imageset/CGM Shadow.png +0 -0
- /package/ios/{Assets.xcassets → icon.xcassets}/transmitter_shadow.imageset/Contents.json +0 -0
- /package/ios/{Assets.xcassets → icon.xcassets}/unselectedGray.colorset/Contents.json +0 -0
|
@@ -107,7 +107,7 @@ class ConnectSensorActivity : BaseBleActivity() {
|
|
|
107
107
|
}
|
|
108
108
|
}
|
|
109
109
|
|
|
110
|
-
fun manageErrorState(showError: Boolean) {
|
|
110
|
+
fun manageErrorState(showError: Boolean, errorStatus: String) {
|
|
111
111
|
ProgressManagement.getInstance().dismissWait(this)
|
|
112
112
|
if (showError) {
|
|
113
113
|
binding.clFail.visibility = View.VISIBLE
|
|
@@ -138,6 +138,13 @@ class ConnectSensorActivity : BaseBleActivity() {
|
|
|
138
138
|
)
|
|
139
139
|
}
|
|
140
140
|
}
|
|
141
|
+
|
|
142
|
+
if (errorStatus.isNotEmpty()) {
|
|
143
|
+
binding.tvReason.visibility = View.VISIBLE
|
|
144
|
+
binding.tvReason.text = "Reason - ${errorStatus}"
|
|
145
|
+
} else {
|
|
146
|
+
binding.tvReason.visibility = View.GONE
|
|
147
|
+
}
|
|
141
148
|
} else {
|
|
142
149
|
binding.commonButton.root.visibility = View.VISIBLE
|
|
143
150
|
binding.clFail.visibility = View.GONE
|
|
@@ -278,7 +285,7 @@ class ConnectSensorActivity : BaseBleActivity() {
|
|
|
278
285
|
|
|
279
286
|
override fun bindFail() {
|
|
280
287
|
super.bindFail()
|
|
281
|
-
manageErrorState(true)
|
|
288
|
+
manageErrorState(true, "Bind Fail")
|
|
282
289
|
}
|
|
283
290
|
|
|
284
291
|
override fun bindSuccess() {
|
|
@@ -291,43 +298,43 @@ class ConnectSensorActivity : BaseBleActivity() {
|
|
|
291
298
|
|
|
292
299
|
override fun bluetoothStateOFF() {
|
|
293
300
|
super.bluetoothStateOFF()
|
|
294
|
-
manageErrorState(true)
|
|
301
|
+
manageErrorState(true, "Bluetooth Off")
|
|
295
302
|
|
|
296
303
|
}
|
|
297
304
|
|
|
298
305
|
override fun disconnect() {
|
|
299
306
|
super.disconnect()
|
|
300
|
-
manageErrorState(true)
|
|
307
|
+
manageErrorState(true, "Disconnected")
|
|
301
308
|
|
|
302
309
|
}
|
|
303
310
|
|
|
304
311
|
override fun disconnectForTimeout() {
|
|
305
312
|
super.disconnectForTimeout()
|
|
306
|
-
manageErrorState(true)
|
|
313
|
+
manageErrorState(true, "Disconnected")
|
|
307
314
|
|
|
308
315
|
}
|
|
309
316
|
|
|
310
317
|
override fun checkFailForLowPower() {
|
|
311
318
|
super.checkFailForLowPower()
|
|
312
|
-
manageErrorState(true)
|
|
319
|
+
manageErrorState(true, "Low Power")
|
|
313
320
|
|
|
314
321
|
}
|
|
315
322
|
|
|
316
323
|
override fun checkFailErrorTemperature() {
|
|
317
324
|
super.checkFailErrorTemperature()
|
|
318
|
-
manageErrorState(true)
|
|
325
|
+
manageErrorState(true, "Temperature Error")
|
|
319
326
|
|
|
320
327
|
}
|
|
321
328
|
|
|
322
329
|
override fun unbindReset() {
|
|
323
330
|
super.unbindReset()
|
|
324
|
-
manageErrorState(true)
|
|
331
|
+
manageErrorState(true, "Unbinded")
|
|
325
332
|
|
|
326
333
|
}
|
|
327
334
|
|
|
328
335
|
override fun unbindCommand() {
|
|
329
336
|
super.unbindCommand()
|
|
330
|
-
manageErrorState(true)
|
|
337
|
+
manageErrorState(true, "Unbinded")
|
|
331
338
|
|
|
332
339
|
}
|
|
333
340
|
|
|
@@ -1,22 +1,28 @@
|
|
|
1
1
|
package com.mytatvarnsdk.activity
|
|
2
2
|
|
|
3
3
|
import android.Manifest
|
|
4
|
+
import android.annotation.SuppressLint
|
|
4
5
|
import android.app.AlertDialog
|
|
5
6
|
import android.app.Dialog
|
|
7
|
+
import android.bluetooth.BluetoothAdapter
|
|
6
8
|
import android.content.Context
|
|
7
9
|
import android.content.Intent
|
|
8
10
|
import android.content.pm.PackageManager
|
|
9
11
|
import android.graphics.Color
|
|
12
|
+
import android.net.Uri
|
|
10
13
|
import android.os.Build
|
|
11
14
|
import android.os.Bundle
|
|
15
|
+
import android.provider.Settings
|
|
12
16
|
import android.util.Log
|
|
13
17
|
import android.view.Gravity
|
|
14
18
|
import android.view.View
|
|
15
19
|
import android.view.ViewGroup
|
|
16
20
|
import android.view.Window
|
|
21
|
+
import android.widget.Toast
|
|
17
22
|
import androidx.activity.OnBackPressedCallback
|
|
18
23
|
import androidx.activity.enableEdgeToEdge
|
|
19
24
|
import androidx.annotation.RequiresApi
|
|
25
|
+
import androidx.annotation.RequiresPermission
|
|
20
26
|
import androidx.core.app.ActivityCompat
|
|
21
27
|
import androidx.core.content.ContextCompat
|
|
22
28
|
import androidx.core.graphics.drawable.toDrawable
|
|
@@ -25,14 +31,19 @@ import androidx.core.view.WindowInsetsCompat
|
|
|
25
31
|
import cgmblelib.utils.ConstantsLibrary
|
|
26
32
|
import com.mytatvarnsdk.base.BasePermissionActivity
|
|
27
33
|
import com.mytatvarnsdk.databinding.ActivityPermissionBinding
|
|
34
|
+
import com.mytatvarnsdk.databinding.BluetoothDialogBottomsheetBinding
|
|
28
35
|
import com.mytatvarnsdk.databinding.ExitDialogBottomsheetBinding
|
|
29
36
|
|
|
30
|
-
|
|
31
37
|
class PermissionActivity : BasePermissionActivity() {
|
|
32
38
|
private lateinit var binding: ActivityPermissionBinding
|
|
33
39
|
private val LOCATION_REQUEST_CODE = 101
|
|
34
40
|
private val BLUETOOTH_REQUEST_CODE = 102
|
|
35
41
|
|
|
42
|
+
private val REQUEST_ENABLE_BT = 1
|
|
43
|
+
private val bluetoothAdapter: BluetoothAdapter? by lazy {
|
|
44
|
+
BluetoothAdapter.getDefaultAdapter()
|
|
45
|
+
}
|
|
46
|
+
|
|
36
47
|
override fun onCreate(savedInstanceState: Bundle?) {
|
|
37
48
|
super.onCreate(savedInstanceState)
|
|
38
49
|
binding = ActivityPermissionBinding.inflate(layoutInflater)
|
|
@@ -104,8 +115,12 @@ class PermissionActivity : BasePermissionActivity() {
|
|
|
104
115
|
}
|
|
105
116
|
|
|
106
117
|
|
|
118
|
+
@SuppressLint("MissingPermission")
|
|
107
119
|
private fun initialize() {
|
|
108
|
-
|
|
120
|
+
bluetoothAdapter?.let {
|
|
121
|
+
binding.switchBluetooth.isChecked = isBluetoothPermissionGranted(this) && it.isEnabled
|
|
122
|
+
}
|
|
123
|
+
|
|
109
124
|
binding.switchLocation.isChecked = isLocationPermissionGranted(this)
|
|
110
125
|
|
|
111
126
|
binding.switchBluetooth.setOnCheckedChangeListener { _, isChecked ->
|
|
@@ -134,6 +149,10 @@ class PermissionActivity : BasePermissionActivity() {
|
|
|
134
149
|
startActivity(Intent(this, HelpActivity::class.java))
|
|
135
150
|
}
|
|
136
151
|
|
|
152
|
+
binding.tvKnowMore.setOnClickListener {
|
|
153
|
+
openBluetoothDialog()
|
|
154
|
+
}
|
|
155
|
+
|
|
137
156
|
binding.toolbar.btnClose.setOnClickListener {
|
|
138
157
|
openExitDialog()
|
|
139
158
|
}
|
|
@@ -146,6 +165,31 @@ class PermissionActivity : BasePermissionActivity() {
|
|
|
146
165
|
onBackPressedDispatcher.addCallback(this, callback)
|
|
147
166
|
}
|
|
148
167
|
|
|
168
|
+
private fun openBluetoothDialog() {
|
|
169
|
+
val binding = BluetoothDialogBottomsheetBinding.inflate(layoutInflater)
|
|
170
|
+
|
|
171
|
+
val dialog = Dialog(this)
|
|
172
|
+
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE)
|
|
173
|
+
dialog.setContentView(binding.root)
|
|
174
|
+
|
|
175
|
+
val window = dialog.window
|
|
176
|
+
window?.setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT)
|
|
177
|
+
window?.setGravity(Gravity.BOTTOM)
|
|
178
|
+
window?.setBackgroundDrawable(Color.TRANSPARENT.toDrawable())
|
|
179
|
+
|
|
180
|
+
binding.tvKnowMore.setOnClickListener {
|
|
181
|
+
val intent = Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS).apply {
|
|
182
|
+
data = Uri.fromParts("package", packageName, null)
|
|
183
|
+
}
|
|
184
|
+
startActivity(intent)
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
binding.closeButton.setOnClickListener(View.OnClickListener { v: View? ->
|
|
188
|
+
dialog.dismiss()
|
|
189
|
+
})
|
|
190
|
+
|
|
191
|
+
dialog.show()
|
|
192
|
+
}
|
|
149
193
|
|
|
150
194
|
private fun openExitDialog() {
|
|
151
195
|
val binding = ExitDialogBottomsheetBinding.inflate(layoutInflater)
|
|
@@ -218,6 +262,7 @@ class PermissionActivity : BasePermissionActivity() {
|
|
|
218
262
|
}
|
|
219
263
|
}
|
|
220
264
|
|
|
265
|
+
@RequiresPermission(Manifest.permission.BLUETOOTH_CONNECT)
|
|
221
266
|
private fun requestBluetoothPermission() {
|
|
222
267
|
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
|
|
223
268
|
val permissions = PermissionUtils.BLUETOOTH_S
|
|
@@ -279,11 +324,12 @@ class PermissionActivity : BasePermissionActivity() {
|
|
|
279
324
|
}
|
|
280
325
|
|
|
281
326
|
private fun updateProceedButtonState() {
|
|
282
|
-
|
|
283
|
-
if (areAllPermissionsGranted()) {
|
|
327
|
+
if (areAllPermissionsGranted() && bluetoothAdapter!!.isEnabled) {
|
|
284
328
|
binding.commonButton.btnProceed.alpha = 1f
|
|
329
|
+
binding.commonButton.btnProceed.isEnabled = true
|
|
285
330
|
} else {
|
|
286
331
|
binding.commonButton.btnProceed.alpha = 0.5f
|
|
332
|
+
binding.commonButton.btnProceed.isEnabled = false
|
|
287
333
|
}
|
|
288
334
|
}
|
|
289
335
|
|
|
@@ -298,6 +344,7 @@ class PermissionActivity : BasePermissionActivity() {
|
|
|
298
344
|
}
|
|
299
345
|
}
|
|
300
346
|
|
|
347
|
+
@RequiresPermission(Manifest.permission.BLUETOOTH_CONNECT)
|
|
301
348
|
override fun onRequestPermissionsResult(
|
|
302
349
|
requestCode: Int,
|
|
303
350
|
permissions: Array<out String>,
|
|
@@ -335,7 +382,17 @@ class PermissionActivity : BasePermissionActivity() {
|
|
|
335
382
|
// Start location-based action
|
|
336
383
|
}
|
|
337
384
|
|
|
385
|
+
@RequiresPermission(Manifest.permission.BLUETOOTH_CONNECT)
|
|
338
386
|
private fun onBluetoothPermissionGranted() {
|
|
387
|
+
if (bluetoothAdapter == null) {
|
|
388
|
+
Toast.makeText(this, "Bluetooth not supported", Toast.LENGTH_SHORT).show()
|
|
389
|
+
} else {
|
|
390
|
+
if (!bluetoothAdapter!!.isEnabled) {
|
|
391
|
+
val enableBtIntent = Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE)
|
|
392
|
+
startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT)
|
|
393
|
+
}
|
|
394
|
+
}
|
|
395
|
+
|
|
339
396
|
updateProceedButtonState()
|
|
340
397
|
// Start Bluetooth device scan or connect
|
|
341
398
|
}
|
|
@@ -345,6 +402,14 @@ class PermissionActivity : BasePermissionActivity() {
|
|
|
345
402
|
updateProceedButtonState()
|
|
346
403
|
}
|
|
347
404
|
|
|
405
|
+
override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
|
|
406
|
+
super.onActivityResult(requestCode, resultCode, data)
|
|
407
|
+
if (requestCode == REQUEST_ENABLE_BT) {
|
|
408
|
+
if (resultCode == RESULT_OK) {
|
|
409
|
+
updateProceedButtonState()
|
|
410
|
+
}
|
|
411
|
+
}
|
|
412
|
+
}
|
|
348
413
|
}
|
|
349
414
|
|
|
350
415
|
object PermissionUtils {
|