diff --git a/universal7885-common/aptx/libaptXHD_encoder.so b/universal7885-common/aptx/libaptXHD_encoder.so
new file mode 100644
index 0000000..7290757
Binary files /dev/null and b/universal7885-common/aptx/libaptXHD_encoder.so differ
diff --git a/universal7885-common/aptx/libaptX_encoder.so b/universal7885-common/aptx/libaptX_encoder.so
new file mode 100644
index 0000000..9dce57e
Binary files /dev/null and b/universal7885-common/aptx/libaptX_encoder.so differ
diff --git a/universal7885-common/configs/audio/audio_policy_configuration.xml b/universal7885-common/configs/audio/audio_policy_configuration.xml
index 9ac391c..fcbd1d7 100644
--- a/universal7885-common/configs/audio/audio_policy_configuration.xml
+++ b/universal7885-common/configs/audio/audio_policy_configuration.xml
@@ -124,10 +124,11 @@
-
+
-
-
+
+
+
diff --git a/universal7885-common/configs/audio/bluetooth_audio_policy_configuration.xml b/universal7885-common/configs/audio/bluetooth_audio_policy_configuration.xml
new file mode 100644
index 0000000..165ae2b
--- /dev/null
+++ b/universal7885-common/configs/audio/bluetooth_audio_policy_configuration.xml
@@ -0,0 +1,63 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/universal7885-common/configs/placeholder b/universal7885-common/configs/placeholder
deleted file mode 100644
index e69de29..0000000
diff --git a/universal7885-common/configs/props/vendor.prop b/universal7885-common/configs/props/vendor.prop
index cf9a817..a9ebd4e 100644
--- a/universal7885-common/configs/props/vendor.prop
+++ b/universal7885-common/configs/props/vendor.prop
@@ -24,3 +24,16 @@ debug.sf.latch_unsignaled=0
# Wifi direct
wifi.direct.interface=p2p0
+# Audio (APTX)
+
+# A2DP offload supported
+ro.bluetooth.a2dp_offload.supported=true
+
+# A2DP offload disabled (UI toggle property)
+persist.bluetooth.a2dp_offload.disabled=false
+
+# A2DP offload DSP supported encoder list
+persist.bluetooth.a2dp_offload.cap=sbc-aac-aptx-aptxhd-ldac
+persist.vendor.bt.a2dp_offload_cap=sbc-aptx-aptxhd-aac-ldac
+persist.vendor.btstack.a2dp_offload_cap=sbc-aptx-aptxhd-aac
+-ldac
diff --git a/universal7885-common/configs/vintf/manifest.xml b/universal7885-common/configs/vintf/manifest.xml
index d4166f7..cf668a3 100644
--- a/universal7885-common/configs/vintf/manifest.xml
+++ b/universal7885-common/configs/vintf/manifest.xml
@@ -17,6 +17,15 @@
default
+
+ android.hardware.bluetooth.audio
+ hwbinder
+ 2.1
+
+ IBluetoothAudioProvidersFactory
+ default
+
+
android.hardware.biometrics.fingerprint
hwbinder
diff --git a/universal7885-common/overlay/packages/apps/Bluetooth/res/values/config.xml b/universal7885-common/overlay/packages/apps/Bluetooth/res/values/config.xml
new file mode 100644
index 0000000..4089e8c
--- /dev/null
+++ b/universal7885-common/overlay/packages/apps/Bluetooth/res/values/config.xml
@@ -0,0 +1,24 @@
+
+
+
+
+ 5001
+ 4001
+ 2001
+ 1001
+ 3001
+
diff --git a/universal7885-common/sepolicy/vendor/file_contexts b/universal7885-common/sepolicy/vendor/file_contexts
index 1069acb..72d1118 100644
--- a/universal7885-common/sepolicy/vendor/file_contexts
+++ b/universal7885-common/sepolicy/vendor/file_contexts
@@ -138,6 +138,8 @@
/(vendor|system/vendor)/bin/hw/android\.hardware\.biometrics\.fingerprint@[0-9].[0-9]-service\.samsung u:object_r:hal_fingerprint_default_exec:s0
/(vendor|system/vendor)/bin/hw/android\.hardware\.light@[0-9].[0-9]-service\.eureka u:object_r:hal_light_default_exec:s0
/(vendor|system/vendor)/bin/hw/android\.hardware\.thermal@[0-9].[0-9]-service\.samsung u:object_r:hal_thermal_default_exec:s0
+/(vendor|system/vendor)/bin/hw/vendor\.samsung_slsi\.hardware\.configstore@[0-9]\.[0-9]-service u:object_r:hal_vendor_configstore_default_exec:s0
+/(vendor|system/vendor)/bin/hw/vendor\.samsung_slsi\.hardware\.ExynosHWCServiceTW@[0-9]\.[0-9]-service u:object_r:hal_vendor_hwcservice_default_exec:s0
####################################
# Devices
diff --git a/universal7885-common/universal7885-common.mk b/universal7885-common/universal7885-common.mk
index a472672..9f0de2a 100644
--- a/universal7885-common/universal7885-common.mk
+++ b/universal7885-common/universal7885-common.mk
@@ -24,10 +24,25 @@ PRODUCT_PACKAGES += \
libtinycompress \
audio.r_submix.default \
audio.usb.default \
- audio.a2dp.default
+ audio.a2dp.default \
+ libaudioroute \
+ libtinyalsa \
+ libtinycompress \
+ libldacBT_bco
+# Audio (BT)
+PRODUCT_PACKAGES += \
+ android.hardware.bluetooth.audio@2.1-impl \
+ audio.bluetooth.default
+
+# Aptx
PRODUCT_COPY_FILES += \
- frameworks/av/services/audiopolicy/config/a2dp_audio_policy_configuration_7_0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/a2dp_audio_policy_configuration.xml \
+ $(LOCAL_PATH)/aptx/libaptX_encoder.so:$(TARGET_COPY_OUT_PRODUCT)/lib64/libaptX_encoder.so \
+ $(LOCAL_PATH)/aptx/libaptXHD_encoder.so:$(TARGET_COPY_OUT_PRODUCT)/lib64/libaptXHD_encoder.so
+
+PRODUCT_COPY_FILES += \
+ frameworks/av/services/audiopolicy/config/a2dp_in_audio_policy_configuration_7_0.xml:$(TARGET_COPY_OUT_VENDOR)/etc/a2dp_in_audio_policy_configuration.xml \
+ $(LOCAL_PATH)/configs/audio/bluetooth_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/bluetooth_audio_policy_configuration.xml \
frameworks/av/services/audiopolicy/config/audio_policy_volumes.xml:$(TARGET_COPY_OUT_VENDOR)/etc/audio_policy_volumes.xml \
frameworks/av/services/audiopolicy/config/default_volume_tables.xml:$(TARGET_COPY_OUT_VENDOR)/etc/default_volume_tables.xml \
frameworks/av/services/audiopolicy/config/r_submix_audio_policy_configuration.xml:$(TARGET_COPY_OUT_VENDOR)/etc/r_submix_audio_policy_configuration.xml \