From e28ecc30ae0e5ac26621a7e4cb796f0859f9ebfd Mon Sep 17 00:00:00 2001 From: Ted Wang Date: Mon, 27 Mar 2023 09:51:12 +0000 Subject: [PATCH] Switch to AIDL and add sepolicy for bluetooth extension Bug: 274906319 Bug: 278978409 Test: build pass Change-Id: I4430575deaf572db5dbc855d85bea0c856e0c914 --- bcmbt/bluetooth.mk | 1 + bcmbt/compatibility_matrix.xml | 27 ++++--------- bcmbt/manifest_bluetooth.xml | 53 +++++-------------------- bcmbt/sepolicy/hal_bluetooth_btlinux.te | 1 + bcmbt/sepolicy/service.te | 2 + bcmbt/sepolicy/service_contexts | 7 ++++ 6 files changed, 28 insertions(+), 63 deletions(-) create mode 100644 bcmbt/sepolicy/service.te create mode 100644 bcmbt/sepolicy/service_contexts diff --git a/bcmbt/bluetooth.mk b/bcmbt/bluetooth.mk index 6a951c7..eb6a29b 100644 --- a/bcmbt/bluetooth.mk +++ b/bcmbt/bluetooth.mk @@ -2,6 +2,7 @@ PRODUCT_SOONG_NAMESPACES += vendor/broadcom/bluetooth PRODUCT_PACKAGES += \ android.hardware.bluetooth-V1-ndk.so \ android.hardware.bluetooth-service.bcmbtlinux \ + vendor.google.bluetooth_ext-V1-ndk.so \ bt_vendor.conf \ android.hardware.bluetooth.prebuilt.xml \ android.hardware.bluetooth_le.prebuilt.xml diff --git a/bcmbt/compatibility_matrix.xml b/bcmbt/compatibility_matrix.xml index ec47e35..f0a2a05 100644 --- a/bcmbt/compatibility_matrix.xml +++ b/bcmbt/compatibility_matrix.xml @@ -1,39 +1,28 @@ - - hardware.google.bluetooth.ccc - 1.1 + + vendor.google.bluetooth_ext + 1 + + IBluetoothFinder + default + + IBluetoothFinder/default IBluetoothCcc default - - - hardware.google.bluetooth.bt_channel_avoidance - 1.0 IBTChannelAvoidance default - - - hardware.google.bluetooth.sar - 1.1 IBluetoothSar default - - - hardware.google.bluetooth.ext - 1.0 IBluetoothExt default - - - hardware.google.bluetooth.ewp - 1.0 IBluetoothEwp default diff --git a/bcmbt/manifest_bluetooth.xml b/bcmbt/manifest_bluetooth.xml index 30d1506..f14112c 100644 --- a/bcmbt/manifest_bluetooth.xml +++ b/bcmbt/manifest_bluetooth.xml @@ -4,49 +4,14 @@ 1 IBluetoothHci/default - - hardware.google.bluetooth.bt_channel_avoidance - hwbinder - 1.0 - - IBTChannelAvoidance - default - - - - hardware.google.bluetooth.sar - hwbinder - 1.1 - - IBluetoothSar - default - - - - hardware.google.bluetooth.ext - hwbinder - 1.0 - - IBluetoothExt - default - - - - hardware.google.bluetooth.ccc - hwbinder - 1.1 - - IBluetoothCcc - default - - - - hardware.google.bluetooth.ewp - hwbinder - 1.0 - - IBluetoothEwp - default - + + vendor.google.bluetooth_ext + 1 + IBTChannelAvoidance/default + IBluetoothCcc/default + IBluetoothEwp/default + IBluetoothExt/default + IBluetoothFinder/default + IBluetoothSar/default diff --git a/bcmbt/sepolicy/hal_bluetooth_btlinux.te b/bcmbt/sepolicy/hal_bluetooth_btlinux.te index f348099..263f689 100644 --- a/bcmbt/sepolicy/hal_bluetooth_btlinux.te +++ b/bcmbt/sepolicy/hal_bluetooth_btlinux.te @@ -1,4 +1,5 @@ add_hwservice(hal_bluetooth_btlinux, hal_bluetooth_coexistence_hwservice); +add_service(hal_bluetooth_btlinux, hal_bluetooth_coexistence_service); get_prop(hal_bluetooth_btlinux, boot_status_prop) allow hal_bluetooth_btlinux sysfs_bluetooth_writable:file rw_file_perms; diff --git a/bcmbt/sepolicy/service.te b/bcmbt/sepolicy/service.te new file mode 100644 index 0000000..b8403da --- /dev/null +++ b/bcmbt/sepolicy/service.te @@ -0,0 +1,2 @@ +# Bluetooth HAL extension +type hal_bluetooth_coexistence_service, hal_service_type, service_manager_type; diff --git a/bcmbt/sepolicy/service_contexts b/bcmbt/sepolicy/service_contexts new file mode 100644 index 0000000..4aecc90 --- /dev/null +++ b/bcmbt/sepolicy/service_contexts @@ -0,0 +1,7 @@ +# Bluetooth HAL extension +vendor.google.bluetooth_ext.IBTChannelAvoidance/default u:object_r:hal_bluetooth_coexistence_service:s0 +vendor.google.bluetooth_ext.IBluetoothSar/default u:object_r:hal_bluetooth_coexistence_service:s0 +vendor.google.bluetooth_ext.IBluetoothCcc/default u:object_r:hal_bluetooth_coexistence_service:s0 +vendor.google.bluetooth_ext.IBluetoothEwp/default u:object_r:hal_bluetooth_coexistence_service:s0 +vendor.google.bluetooth_ext.IBluetoothExt/default u:object_r:hal_bluetooth_coexistence_service:s0 +vendor.google.bluetooth_ext.IBluetoothFinder/default u:object_r:hal_bluetooth_coexistence_service:s0