Loading system/bta/av/bta_av_aact.cc +5 −5 Original line number Diff line number Diff line Loading @@ -3079,14 +3079,14 @@ void bta_av_open_at_inc(tBTA_AV_SCB* p_scb, tBTA_AV_DATA* p_data) { } void offload_vendor_callback(tBTM_VSC_CMPL* param) { uint8_t status = 0; tBTA_AV value{0}; uint8_t sub_opcode = 0; if (param->param_len) { APPL_TRACE_DEBUG("%s: param_len = %d status = %d", __func__, param->param_len, param->p_param_buf[0]); status = param->p_param_buf[0]; value.status = param->p_param_buf[0]; } if (status == 0) { if (value.status == 0) { sub_opcode = param->p_param_buf[1]; APPL_TRACE_DEBUG("%s: subopcode = %d", __func__, sub_opcode); switch (sub_opcode) { Loading @@ -3094,7 +3094,7 @@ void offload_vendor_callback(tBTM_VSC_CMPL* param) { APPL_TRACE_DEBUG("%s: VS_HCI_STOP_A2DP_MEDIA successful", __func__); break; case VS_HCI_A2DP_OFFLOAD_START: (*bta_av_cb.p_cback)(BTA_AV_OFFLOAD_START_RSP_EVT, (tBTA_AV*)&status); (*bta_av_cb.p_cback)(BTA_AV_OFFLOAD_START_RSP_EVT, &value); break; default: break; Loading @@ -3103,7 +3103,7 @@ void offload_vendor_callback(tBTM_VSC_CMPL* param) { APPL_TRACE_DEBUG("%s: Offload failed for subopcode= %d", __func__, sub_opcode); if (param->opcode != VS_HCI_A2DP_OFFLOAD_STOP) (*bta_av_cb.p_cback)(BTA_AV_OFFLOAD_START_RSP_EVT, (tBTA_AV*)&status); (*bta_av_cb.p_cback)(BTA_AV_OFFLOAD_START_RSP_EVT, &value); } } Loading system/btcore/src/device_class.cc +3 −1 Original line number Diff line number Diff line Loading @@ -88,7 +88,9 @@ void device_class_from_int(bt_device_class_t* dc, int data) { int device_class_to_int(const bt_device_class_t* dc) { CHECK(dc != NULL); // Careful with endianess. return (int)(le32toh(*(int*)dc) & 0xffffff); int val = 0; memcpy(&val, dc, sizeof(*dc)); return static_cast<int>(le32toh(val) & 0xffffff); } bool device_class_equals(const bt_device_class_t* p1, Loading system/btcore/test/device_class_test.cc +24 −15 Original line number Diff line number Diff line Loading @@ -22,9 +22,6 @@ #include "btcore/include/device_class.h" // Device Class is 3 bytes. static const int DC_MASK = 0xffffff; ::testing::AssertionResult check_bitfield(const char* m_expr, const char* n_expr, int m, int n) { if (m == n) return ::testing::AssertionSuccess(); Loading Loading @@ -84,8 +81,9 @@ TEST_F(DeviceClassTest, to_stream) { int rc = device_class_to_stream(&dc, dc_stream1, sizeof(dc_stream1)); EXPECT_EQ(3, rc); uint32_t* val = (uint32_t*)&dc; EXPECT_PRED_FORMAT2(check_bitfield, 0x00000000, *val & 0xffffff); uint32_t val = 0; memcpy(&val, &dc, sizeof(dc)); EXPECT_PRED_FORMAT2(check_bitfield, 0x00000000, val); EXPECT_PRED_FORMAT2(check_bitfield, 0x00, dc_stream1[0]); EXPECT_PRED_FORMAT2(check_bitfield, 0x00, dc_stream1[1]); Loading @@ -101,8 +99,9 @@ TEST_F(DeviceClassTest, to_stream) { int rc = device_class_to_stream(&dc, dc_stream1, sizeof(dc_stream1)); EXPECT_EQ(3, rc); uint32_t* val = (uint32_t*)&dc; EXPECT_PRED_FORMAT2(check_bitfield, 0x00aa55aa, *val & 0xffffff); uint32_t val = 0; memcpy(&val, &dc, sizeof(dc)); EXPECT_PRED_FORMAT2(check_bitfield, 0x00aa55aa, val); EXPECT_PRED_FORMAT2(check_bitfield, 0xaa, dc_stream1[0]); EXPECT_PRED_FORMAT2(check_bitfield, 0x55, dc_stream1[1]); Loading @@ -118,8 +117,9 @@ TEST_F(DeviceClassTest, to_stream) { int rc = device_class_to_stream(&dc, dc_stream1, sizeof(dc_stream1)); EXPECT_EQ(3, rc); uint32_t* val = (uint32_t*)&dc; EXPECT_PRED_FORMAT2(check_bitfield, 0x452301, *val & 0xffffff); uint32_t val = 0; memcpy(&val, &dc, sizeof(dc)); EXPECT_PRED_FORMAT2(check_bitfield, 0x452301, val); EXPECT_PRED_FORMAT2(check_bitfield, 0x01, dc_stream1[0]); EXPECT_PRED_FORMAT2(check_bitfield, 0x23, dc_stream1[1]); Loading @@ -131,24 +131,33 @@ TEST_F(DeviceClassTest, limited_discoverable_mode) { uint8_t dc_stream[] = {0x00, 0x00, 0x00}; bt_device_class_t dc; device_class_from_stream(&dc, dc_stream); uint32_t* test = (uint32_t*)&dc; uint32_t test = 0; memcpy(&test, &dc, sizeof(dc)); EXPECT_FALSE(device_class_get_limited(&dc)); EXPECT_EQ((unsigned)0x00000000, *test & DC_MASK); EXPECT_EQ((unsigned)0x00000000, test); device_class_set_limited(&dc, true); test = 0; memcpy(&test, &dc, sizeof(dc)); EXPECT_TRUE(device_class_get_limited(&dc)); EXPECT_EQ((unsigned)0x00002000, *test & DC_MASK); EXPECT_EQ((unsigned)0x00002000, test); device_class_set_limited(&dc, false); test = 0; memcpy(&test, &dc, sizeof(dc)); EXPECT_FALSE(device_class_get_limited(&dc)); EXPECT_EQ((unsigned)0x00000000, *test & DC_MASK); EXPECT_EQ((unsigned)0x00000000, test); device_class_set_limited(&dc, true); EXPECT_PRED_FORMAT2(check_bitfield, 0x00002000, *test & DC_MASK); test = 0; memcpy(&test, &dc, sizeof(dc)); EXPECT_PRED_FORMAT2(check_bitfield, 0x00002000, test); device_class_set_limited(&dc, false); EXPECT_PRED_FORMAT2(check_bitfield, 0x00000000, *test & DC_MASK); test = 0; memcpy(&test, &dc, sizeof(dc)); EXPECT_PRED_FORMAT2(check_bitfield, 0x00000000, test); } TEST_F(DeviceClassTest, equals) { Loading system/btif/include/btif_keystore.h +0 −8 Original line number Diff line number Diff line Loading @@ -59,14 +59,6 @@ class BtifKeystore { */ std::string Decrypt(const std::string& input_filename); /** * Check for existence of keystore key. * * This key can be cleared if a user manually wipes bluetooth storage data * b/133214365 */ bool DoesKeyExist(); private: std::unique_ptr<keystore::KeystoreClient> keystore_client_; std::mutex api_mutex_; Loading system/btif/src/btif_dm.cc +4 −13 Original line number Diff line number Diff line Loading @@ -973,21 +973,12 @@ static void btif_dm_ssp_cfm_req_evt(tBTA_DM_SP_CFM_REQ* p_ssp_cfm_req) { /* If JustWorks auto-accept */ if (p_ssp_cfm_req->just_works) { /* Pairing consent for JustWorks needed if: * 1. Incoming (non-temporary) pairing is detected AND * 2. local IO capabilities are DisplayYesNo AND * 3. remote IO capabiltiies are DisplayOnly or NoInputNoOutput; /* Pairing consent for JustWorks NOT needed if: * 1. Incoming temporary pairing is detected */ if (is_incoming && pairing_cb.bond_type != BOND_TYPE_TEMPORARY && ((p_ssp_cfm_req->loc_io_caps == HCI_IO_CAP_DISPLAY_YESNO) && (p_ssp_cfm_req->rmt_io_caps == HCI_IO_CAP_DISPLAY_ONLY || p_ssp_cfm_req->rmt_io_caps == HCI_IO_CAP_NO_IO))) { if (is_incoming && pairing_cb.bond_type == BOND_TYPE_TEMPORARY) { BTIF_TRACE_EVENT( "%s: User consent needed for incoming pairing request. loc_io_caps: " "%d, rmt_io_caps: %d", __func__, p_ssp_cfm_req->loc_io_caps, p_ssp_cfm_req->rmt_io_caps); } else { BTIF_TRACE_EVENT("%s: Auto-accept JustWorks pairing", __func__); "%s: Auto-accept JustWorks pairing for temporary incoming", __func__); btif_dm_ssp_reply(&bd_addr, BT_SSP_VARIANT_CONSENT, true, 0); return; } Loading Loading
system/bta/av/bta_av_aact.cc +5 −5 Original line number Diff line number Diff line Loading @@ -3079,14 +3079,14 @@ void bta_av_open_at_inc(tBTA_AV_SCB* p_scb, tBTA_AV_DATA* p_data) { } void offload_vendor_callback(tBTM_VSC_CMPL* param) { uint8_t status = 0; tBTA_AV value{0}; uint8_t sub_opcode = 0; if (param->param_len) { APPL_TRACE_DEBUG("%s: param_len = %d status = %d", __func__, param->param_len, param->p_param_buf[0]); status = param->p_param_buf[0]; value.status = param->p_param_buf[0]; } if (status == 0) { if (value.status == 0) { sub_opcode = param->p_param_buf[1]; APPL_TRACE_DEBUG("%s: subopcode = %d", __func__, sub_opcode); switch (sub_opcode) { Loading @@ -3094,7 +3094,7 @@ void offload_vendor_callback(tBTM_VSC_CMPL* param) { APPL_TRACE_DEBUG("%s: VS_HCI_STOP_A2DP_MEDIA successful", __func__); break; case VS_HCI_A2DP_OFFLOAD_START: (*bta_av_cb.p_cback)(BTA_AV_OFFLOAD_START_RSP_EVT, (tBTA_AV*)&status); (*bta_av_cb.p_cback)(BTA_AV_OFFLOAD_START_RSP_EVT, &value); break; default: break; Loading @@ -3103,7 +3103,7 @@ void offload_vendor_callback(tBTM_VSC_CMPL* param) { APPL_TRACE_DEBUG("%s: Offload failed for subopcode= %d", __func__, sub_opcode); if (param->opcode != VS_HCI_A2DP_OFFLOAD_STOP) (*bta_av_cb.p_cback)(BTA_AV_OFFLOAD_START_RSP_EVT, (tBTA_AV*)&status); (*bta_av_cb.p_cback)(BTA_AV_OFFLOAD_START_RSP_EVT, &value); } } Loading
system/btcore/src/device_class.cc +3 −1 Original line number Diff line number Diff line Loading @@ -88,7 +88,9 @@ void device_class_from_int(bt_device_class_t* dc, int data) { int device_class_to_int(const bt_device_class_t* dc) { CHECK(dc != NULL); // Careful with endianess. return (int)(le32toh(*(int*)dc) & 0xffffff); int val = 0; memcpy(&val, dc, sizeof(*dc)); return static_cast<int>(le32toh(val) & 0xffffff); } bool device_class_equals(const bt_device_class_t* p1, Loading
system/btcore/test/device_class_test.cc +24 −15 Original line number Diff line number Diff line Loading @@ -22,9 +22,6 @@ #include "btcore/include/device_class.h" // Device Class is 3 bytes. static const int DC_MASK = 0xffffff; ::testing::AssertionResult check_bitfield(const char* m_expr, const char* n_expr, int m, int n) { if (m == n) return ::testing::AssertionSuccess(); Loading Loading @@ -84,8 +81,9 @@ TEST_F(DeviceClassTest, to_stream) { int rc = device_class_to_stream(&dc, dc_stream1, sizeof(dc_stream1)); EXPECT_EQ(3, rc); uint32_t* val = (uint32_t*)&dc; EXPECT_PRED_FORMAT2(check_bitfield, 0x00000000, *val & 0xffffff); uint32_t val = 0; memcpy(&val, &dc, sizeof(dc)); EXPECT_PRED_FORMAT2(check_bitfield, 0x00000000, val); EXPECT_PRED_FORMAT2(check_bitfield, 0x00, dc_stream1[0]); EXPECT_PRED_FORMAT2(check_bitfield, 0x00, dc_stream1[1]); Loading @@ -101,8 +99,9 @@ TEST_F(DeviceClassTest, to_stream) { int rc = device_class_to_stream(&dc, dc_stream1, sizeof(dc_stream1)); EXPECT_EQ(3, rc); uint32_t* val = (uint32_t*)&dc; EXPECT_PRED_FORMAT2(check_bitfield, 0x00aa55aa, *val & 0xffffff); uint32_t val = 0; memcpy(&val, &dc, sizeof(dc)); EXPECT_PRED_FORMAT2(check_bitfield, 0x00aa55aa, val); EXPECT_PRED_FORMAT2(check_bitfield, 0xaa, dc_stream1[0]); EXPECT_PRED_FORMAT2(check_bitfield, 0x55, dc_stream1[1]); Loading @@ -118,8 +117,9 @@ TEST_F(DeviceClassTest, to_stream) { int rc = device_class_to_stream(&dc, dc_stream1, sizeof(dc_stream1)); EXPECT_EQ(3, rc); uint32_t* val = (uint32_t*)&dc; EXPECT_PRED_FORMAT2(check_bitfield, 0x452301, *val & 0xffffff); uint32_t val = 0; memcpy(&val, &dc, sizeof(dc)); EXPECT_PRED_FORMAT2(check_bitfield, 0x452301, val); EXPECT_PRED_FORMAT2(check_bitfield, 0x01, dc_stream1[0]); EXPECT_PRED_FORMAT2(check_bitfield, 0x23, dc_stream1[1]); Loading @@ -131,24 +131,33 @@ TEST_F(DeviceClassTest, limited_discoverable_mode) { uint8_t dc_stream[] = {0x00, 0x00, 0x00}; bt_device_class_t dc; device_class_from_stream(&dc, dc_stream); uint32_t* test = (uint32_t*)&dc; uint32_t test = 0; memcpy(&test, &dc, sizeof(dc)); EXPECT_FALSE(device_class_get_limited(&dc)); EXPECT_EQ((unsigned)0x00000000, *test & DC_MASK); EXPECT_EQ((unsigned)0x00000000, test); device_class_set_limited(&dc, true); test = 0; memcpy(&test, &dc, sizeof(dc)); EXPECT_TRUE(device_class_get_limited(&dc)); EXPECT_EQ((unsigned)0x00002000, *test & DC_MASK); EXPECT_EQ((unsigned)0x00002000, test); device_class_set_limited(&dc, false); test = 0; memcpy(&test, &dc, sizeof(dc)); EXPECT_FALSE(device_class_get_limited(&dc)); EXPECT_EQ((unsigned)0x00000000, *test & DC_MASK); EXPECT_EQ((unsigned)0x00000000, test); device_class_set_limited(&dc, true); EXPECT_PRED_FORMAT2(check_bitfield, 0x00002000, *test & DC_MASK); test = 0; memcpy(&test, &dc, sizeof(dc)); EXPECT_PRED_FORMAT2(check_bitfield, 0x00002000, test); device_class_set_limited(&dc, false); EXPECT_PRED_FORMAT2(check_bitfield, 0x00000000, *test & DC_MASK); test = 0; memcpy(&test, &dc, sizeof(dc)); EXPECT_PRED_FORMAT2(check_bitfield, 0x00000000, test); } TEST_F(DeviceClassTest, equals) { Loading
system/btif/include/btif_keystore.h +0 −8 Original line number Diff line number Diff line Loading @@ -59,14 +59,6 @@ class BtifKeystore { */ std::string Decrypt(const std::string& input_filename); /** * Check for existence of keystore key. * * This key can be cleared if a user manually wipes bluetooth storage data * b/133214365 */ bool DoesKeyExist(); private: std::unique_ptr<keystore::KeystoreClient> keystore_client_; std::mutex api_mutex_; Loading
system/btif/src/btif_dm.cc +4 −13 Original line number Diff line number Diff line Loading @@ -973,21 +973,12 @@ static void btif_dm_ssp_cfm_req_evt(tBTA_DM_SP_CFM_REQ* p_ssp_cfm_req) { /* If JustWorks auto-accept */ if (p_ssp_cfm_req->just_works) { /* Pairing consent for JustWorks needed if: * 1. Incoming (non-temporary) pairing is detected AND * 2. local IO capabilities are DisplayYesNo AND * 3. remote IO capabiltiies are DisplayOnly or NoInputNoOutput; /* Pairing consent for JustWorks NOT needed if: * 1. Incoming temporary pairing is detected */ if (is_incoming && pairing_cb.bond_type != BOND_TYPE_TEMPORARY && ((p_ssp_cfm_req->loc_io_caps == HCI_IO_CAP_DISPLAY_YESNO) && (p_ssp_cfm_req->rmt_io_caps == HCI_IO_CAP_DISPLAY_ONLY || p_ssp_cfm_req->rmt_io_caps == HCI_IO_CAP_NO_IO))) { if (is_incoming && pairing_cb.bond_type == BOND_TYPE_TEMPORARY) { BTIF_TRACE_EVENT( "%s: User consent needed for incoming pairing request. loc_io_caps: " "%d, rmt_io_caps: %d", __func__, p_ssp_cfm_req->loc_io_caps, p_ssp_cfm_req->rmt_io_caps); } else { BTIF_TRACE_EVENT("%s: Auto-accept JustWorks pairing", __func__); "%s: Auto-accept JustWorks pairing for temporary incoming", __func__); btif_dm_ssp_reply(&bd_addr, BT_SSP_VARIANT_CONSENT, true, 0); return; } Loading