Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 29 additions & 1 deletion phh-prop-handler.sh
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,8 @@ restartAudio() {
setprop ctl.restart "$audioHal"
setprop ctl.restart vendor.audio-hal-2-0
setprop ctl.restart audio-hal-2-0
setprop ctl.restart vendor.audio-hal-aidl
setprop ctl.restart vendor.bluetooth-aidl-qti
}

if [ "$1" == "persist.sys.phh.asus.dt2w" ]; then
Expand Down Expand Up @@ -276,8 +278,34 @@ if [ "$1" == "persist.bluetooth.system_audio_hal.enabled" ]; then
else
resetprop_phh --delete persist.bluetooth.bluetooth_audio_hal.disabled
resetprop_phh --delete persist.bluetooth.a2dp_offload.disabled
resetprop_phh --delete ro.bluetooth.a2dp_offload.supported
if [ "$(getprop persist.bluetooth.enable_bt_offload)" == "true" ]; then
resetprop_phh ro.bluetooth.a2dp_offload.supported true
else
resetprop_phh --delete ro.bluetooth.a2dp_offload.supported
fi
fi
restartAudio
exit
fi

if [ "$1" == "persist.bluetooth.enable_bt_offload" ]; then
current="$(getprop ro.bluetooth.a2dp_offload.supported)"
if [ "$current" = "" ]; then
current=true
fi
# Only update prop if really changed to avoid unneccesary audio restart.
if [ "$current" != "$prop_value" ]; then
# It is meaningless to apply value if sysbta is enable.
if [ "$(getprop persist.bluetooth.system_audio_hal.enabled)" = "false" ]; then
if [ "$current" = "true" ]; then
resetprop_phh ro.bluetooth.a2dp_offload.supported true
else
resetprop_phh --delete ro.bluetooth.a2dp_offload.supported
fi

restartAudio
fi
fi

exit
fi
2 changes: 2 additions & 0 deletions system.prop
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,8 @@ bluetooth.device.class_of_device=90,2,12

# Enable system-side generic bluetooth audio HAL
persist.bluetooth.system_audio_hal.enabled=true
# Use bluetooth A2DP offload for Lenovo/TB322FC (controlled by treble app)
persist.bluetooth.enable_bt_offload=false
# Set commonly-supported Bluetooth profiles to enabled
# TODO: Enable BLE Audio profiles on newer vendors
bluetooth.profile.asha.central.enabled?=true
Expand Down
3 changes: 3 additions & 0 deletions vndk.rc
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,9 @@ on property:ro.sf.lcd_density=*
on property:persist.bluetooth.system_audio_hal.enabled=*
exec u:r:phhsu_daemon:s0 root -- /system/bin/phh-prop-handler.sh "persist.bluetooth.system_audio_hal.enabled"

on property:persist.bluetooth.enable_bt_offload=*
exec u:r:phhsu_daemon:s0 root -- /system/bin/phh-prop-handler.sh "persist.bluetooth.enable_bt_offload"

on property:init.svc.ril-proxy=stopped && property:persist.sys.phh.restart_ril=true
start ril-proxy

Expand Down