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

Commit aedd0dfa authored by Treehugger Robot's avatar Treehugger Robot Committed by Gerrit Code Review
Browse files

Merge "Print browse tree in dump by default" into main

parents fe089490 1c52baf7
Loading
Loading
Loading
Loading
+3 −11
Original line number Diff line number Diff line
@@ -908,10 +908,7 @@ public class AvrcpControllerService extends ProfileService {
     */
    public synchronized boolean disconnect(BluetoothDevice device) {
        if (DBG) {
            StringBuilder sb = new StringBuilder();
            dump(sb);
            Log.d(TAG, "MAP disconnect device: " + device
                    + ", InstanceMap start state: " + sb.toString());
            Log.d(TAG, "disconnect(device=" + device + ")");
        }
        AvrcpControllerStateMachine stateMachine = mDeviceStateMap.get(device);
        // a map state machine instance doesn't exist. maybe it is already gone?
@@ -924,12 +921,6 @@ public class AvrcpControllerService extends ProfileService {
            return false;
        }
        stateMachine.disconnect();
        if (DBG) {
            StringBuilder sb = new StringBuilder();
            dump(sb);
            Log.d(TAG, "MAP disconnect device: " + device
                    + ", InstanceMap start state: " + sb.toString());
        }
        return true;
    }

@@ -1005,7 +996,8 @@ public class AvrcpControllerService extends ProfileService {
                    "==== StateMachine for " + stateMachine.getDevice() + " ====");
            stateMachine.dump(sb);
        }
        sb.append("\n  sBrowseTree: " + sBrowseTree.toString());
        sb.append("\n  BrowseTree:\n");
        sBrowseTree.dump(sb);

        sb.append("\n  Cover Artwork Enabled: " + (mCoverArtEnabled ? "True" : "False"));
        if (mCoverArtManager != null) {
+27 −20
Original line number Diff line number Diff line
@@ -29,6 +29,7 @@ import java.util.ArrayList;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Objects;
import java.util.Set;
import java.util.UUID;

@@ -140,6 +141,7 @@ public class BrowseTree {
        private int mExpectedChildrenCount;

        BrowseNode(AvrcpItem item) {
            Objects.requireNonNull(item, "Cannot have a browse node with a null item");
            mItem = item;
        }

@@ -337,19 +339,21 @@ public class BrowseTree {
            return getID().equals(otherNode.getID());
        }

        @Override
        public synchronized String toString() {
            if (VDBG) {
                String serialized = "[ Name: " + mItem.getTitle()
                        + " Scope:" + mBrowseScope + " expected Children: "
                        + mExpectedChildrenCount + "] ";
        public synchronized void toTreeString(int depth, StringBuilder sb) {
            for (int i = 0; i <= depth; i++) {
                sb.append("  ");
            }
            sb.append(toString() + "\n");
            for (BrowseNode node : mChildren) {
                    serialized += node.toString();
                node.toTreeString(depth + 1, sb);
            }
                return serialized;
            } else {
                return "ID: " + getID();
        }

        @Override
        public synchronized String toString() {
            return "[Id: " + getID()
                    + " Name: " + getMediaItem().getDescription().getTitle()
                    + " Size: " + mChildren.size() + "]";
        }

        // Returns true if target is a descendant of this.
@@ -495,18 +499,21 @@ public class BrowseTree {
        return parents;
    }


    @Override
    public String toString() {
        String serialized = "Size: " + mBrowseMap.size();
        if (VDBG) {
            serialized += mRootNode.toString();
            serialized += "\n  Image handles in use (" + mCoverArtMap.size() + "):";
    /**
     * Dump the state of the AVRCP browse tree
     */
    public void dump(StringBuilder sb) {
        mRootNode.toTreeString(0, sb);
        sb.append("\n  Image handles in use (" + mCoverArtMap.size() + "):");
        for (String handle : mCoverArtMap.keySet()) {
                serialized += "\n    " + handle + "\n";
            sb.append("\n    " + handle);
        }
        sb.append("\n");
    }
        return serialized;

    @Override
    public String toString() {
        return "[BrowseTree size=" + mBrowseMap.size() + "]";
    }

    // Calculates the path to target node.
+40 −4
Original line number Diff line number Diff line
@@ -38,6 +38,7 @@ import java.util.List;
public class BrowseNodeTest {
    private static final int TEST_PLAYER_ID = 1;
    private static final String TEST_UUID = "1111";
    private static final String TEST_NAME = "item";

    private final byte[] mTestAddress = new byte[]{01, 01, 01, 01, 01, 01};
    private BluetoothAdapter mAdapter;
@@ -181,11 +182,46 @@ public class BrowseNodeTest {
        assertThat(mRootNode.isDescendant(browseNode)).isTrue();
    }

    @Test
    public void toTreeString_returnFormattedString() {
        final String expected = "  [Id: 1111 Name: item Size: 2]\n"
                + "    [Id: child1 Name: child1 Size: 1]\n"
                + "      [Id: child3 Name: child3 Size: 0]\n"
                + "    [Id: child2 Name: child2 Size: 0]\n";

        BrowseNode browseNode = mBrowseTree.new BrowseNode(new AvrcpItem.Builder()
                .setUuid(TEST_UUID)
                .setDisplayableName(TEST_NAME)
                .build());
        BrowseNode childNode1 = mBrowseTree.new BrowseNode(new AvrcpItem.Builder()
                .setUuid("child1")
                .setDisplayableName("child1")
                .build());
        BrowseNode childNode2 = mBrowseTree.new BrowseNode(new AvrcpItem.Builder()
                .setUuid("child2")
                .setDisplayableName("child2")
                .build());
        BrowseNode childNode3 = mBrowseTree.new BrowseNode(new AvrcpItem.Builder()
                .setUuid("child3")
                .setDisplayableName("child3")
                .build());
        childNode1.addChild(childNode3);
        browseNode.addChild(childNode1);
        browseNode.addChild(childNode2);

        StringBuilder sb = new StringBuilder();
        browseNode.toTreeString(0, sb);
        assertThat(sb.toString()).isEqualTo(expected);
    }

    @Test
    public void toString_returnsId() {
        BrowseNode browseNode = mBrowseTree.new BrowseNode(
                new AvrcpItem.Builder().setUuid(TEST_UUID).build());
        BrowseNode browseNode = mBrowseTree.new BrowseNode(new AvrcpItem.Builder()
                .setUuid(TEST_UUID)
                .setDisplayableName(TEST_NAME)
                .build());

        assertThat(browseNode.toString()).isEqualTo("ID: " + TEST_UUID);
        assertThat(browseNode.toString()).isEqualTo(
                "[Id: " + TEST_UUID + " Name: " + TEST_NAME + " Size: 0]");
    }
}
+2 −2
Original line number Diff line number Diff line
@@ -207,7 +207,7 @@ public class BrowseTreeTest {
    @Test
    public void toString_returnsSizeInfo() {
        BrowseTree browseTree = new BrowseTree(mTestDevice);

        assertThat(browseTree.toString()).isEqualTo("Size: " + browseTree.mBrowseMap.size());
        assertThat(browseTree.toString()).isEqualTo(
                "[BrowseTree size=" + browseTree.mBrowseMap.size() + "]");
    }
}