NeoStation Beta 0.8.2+97
fix(launcher): resolve content:// to file:// for imagine-engine emulators
Imagine-engine emulators (com.explusalpha.*) derive save-state and BIOS
paths from the ROM's filesystem location. Receiving a content:// URI
lets them open the ROM but they cannot compute a valid directory from
it, causing errors like game.fcs: no such file or directory.
Resolve to file:// before setting intent data when the URI maps to
accessible storage. Falls back to content:// for network-hosted ROMs.
fix(launcher): grant SAF read permissions to sibling track files
Standalone emulators (Flycast, Redream, Reicast) receive only the
.cue/.gdi URI permission on launch. When they parse the descriptor
and attempt to open the referenced .bin tracks, Android denies
access because no grant exists for those sibling files.
grantSiblingTrackPermissions() queries the SAF parent directory and
grants FLAG_GRANT_READ_URI_PERMISSION for files that share the same
base name or whose name starts with the master base name, covering
both single-binary (game.bin) and multi-track (game Track 01.bin)
layouts without over-granting to unrelated games in the same folder.
refactor(ui): migrate all icons from Material Icons to Material Symbols Rounded
Icons.xxx replaced with Symbols.xxx_rounded across 52 files.
material_symbols_icons ^4.2928.1 added to pubspec.yaml.
Rounded style applied consistently, sharper at small sizes, better
contrast against dark backgrounds used throughout the UI.