087486d253
android / Build + lint + test (push) Failing after 2m39s
Bluetooth slice (2/5). Hilt singleton over androidx.mediarouter. Owns the callback lifecycle (passive at process start, upgrades to active when the picker sheet opens, reverts on close) and exposes the route state as a StateFlow<RouteSnapshot> the ViewModel projects. Routes are sorted current-first then by Kind (Bluetooth, Wired, BuiltIn, Other) so the active output is always at the top of the sheet. ViewModel + Compose UI follow in next commits.