Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c2b1ede4 authored by Sal Savage's avatar Sal Savage
Browse files

Use proper device root node IDs in map

The ID for a device level node is __ROOT__<device> but we were adding it
to the node map as simply "__ROOT__".

Tag: #stability
Bug: 282017538
Test: atest BluetoothInstrumentationTests
Change-Id: Ie81b28e3f21fccb9ab21d0c15c5a2c64de740e2a
parent 2e39add5
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -97,7 +97,7 @@ public class BrowseTree {
                .setBrowsable(true).build());
        mNowPlayingNode.mBrowseScope = AvrcpControllerService.BROWSE_SCOPE_NOW_PLAYING;
        mNowPlayingNode.setExpectedChildren(DEFAULT_FOLDER_SIZE);
        mBrowseMap.put(ROOT, mRootNode);
        mBrowseMap.put(mRootNode.getID(), mRootNode);
        mBrowseMap.put(NOW_PLAYING_PREFIX, mNowPlayingNode);

        mCurrentBrowseNode = mRootNode;
+15 −15
Original line number Diff line number Diff line
@@ -684,12 +684,12 @@ public class AvrcpControllerStateMachineTest {
    @FlakyTest
    public void testBrowsingCommands() {
        setUpConnectedState(true, true);
        final String rootName = "__ROOT__";
        final String rootName = "__ROOT__" + mTestDevice.getAddress().toString();
        final String playerName = "Player 1";

        //Get the root of the device
        BrowseTree.BrowseNode results = mAvrcpStateMachine.findNode(rootName);
        Assert.assertEquals(rootName + mTestDevice.getAddress(), results.getID());
        Assert.assertEquals(rootName, results.getID());

        //Request fetch the list of players
        BrowseTree.BrowseNode playerNodes = mAvrcpStateMachine.findNode(results.getID());
@@ -735,7 +735,7 @@ public class AvrcpControllerStateMachineTest {
    @Test
    public void testAvailablePlayersChanged() {
        setUpConnectedState(true, true);
        final String rootName = "__ROOT__";
        final String rootName = "__ROOT__" + mTestDevice.getAddress().toString();

        // Send an available players have changed event
        mAvrcpStateMachine.sendMessage(
@@ -755,7 +755,7 @@ public class AvrcpControllerStateMachineTest {
    @Test
    public void testAvailablePlayersReceived_AddressedPlayerExists() {
        setUpConnectedState(true, true);
        final String rootName = "__ROOT__";
        final String rootName = "__ROOT__" + mTestDevice.getAddress().toString();

        // Set an addressed player that will be in the available players set. A new player triggers
        // a now playing list download, so send back nothing.
@@ -821,7 +821,7 @@ public class AvrcpControllerStateMachineTest {
    @Test
    public void testAvailablePlayersReceived_AddressedPlayerDoesNotExist() {
        setUpConnectedState(true, true);
        final String rootName = "__ROOT__";
        final String rootName = "__ROOT__" + mTestDevice.getAddress().toString();

        // Send an available players have changed event
        mAvrcpStateMachine.sendMessage(
@@ -876,11 +876,11 @@ public class AvrcpControllerStateMachineTest {
    @Test
    public void testAddressedPlayerChangedToNewKnownPlayer() {
        setUpConnectedState(true, true);
        final String rootName = "__ROOT__";
        final String rootName = "__ROOT__" + mTestDevice.getAddress().toString();

        //Get the root of the device
        BrowseTree.BrowseNode results = mAvrcpStateMachine.findNode(rootName);
        Assert.assertEquals(rootName + mTestDevice.getAddress(), results.getID());
        Assert.assertEquals(rootName, results.getID());

        //Request fetch the list of players
        BrowseTree.BrowseNode playerNodes = mAvrcpStateMachine.findNode(results.getID());
@@ -942,11 +942,11 @@ public class AvrcpControllerStateMachineTest {
    @Test
    public void testAddressedPlayerChangedToUnknownPlayer() {
        setUpConnectedState(true, true);
        final String rootName = "__ROOT__";
        final String rootName = "__ROOT__" + mTestDevice.getAddress().toString();

        //Get the root of the device
        BrowseTree.BrowseNode rootNode = mAvrcpStateMachine.findNode(rootName);
        Assert.assertEquals(rootName + mTestDevice.getAddress(), rootNode.getID());
        Assert.assertEquals(rootName, rootNode.getID());

        //Request fetch the list of players
        BrowseTree.BrowseNode playerNodes = mAvrcpStateMachine.findNode(rootNode.getID());
@@ -991,7 +991,7 @@ public class AvrcpControllerStateMachineTest {
    @Test
    public void testAddressedPlayerChangedToSamePlayerId() {
        setUpConnectedState(true, true);
        final String rootName = "__ROOT__";
        final String rootName = "__ROOT__" + mTestDevice.getAddress().toString();

        // Set the addressed player so we can change to the same one
        mAvrcpStateMachine.sendMessage(
@@ -1005,7 +1005,7 @@ public class AvrcpControllerStateMachineTest {

        //Get the root of the device
        BrowseTree.BrowseNode rootNode = mAvrcpStateMachine.findNode(rootName);
        Assert.assertEquals(rootName + mTestDevice.getAddress(), rootNode.getID());
        Assert.assertEquals(rootName, rootNode.getID());

        //Request fetch the list of players
        BrowseTree.BrowseNode playerNodes = mAvrcpStateMachine.findNode(rootNode.getID());
@@ -1065,12 +1065,12 @@ public class AvrcpControllerStateMachineTest {
    @Test
    public void testPlayWhileBrowsing() {
        setUpConnectedState(true, true);
        final String rootName = "__ROOT__";
        final String rootName = "__ROOT__" + mTestDevice.getAddress().toString();
        final String playerName = "Player 1";

        //Get the root of the device
        BrowseTree.BrowseNode results = mAvrcpStateMachine.findNode(rootName);
        Assert.assertEquals(rootName + mTestDevice.getAddress(), results.getID());
        Assert.assertEquals(rootName, results.getID());

        //Request fetch the list of players
        BrowseTree.BrowseNode playerNodes = mAvrcpStateMachine.findNode(results.getID());
@@ -1880,7 +1880,7 @@ public class AvrcpControllerStateMachineTest {
     */
    @Test
    public void testBrowseRequestWhileDisconnected_requestDropped() {
        final String rootName = "__ROOT__";
        final String rootName = "__ROOT__" + mTestDevice.getAddress().toString();
        setUpConnectedState(true, false);
        sendAudioFocusUpdate(AudioManager.AUDIOFOCUS_GAIN);
        clearInvocations(mAvrcpControllerService);
@@ -1896,7 +1896,7 @@ public class AvrcpControllerStateMachineTest {
     */
    @Test
    public void testBrowseRequestWhileDisconnectedThenRequestWhileConnected_secondRequestSent() {
        final String rootName = "__ROOT__";
        final String rootName = "__ROOT__" + mTestDevice.getAddress().toString();
        setUpConnectedState(true, false);
        sendAudioFocusUpdate(AudioManager.AUDIOFOCUS_GAIN);
        clearInvocations(mAvrcpControllerService);
+14 −3
Original line number Diff line number Diff line
@@ -90,11 +90,22 @@ public class BrowseTreeTest {
    }

    @Test
    public void findBrowseNodeByID() {
    public void findBrowseNodeByIDForRoot() {
        BrowseTree browseTree = new BrowseTree(null);
        assertThat(browseTree.findBrowseNodeByID(BrowseTree.ROOT)).isEqualTo(browseTree.mRootNode);
    }

    @Test
    public void findBrowseNodeByIDForDevice() {
        BrowseTree browseTree = new BrowseTree(mTestDevice);
        final String deviceId = BrowseTree.ROOT + mTestDevice.getAddress().toString();
        assertThat(browseTree.findBrowseNodeByID(deviceId)).isEqualTo(browseTree.mRootNode);
    }

    @Test
    public void findBrowseNodeByIDForIllegalId() {
        BrowseTree browseTree = new BrowseTree(mTestDevice);
        assertThat(browseTree.findBrowseNodeByID(ILLEGAL_ID)).isNull();
        assertThat(browseTree.findBrowseNodeByID(BrowseTree.ROOT)).isEqualTo(browseTree.mRootNode);
    }

    @Test