Loading sysprop/hfp.sysprop +16 −1 Original line number Diff line number Diff line module: "android.sysprop.bluetooth.Hfp" owner: Platform prop { api_name: "hf_client_features" type: Integer scope: Internal access: Readonly prop_name: "bluetooth.hfp.hf_client_features.config" } prop { api_name: "hf_features" type: Integer scope: Internal access: Readonly prop_name: "bluetooth.hfp.hf_features.config" } prop { api_name: "hf_services" type: Integer Loading @@ -17,4 +33,3 @@ prop { prop_name: "bluetooth.hfp.version.config" } system/bta/hf_client/bta_hf_client_api.cc +30 −0 Original line number Diff line number Diff line Loading @@ -28,6 +28,10 @@ #include <cstdint> #ifdef OS_ANDROID #include <hfp.sysprop.h> #endif #include "bt_trace.h" // Legacy trace logging #include "bta/hf_client/bta_hf_client_int.h" #include "bta/sys/bta_sys.h" Loading Loading @@ -204,3 +208,29 @@ void BTA_HfClientSendAT(uint16_t handle, tBTA_HF_CLIENT_AT_CMD_TYPE at, * ******************************************************************************/ void BTA_HfClientDumpStatistics(int fd) { bta_hf_client_dump_statistics(fd); } /******************************************************************************* * * function get_default_hf_client_features * * description return the hf_client features. * value can be override via system property * * returns int * ******************************************************************************/ int get_default_hf_client_features() { #define DEFAULT_BTIF_HF_CLIENT_FEATURES \ (BTA_HF_CLIENT_FEAT_ECNR | BTA_HF_CLIENT_FEAT_3WAY | \ BTA_HF_CLIENT_FEAT_CLI | BTA_HF_CLIENT_FEAT_VREC | BTA_HF_CLIENT_FEAT_VOL | \ BTA_HF_CLIENT_FEAT_ECS | BTA_HF_CLIENT_FEAT_ECC | BTA_HF_CLIENT_FEAT_CODEC) #ifdef OS_ANDROID static const int features = android::sysprop::bluetooth::Hfp::hf_client_features().value_or( DEFAULT_BTIF_HF_CLIENT_FEATURES); return features; #else return DEFAULT_BTIF_HF_CLIENT_FEATURES; #endif } system/bta/include/bta_hf_client_api.h +11 −0 Original line number Diff line number Diff line Loading @@ -391,4 +391,15 @@ void BTA_HfClientSendAT(uint16_t handle, tBTA_HF_CLIENT_AT_CMD_TYPE at, ******************************************************************************/ void BTA_HfClientDumpStatistics(int fd); /******************************************************************************* * * function get_default_hf_client_features * * description return the hf_client features. * value can be override via system property * * returns int * ******************************************************************************/ int get_default_hf_client_features(); #endif /* BTA_HF_CLIENT_API_H */ system/bta/test/bta_hf_client_add_record_test.cc +1 −1 Original line number Diff line number Diff line Loading @@ -58,7 +58,7 @@ class BtaHfClientAddRecordTest : public ::testing::Test { }; TEST_F(BtaHfClientAddRecordTest, test_hf_client_add_record) { tBTA_HF_CLIENT_FEAT features = BTIF_HF_CLIENT_FEATURES; tBTA_HF_CLIENT_FEAT features = get_default_hf_client_features(); uint32_t sdp_handle = 0; uint8_t scn = 0; Loading system/btif/src/btif_hf.cc +21 −9 Original line number Diff line number Diff line Loading @@ -77,16 +77,9 @@ namespace headset { { BTIF_HSAG_SERVICE_NAME, BTIF_HFAG_SERVICE_NAME } #endif #ifndef BTIF_HF_FEATURES #define BTIF_HF_FEATURES \ (BTA_AG_FEAT_3WAY | BTA_AG_FEAT_ECNR | BTA_AG_FEAT_REJECT | \ BTA_AG_FEAT_ECS | BTA_AG_FEAT_EXTERR | BTA_AG_FEAT_VREC | \ BTA_AG_FEAT_CODEC | BTA_AG_FEAT_HF_IND | BTA_AG_FEAT_ESCO_S4 | \ BTA_AG_FEAT_UNAT) #endif static uint32_t get_hf_features(); /* HF features supported at runtime */ static uint32_t btif_hf_features = BTIF_HF_FEATURES; static uint32_t btif_hf_features = get_hf_features(); #define BTIF_HF_INVALID_IDX (-1) Loading Loading @@ -160,6 +153,25 @@ static tBTA_SERVICE_MASK get_BTIF_HF_SERVICES() { #endif } /* HF features supported at runtime */ static uint32_t get_hf_features() { #define DEFAULT_BTIF_HF_FEATURES \ (BTA_AG_FEAT_3WAY | BTA_AG_FEAT_ECNR | BTA_AG_FEAT_REJECT | \ BTA_AG_FEAT_ECS | BTA_AG_FEAT_EXTERR | BTA_AG_FEAT_VREC | \ BTA_AG_FEAT_CODEC | BTA_AG_FEAT_HF_IND | BTA_AG_FEAT_ESCO_S4 | \ BTA_AG_FEAT_UNAT) #ifdef OS_ANDROID static const uint32_t hf_features = android::sysprop::bluetooth::Hfp::hf_features().value_or( DEFAULT_BTIF_HF_FEATURES); return hf_features; #elif TARGET_FLOSS return BTA_AG_FEAT_ECS | BTA_AG_FEAT_CODEC; #else return DEFAULT_BTIF_HF_FEATURES; #endif } /******************************************************************************* * * Function is_connected Loading Loading
sysprop/hfp.sysprop +16 −1 Original line number Diff line number Diff line module: "android.sysprop.bluetooth.Hfp" owner: Platform prop { api_name: "hf_client_features" type: Integer scope: Internal access: Readonly prop_name: "bluetooth.hfp.hf_client_features.config" } prop { api_name: "hf_features" type: Integer scope: Internal access: Readonly prop_name: "bluetooth.hfp.hf_features.config" } prop { api_name: "hf_services" type: Integer Loading @@ -17,4 +33,3 @@ prop { prop_name: "bluetooth.hfp.version.config" }
system/bta/hf_client/bta_hf_client_api.cc +30 −0 Original line number Diff line number Diff line Loading @@ -28,6 +28,10 @@ #include <cstdint> #ifdef OS_ANDROID #include <hfp.sysprop.h> #endif #include "bt_trace.h" // Legacy trace logging #include "bta/hf_client/bta_hf_client_int.h" #include "bta/sys/bta_sys.h" Loading Loading @@ -204,3 +208,29 @@ void BTA_HfClientSendAT(uint16_t handle, tBTA_HF_CLIENT_AT_CMD_TYPE at, * ******************************************************************************/ void BTA_HfClientDumpStatistics(int fd) { bta_hf_client_dump_statistics(fd); } /******************************************************************************* * * function get_default_hf_client_features * * description return the hf_client features. * value can be override via system property * * returns int * ******************************************************************************/ int get_default_hf_client_features() { #define DEFAULT_BTIF_HF_CLIENT_FEATURES \ (BTA_HF_CLIENT_FEAT_ECNR | BTA_HF_CLIENT_FEAT_3WAY | \ BTA_HF_CLIENT_FEAT_CLI | BTA_HF_CLIENT_FEAT_VREC | BTA_HF_CLIENT_FEAT_VOL | \ BTA_HF_CLIENT_FEAT_ECS | BTA_HF_CLIENT_FEAT_ECC | BTA_HF_CLIENT_FEAT_CODEC) #ifdef OS_ANDROID static const int features = android::sysprop::bluetooth::Hfp::hf_client_features().value_or( DEFAULT_BTIF_HF_CLIENT_FEATURES); return features; #else return DEFAULT_BTIF_HF_CLIENT_FEATURES; #endif }
system/bta/include/bta_hf_client_api.h +11 −0 Original line number Diff line number Diff line Loading @@ -391,4 +391,15 @@ void BTA_HfClientSendAT(uint16_t handle, tBTA_HF_CLIENT_AT_CMD_TYPE at, ******************************************************************************/ void BTA_HfClientDumpStatistics(int fd); /******************************************************************************* * * function get_default_hf_client_features * * description return the hf_client features. * value can be override via system property * * returns int * ******************************************************************************/ int get_default_hf_client_features(); #endif /* BTA_HF_CLIENT_API_H */
system/bta/test/bta_hf_client_add_record_test.cc +1 −1 Original line number Diff line number Diff line Loading @@ -58,7 +58,7 @@ class BtaHfClientAddRecordTest : public ::testing::Test { }; TEST_F(BtaHfClientAddRecordTest, test_hf_client_add_record) { tBTA_HF_CLIENT_FEAT features = BTIF_HF_CLIENT_FEATURES; tBTA_HF_CLIENT_FEAT features = get_default_hf_client_features(); uint32_t sdp_handle = 0; uint8_t scn = 0; Loading
system/btif/src/btif_hf.cc +21 −9 Original line number Diff line number Diff line Loading @@ -77,16 +77,9 @@ namespace headset { { BTIF_HSAG_SERVICE_NAME, BTIF_HFAG_SERVICE_NAME } #endif #ifndef BTIF_HF_FEATURES #define BTIF_HF_FEATURES \ (BTA_AG_FEAT_3WAY | BTA_AG_FEAT_ECNR | BTA_AG_FEAT_REJECT | \ BTA_AG_FEAT_ECS | BTA_AG_FEAT_EXTERR | BTA_AG_FEAT_VREC | \ BTA_AG_FEAT_CODEC | BTA_AG_FEAT_HF_IND | BTA_AG_FEAT_ESCO_S4 | \ BTA_AG_FEAT_UNAT) #endif static uint32_t get_hf_features(); /* HF features supported at runtime */ static uint32_t btif_hf_features = BTIF_HF_FEATURES; static uint32_t btif_hf_features = get_hf_features(); #define BTIF_HF_INVALID_IDX (-1) Loading Loading @@ -160,6 +153,25 @@ static tBTA_SERVICE_MASK get_BTIF_HF_SERVICES() { #endif } /* HF features supported at runtime */ static uint32_t get_hf_features() { #define DEFAULT_BTIF_HF_FEATURES \ (BTA_AG_FEAT_3WAY | BTA_AG_FEAT_ECNR | BTA_AG_FEAT_REJECT | \ BTA_AG_FEAT_ECS | BTA_AG_FEAT_EXTERR | BTA_AG_FEAT_VREC | \ BTA_AG_FEAT_CODEC | BTA_AG_FEAT_HF_IND | BTA_AG_FEAT_ESCO_S4 | \ BTA_AG_FEAT_UNAT) #ifdef OS_ANDROID static const uint32_t hf_features = android::sysprop::bluetooth::Hfp::hf_features().value_or( DEFAULT_BTIF_HF_FEATURES); return hf_features; #elif TARGET_FLOSS return BTA_AG_FEAT_ECS | BTA_AG_FEAT_CODEC; #else return DEFAULT_BTIF_HF_FEATURES; #endif } /******************************************************************************* * * Function is_connected Loading