OPML exporter skips groups
When exporting to OPML only sources outside groups get exported.
I have never written a line of Kotlin but it seems to me that you're "sort-of" looping through the children of the feed. It looks a little off to me, but I guess it's a quick fix for a person decently well versed in kotlin.
I have all my feeds inside groups, and just tried to OPML-export from my phone to add them to a new tablet so I could read on either device; obviously, that did not work. :-)
The export just has the groups, but none of the actual feeds in it.
That loop you point to explicitly fails to parse feeds in groups, since there's no else case on the "if (!feed.isGroup". I also don't know Kotlin, so I don't know how best to restructure that loop to catch feeds that are inside of groups.
I would dearly love to have this fixed.
Flattening a multi-dimensional array is not primitive in Kotlin, but there's a workaround at https://stackoverflow.com/questions/41468727/flatten-array-in-kotlin.
So feeding the result of that function on feeds into the call to map would probably work?