Add GATT status code logging in callbacks
Log warning when status != GATT_SUCCESS in onConnectionStateChange, onServicesDiscovered, and onMtuChanged. Service discovery failure now shows 'Servicefout' and returns early to prevent MTU request on failed discovery. Reviewed in codereview.md (recommendation 5.2).
This commit is contained in:
parent
fd4ba1a922
commit
c62cbaa1c2
1 changed files with 11 additions and 0 deletions
|
|
@ -71,6 +71,9 @@ class MainActivity : AppCompatActivity() {
|
|||
private val gattCallback = object : BluetoothGattCallback() {
|
||||
@SuppressLint("MissingPermission")
|
||||
override fun onConnectionStateChange(gatt: BluetoothGatt, status: Int, newState: Int) {
|
||||
if (status != BluetoothGatt.GATT_SUCCESS) {
|
||||
Log.w(TAG, "GATT connection state change error: status=$status newState=$newState")
|
||||
}
|
||||
if (newState == BluetoothProfile.STATE_CONNECTED) {
|
||||
Log.d(TAG, "GATT connected")
|
||||
bluetoothGatt = gatt
|
||||
|
|
@ -92,12 +95,20 @@ class MainActivity : AppCompatActivity() {
|
|||
|
||||
@SuppressLint("MissingPermission")
|
||||
override fun onServicesDiscovered(gatt: BluetoothGatt, status: Int) {
|
||||
if (status != BluetoothGatt.GATT_SUCCESS) {
|
||||
Log.w(TAG, "Service discovery failed (status=$status)")
|
||||
runOnUiThread { statusText.text = "Servicefout" }
|
||||
return
|
||||
}
|
||||
Log.d(TAG, "Services discovered, requesting MTU...")
|
||||
gatt.requestMtu(256)
|
||||
}
|
||||
|
||||
@SuppressLint("MissingPermission")
|
||||
override fun onMtuChanged(gatt: BluetoothGatt, mtu: Int, status: Int) {
|
||||
if (status != BluetoothGatt.GATT_SUCCESS) {
|
||||
Log.w(TAG, "MTU negotiation failed (status=$status)")
|
||||
}
|
||||
Log.d(TAG, "MTU changed to $mtu")
|
||||
val service = gatt.getService(SERVICE_UUID)
|
||||
if (service != null) {
|
||||
|
|
|
|||
Loading…
Reference in a new issue