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

Commit 04398a9b authored by Artem Iglikov's avatar Artem Iglikov
Browse files

Sort devices list before output.

Makes copy of the transport list and sorts it by type and serial before
printing.

Bug: 70748433
Test: adb devices displays all connected devices
Change-Id: I917728a102972f2f38f2e370a0c6011c1eb883c7
parent 742fc190
Loading
Loading
Loading
Loading
+11 −3
Original line number Diff line number Diff line
@@ -952,10 +952,18 @@ static void append_transport(const atransport* t, std::string* result, bool long
}

std::string list_transports(bool long_listing) {
    std::string result;

    std::lock_guard<std::recursive_mutex> lock(transport_lock);
    for (const auto& t : transport_list) {

    auto sorted_transport_list = transport_list;
    sorted_transport_list.sort([](atransport*& x, atransport*& y) {
        if (x->type != y->type) {
            return x->type < y->type;
        }
        return strcmp(x->serial, y->serial) < 0;
    });

    std::string result;
    for (const auto& t : sorted_transport_list) {
        append_transport(t, &result, long_listing);
    }
    return result;