Chromium Code Reviews| Index: device/bluetooth/bluetooth_device_android.cc |
| diff --git a/device/bluetooth/bluetooth_device_android.cc b/device/bluetooth/bluetooth_device_android.cc |
| index e817350ec9fe790716106798725df102fd810ef7..1eb071ebe271e8c58bc11fc882374559605b03d9 100644 |
| --- a/device/bluetooth/bluetooth_device_android.cc |
| +++ b/device/bluetooth/bluetooth_device_android.cc |
| @@ -208,15 +208,27 @@ void BluetoothDeviceAndroid::OnConnectionStateChange(JNIEnv* env, |
| if (gatt_connected_) { |
| DidConnectGatt(); |
| } else { |
| - // TODO(scheib) Create new BluetoothDevice::ConnectErrorCode enums for |
| - // android values not yet represented. http://crbug.com/531058 |
| switch (status) { // Constants are from android.bluetooth.BluetoothGatt. |
| + case 0x0000008f: // GATT_CONNECTION_CONGESTED |
| + return DidFailToConnectGatt(ERROR_CONNECTION_CONGESTED); |
| case 0x00000101: // GATT_FAILURE |
| return DidFailToConnectGatt(ERROR_FAILED); |
| case 0x00000005: // GATT_INSUFFICIENT_AUTHENTICATION |
| return DidFailToConnectGatt(ERROR_AUTH_FAILED); |
| + case 0x0000000f: // GATT_INSUFFICIENT_ENCRYPTION |
| + return DidFailToConnectGatt(ERROR_INSUFFICIENT_ENCRYPTION); |
| + case 0x0000000d: // GATT_INVALID_ATTRIBUTE_LENGTH |
| + return DidFailToConnectGatt(ERROR_ATTRIBUTE_LENGTH_INVALID); |
| + case 0x00000007: // GATT_INVALID_OFFSET |
| + return DidFailToConnectGatt(ERROR_OFFSET_INVALID); |
| + case 0x00000002: // GATT_READ_NOT_PERMITTED |
| + return DidFailToConnectGatt(ERROR_READ_FAILED); |
| + case 0x00000006: // GATT_REQUEST_NOT_SUPPORTED |
| + return DidFailToConnectGatt(ERROR_REQUEST_NOT_SUPPORTED); |
| case 0x00000000: // GATT_SUCCESS |
| return DidDisconnectGatt(); |
| + case 0x00000003: // GATT_WRITE_NOT_PERMITTED |
| + return DidFailToConnectGatt(ERROR_WRITE_FAILED); |
|
Kai Jiang
2015/11/29 10:40:51
ERROR_WRITE_NOT_PERMITTED
|
| default: |
| VLOG(1) << "Unhandled status: " << status; |
| return DidFailToConnectGatt(ERROR_UNKNOWN); |