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
This commit is contained in:
parent
742fc190c8
commit
04398a9b23
1 changed files with 11 additions and 3 deletions
|
@ -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;
|
||||
|
|
Loading…
Reference in a new issue