# BrailleDisplayController.BrailleDisplayCallback

Added in[API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)

# BrailleDisplayCallback

*** ** * ** ***

Kotlin\|[Java](https://developer.android.com/reference/android/accessibilityservice/BrailleDisplayController.BrailleDisplayCallback "View this page in Java")  

```
interface BrailleDisplayCallback
```

|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [android.accessibilityservice.BrailleDisplayController.BrailleDisplayCallback](https://developer.android.com/reference/kotlin/android/accessibilityservice/BrailleDisplayController.BrailleDisplayCallback#) |

Interface provided to[BrailleDisplayController](https://developer.android.com/reference/kotlin/android/accessibilityservice/BrailleDisplayController)connection methods to receive callbacks from the system.

## Summary

|                                                                                                                                                                                         Constants                                                                                                                                                                                         ||
|----------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| static[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) | [FLAG_ERROR_BRAILLE_DISPLAY_NOT_FOUND](https://developer.android.com/reference/kotlin/android/accessibilityservice/BrailleDisplayController.BrailleDisplayCallback#FLAG_ERROR_BRAILLE_DISPLAY_NOT_FOUND:kotlin.Int) A unique Braille display matching the requested properties could not be identified. |
| static[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html) | [FLAG_ERROR_CANNOT_ACCESS](https://developer.android.com/reference/kotlin/android/accessibilityservice/BrailleDisplayController.BrailleDisplayCallback#FLAG_ERROR_CANNOT_ACCESS:kotlin.Int) The system cannot access connected HID devices.                                                             |

|                                                                                                                                                                                                               Public methods                                                                                                                                                                                                               ||
|--------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| abstract[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [onConnected](https://developer.android.com/reference/kotlin/android/accessibilityservice/BrailleDisplayController.BrailleDisplayCallback#onConnected(kotlin.ByteArray))`(`hidDescriptor:` `[ByteArray](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-byte-array/index.html)`)` Callback to observe a successful Braille display connection.  |
| abstract[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [onConnectionFailed](https://developer.android.com/reference/kotlin/android/accessibilityservice/BrailleDisplayController.BrailleDisplayCallback#onConnectionFailed(kotlin.Int))`(`errorFlags:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`)` Callback to observe a failed Braille display connection.              |
| abstract[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [onDisconnected](https://developer.android.com/reference/kotlin/android/accessibilityservice/BrailleDisplayController.BrailleDisplayCallback#onDisconnected())`()` Callback to observe when the currently connected Braille display is disconnected by the system.                                                                                   |
| abstract[Unit](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-unit/index.html) | [onInput](https://developer.android.com/reference/kotlin/android/accessibilityservice/BrailleDisplayController.BrailleDisplayCallback#onInput(kotlin.ByteArray))`(`input:` `[ByteArray](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-byte-array/index.html)`)` Callback to observe input bytes from the currently connected Braille display. |

## Constants

### FLAG_ERROR_BRAILLE_DISPLAY_NOT_FOUND

Added in[API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)  

```
static val FLAG_ERROR_BRAILLE_DISPLAY_NOT_FOUND: Int
```

A unique Braille display matching the requested properties could not be identified.  

    Value: 2

### FLAG_ERROR_CANNOT_ACCESS

Added in[API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)  

```
static val FLAG_ERROR_CANNOT_ACCESS: Int
```

The system cannot access connected HID devices.  

    Value: 1

## Public methods

### onConnected

Added in[API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)  

```
abstract fun onConnected(hidDescriptor: ByteArray): Unit
```

Callback to observe a successful Braille display connection.

The provided HID report descriptor should be used to understand the input bytes received from the Braille display via[onInput](https://developer.android.com/reference/kotlin/android/accessibilityservice/BrailleDisplayController.BrailleDisplayCallback#onInput(kotlin.ByteArray))and to prepare the output sent to the Braille display via[write](https://developer.android.com/reference/kotlin/android/accessibilityservice/BrailleDisplayController#write(kotlin.ByteArray)).

|                                                                                        Parameters                                                                                        ||
|-----------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `hidDescriptor` | [ByteArray](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-byte-array/index.html):The HID report descriptor for this Braille display. This value cannot be`null`. |

**See Also**

- [#connect(BluetoothDevice, BrailleDisplayCallback)](https://developer.android.com/reference/kotlin/android/accessibilityservice/BrailleDisplayController#connect(android.bluetooth.BluetoothDevice,%20android.accessibilityservice.BrailleDisplayController.BrailleDisplayCallback))
- [#connect(UsbDevice, BrailleDisplayCallback)](https://developer.android.com/reference/kotlin/android/accessibilityservice/BrailleDisplayController#connect(android.hardware.usb.UsbDevice,%20android.accessibilityservice.BrailleDisplayController.BrailleDisplayCallback))  

### onConnectionFailed

Added in[API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)  

```
abstract fun onConnectionFailed(errorFlags: Int): Unit
```

Callback to observe a failed Braille display connection.

|                                                                                                                                                                                                                                                                                                                                                                            Parameters                                                                                                                                                                                                                                                                                                                                                                            ||
|--------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `errorFlags` | [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html):A bitmask of error codes for the connection failure. Value is either`0`or a combination of[android.accessibilityservice.BrailleDisplayController.BrailleDisplayCallback#FLAG_ERROR_CANNOT_ACCESS](https://developer.android.com/reference/kotlin/android/accessibilityservice/BrailleDisplayController.BrailleDisplayCallback#FLAG_ERROR_CANNOT_ACCESS:kotlin.Int), and[android.accessibilityservice.BrailleDisplayController.BrailleDisplayCallback#FLAG_ERROR_BRAILLE_DISPLAY_NOT_FOUND](https://developer.android.com/reference/kotlin/android/accessibilityservice/BrailleDisplayController.BrailleDisplayCallback#FLAG_ERROR_BRAILLE_DISPLAY_NOT_FOUND:kotlin.Int) |

**See Also**

- [#connect(BluetoothDevice, BrailleDisplayCallback)](https://developer.android.com/reference/kotlin/android/accessibilityservice/BrailleDisplayController#connect(android.bluetooth.BluetoothDevice,%20android.accessibilityservice.BrailleDisplayController.BrailleDisplayCallback))
- [#connect(UsbDevice, BrailleDisplayCallback)](https://developer.android.com/reference/kotlin/android/accessibilityservice/BrailleDisplayController#connect(android.hardware.usb.UsbDevice,%20android.accessibilityservice.BrailleDisplayController.BrailleDisplayCallback))  

### onDisconnected

Added in[API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)  

```
abstract fun onDisconnected(): Unit
```

Callback to observe when the currently connected Braille display is disconnected by the system.  

### onInput

Added in[API level 35](https://developer.android.com/guide/topics/manifest/uses-sdk-element.html#ApiLevels)  

```
abstract fun onInput(input: ByteArray): Unit
```

Callback to observe input bytes from the currently connected Braille display.

|                                                                                                                      Parameters                                                                                                                       ||
|---------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `input` | [ByteArray](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-byte-array/index.html):The input bytes from the Braille display, formatted according to the HID report descriptor and the HIDRAW kernel driver. This value cannot be`null`. |