Loading system/packet/tests/avrcp/avrcp_test_packets.h +4 −0 Original line number Diff line number Diff line Loading @@ -316,6 +316,10 @@ std::vector<uint8_t> set_addressed_player_response = { std::vector<uint8_t> set_browsed_player_request = {0x70, 0x00, 0x02, 0x00, 0x02}; // AVRCP Set Browsed Player Request with player_id = 0 std::vector<uint8_t> set_browsed_player_id_0_request = {0x70, 0x00, 0x02, 0x00, 0x00}; // AVRCP Set Browsed Player Response with num items = 4 and depth = 0 std::vector<uint8_t> set_browsed_player_response = { 0x70, 0x00, 0x0a, 0x04, 0x00, 0x00, 0x00, Loading system/profile/avrcp/device.cc +8 −0 Original line number Diff line number Diff line Loading @@ -1257,6 +1257,14 @@ void Device::SetBrowsedPlayerResponse( return; } if (pkt->GetPlayerId() == 0 && num_items == 0) { // Response fail if no browsable player in Bluetooth Player auto response = SetBrowsedPlayerResponseBuilder::MakeBuilder( Status::PLAYER_NOT_BROWSABLE, 0x0000, num_items, 0, ""); send_message(label, true, std::move(response)); return; } curr_browsed_player_id_ = pkt->GetPlayerId(); // Clear the path and push the new root. Loading system/profile/avrcp/tests/avrcp_device_test.cc +38 −0 Original line number Diff line number Diff line Loading @@ -1035,6 +1035,44 @@ TEST_F(AvrcpDeviceTest, setAddressedPlayerTest) { SendMessage(1, request); } TEST_F(AvrcpDeviceTest, setBrowsedPlayerTest) { MockMediaInterface interface; NiceMock<MockA2dpInterface> a2dp_interface; test_device->RegisterInterfaces(&interface, &a2dp_interface, nullptr); EXPECT_CALL(interface, SetBrowsedPlayer(_, _)) .Times(3) .WillOnce(InvokeCb<1>(true, "", 0)) .WillOnce(InvokeCb<1>(false, "", 0)) .WillOnce(InvokeCb<1>(true, "", 2)); auto not_browsable_rsp = SetBrowsedPlayerResponseBuilder::MakeBuilder( Status::PLAYER_NOT_BROWSABLE, 0x0000, 0, 0, ""); EXPECT_CALL(response_cb, Call(1, true, matchPacket(std::move(not_browsable_rsp)))) .Times(1); auto player_id_0_request = TestBrowsePacket::Make(set_browsed_player_id_0_request); SendBrowseMessage(1, player_id_0_request); auto invalid_id_rsp = SetBrowsedPlayerResponseBuilder::MakeBuilder( Status::INVALID_PLAYER_ID, 0x0000, 0, 0, ""); EXPECT_CALL(response_cb, Call(2, true, matchPacket(std::move(invalid_id_rsp)))) .Times(1); SendBrowseMessage(2, player_id_0_request); auto response = SetBrowsedPlayerResponseBuilder::MakeBuilder( Status::NO_ERROR, 0x0000, 2, 0, ""); EXPECT_CALL(response_cb, Call(3, true, matchPacket(std::move(response)))) .Times(1); SendBrowseMessage(3, player_id_0_request); } TEST_F(AvrcpDeviceTest, volumeChangedTest) { MockMediaInterface interface; NiceMock<MockA2dpInterface> a2dp_interface; Loading Loading
system/packet/tests/avrcp/avrcp_test_packets.h +4 −0 Original line number Diff line number Diff line Loading @@ -316,6 +316,10 @@ std::vector<uint8_t> set_addressed_player_response = { std::vector<uint8_t> set_browsed_player_request = {0x70, 0x00, 0x02, 0x00, 0x02}; // AVRCP Set Browsed Player Request with player_id = 0 std::vector<uint8_t> set_browsed_player_id_0_request = {0x70, 0x00, 0x02, 0x00, 0x00}; // AVRCP Set Browsed Player Response with num items = 4 and depth = 0 std::vector<uint8_t> set_browsed_player_response = { 0x70, 0x00, 0x0a, 0x04, 0x00, 0x00, 0x00, Loading
system/profile/avrcp/device.cc +8 −0 Original line number Diff line number Diff line Loading @@ -1257,6 +1257,14 @@ void Device::SetBrowsedPlayerResponse( return; } if (pkt->GetPlayerId() == 0 && num_items == 0) { // Response fail if no browsable player in Bluetooth Player auto response = SetBrowsedPlayerResponseBuilder::MakeBuilder( Status::PLAYER_NOT_BROWSABLE, 0x0000, num_items, 0, ""); send_message(label, true, std::move(response)); return; } curr_browsed_player_id_ = pkt->GetPlayerId(); // Clear the path and push the new root. Loading
system/profile/avrcp/tests/avrcp_device_test.cc +38 −0 Original line number Diff line number Diff line Loading @@ -1035,6 +1035,44 @@ TEST_F(AvrcpDeviceTest, setAddressedPlayerTest) { SendMessage(1, request); } TEST_F(AvrcpDeviceTest, setBrowsedPlayerTest) { MockMediaInterface interface; NiceMock<MockA2dpInterface> a2dp_interface; test_device->RegisterInterfaces(&interface, &a2dp_interface, nullptr); EXPECT_CALL(interface, SetBrowsedPlayer(_, _)) .Times(3) .WillOnce(InvokeCb<1>(true, "", 0)) .WillOnce(InvokeCb<1>(false, "", 0)) .WillOnce(InvokeCb<1>(true, "", 2)); auto not_browsable_rsp = SetBrowsedPlayerResponseBuilder::MakeBuilder( Status::PLAYER_NOT_BROWSABLE, 0x0000, 0, 0, ""); EXPECT_CALL(response_cb, Call(1, true, matchPacket(std::move(not_browsable_rsp)))) .Times(1); auto player_id_0_request = TestBrowsePacket::Make(set_browsed_player_id_0_request); SendBrowseMessage(1, player_id_0_request); auto invalid_id_rsp = SetBrowsedPlayerResponseBuilder::MakeBuilder( Status::INVALID_PLAYER_ID, 0x0000, 0, 0, ""); EXPECT_CALL(response_cb, Call(2, true, matchPacket(std::move(invalid_id_rsp)))) .Times(1); SendBrowseMessage(2, player_id_0_request); auto response = SetBrowsedPlayerResponseBuilder::MakeBuilder( Status::NO_ERROR, 0x0000, 2, 0, ""); EXPECT_CALL(response_cb, Call(3, true, matchPacket(std::move(response)))) .Times(1); SendBrowseMessage(3, player_id_0_request); } TEST_F(AvrcpDeviceTest, volumeChangedTest) { MockMediaInterface interface; NiceMock<MockA2dpInterface> a2dp_interface; Loading