I am working on creating cross-platform apps (iOS and Android) that will functionally match a web application that I have in production at https://www.hatchpedia.com.
The application allows users to identify insects by searching with layman's terms, and displays curated result sets which include photos of the phases of each insect. The photos are organized in folders that reflect their taxonomy and phase, here's a couple examples, listed alphabetically which I believe is important re my issue/question:
/images/creatures/ephemeroptera/ameletidae/ameletus/celer/imago.jpg /images/creatures/ephemeroptera/ameletidae/ameletus/celer/nymph.jpg /images/creatures/ephemeroptera/ameletidae/ameletus/celer/sub-imago.jpg
/images/creatures/ephemeroptera/ephemerellidae/ephemerella/dorothea-dorothea/imago.jpg /images/creatures/ephemeroptera/ephemerellidae/ephemerella/dorothea-dorothea/nymph.jpg /images/creatures/ephemeroptera/ephemerellidae/ephemerella/dorothea-dorothea/sub-imago.jpg
And, here's a code snip:
ListView stagesList = new();
foreach (CreatureStage stage in creature.CreatureStages)
{
stagesList.Items.Add(new Image { Source = $"ms-appx:///Assets/{stage.ThumbnailPath}", });
}
On iOS the display is correct, it shows the correct photos associated with each insect. I've verified that the path that is being set is absolutely correct.
However, on Android, every single insect is displaying photos of Ameletus celer. Alphabetically, it is the first set of images that have the names "imago.jpg" "nymph.jpg" and "sub-imago.jpg" - it's as if the directory structure is being entirely ignored and that the Assets, when imported into Android, behave differently.
There are a bit over 1,000 photos associated with the app. But, all insects show the same photos of Ameletus celer on Android. Pulling my hair out.
Here is a little version info and so forth in case it is in some way pertinent, though I doubt that it is: Uno.Extensions.Logging.OSLog 1.4.0 Uno.UI version 4.3.8 Uno.UI.Adapter.Microsoft.Extensions.Logging 4.3.8 Uno.UI.RemoteControl 4.3.8 Uno.UniversalImageLoader 1.9.36
I've tried to inspect using the debugger and am unable to drill in and find anything useful / telling.
Any help understanding what is going on with Android would be greatly appreciated.
This should be fixed in the Uno.UI version 4.5-dev.56 and newer (prerelease). See on NuGet here. The PR which addressed the problem was merged a few days ago here.