diff --git a/lib/pages/add_app.dart b/lib/pages/add_app.dart index 1b7bce2..528237f 100644 --- a/lib/pages/add_app.dart +++ b/lib/pages/add_app.dart @@ -237,22 +237,21 @@ class _AddAppPageState extends State { .map((e) => e.search(searchQuery))) .then((results) async { - var res = // TODO: Interleave results - results.reduce((value, element) { - value.addAll(element); - return value; - }); - // Map res = {}; - // var si = 0; - // var done = false; - // for (var r in results) { - // if (r.length > si) { - // res.addEntries(r.entries.toList()[si]); - // } - // } - // for (var rs in results) { - // for (var r in rs.entries) {} - // } + // Interleave results instead of simple reduce + Map res = {}; + var si = 0; + var done = false; + while (!done) { + done = true; + for (var r in results) { + if (r.length > si) { + done = false; + res.addEntries( + [r.entries.elementAt(si)]); + } + } + si++; + } List? selectedUrls = res .isEmpty ? []