From f81ef6a4163a7d54e06d728bd1e71e591b672970 Mon Sep 17 00:00:00 2001 From: Imran Remtulla Date: Fri, 25 Nov 2022 20:35:51 -0500 Subject: [PATCH] Search results now interleaved on Add App page --- lib/pages/add_app.dart | 31 +++++++++++++++---------------- 1 file changed, 15 insertions(+), 16 deletions(-) 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 ? []