Search code examples
androidbluetoothandroid-bluetoothhalhidl

How is HIDL implemented for Bluetooth module?


I was browsing for AOSP bluetooth code to know more about HIDL.

As per my understanding, HIDL provides an interface between System services and HAL layer.

But as per official android doc here , It seems that HIDL is interface between bluetooth stack(/system/bt) and bluetooth firmware implementation.

enter image description here

Shouldn't HIDL be present between Bluetooth process services and bluetooth stack? Am I missing something here?


Solution

  • The question you have to ask is which parts of the whole Bluetooth stack can be provided by Android and which parts have to be provided by the hardware/device manufacturer.

    Google probably decided that all they need from a hardware/device manufacturer is what is described in the Bluetooth HIDL interfaces and that they provide the rest of the stack in the Android framework.