feat(android): output picker foundation - mediarouter + OutputRoute
android / Build + lint + test (push) Has been cancelled
android / Build + lint + test (push) Has been cancelled
Bluetooth slice (1/5). Adds the androidx.mediarouter 1.7.0 dep, declares BLUETOOTH_CONNECT (needed on Android 12+ to enumerate paired BT devices by name), and lays down the OutputRoute domain model. OutputRoute decouples the picker UI from MediaRouter.RouteInfo (framework class, can't be constructed in JVM tests - same constraint we hit with LikeMediaCallback). The Protocol enum includes UPNP/CAST/SONOS placeholders so the next slice slots in without a data-model rename - see docs/superpowers/specs/2026-06-03-android-output-picker-upnp-scope.md for the deferred work. Controller + ViewModel + Compose UI land in follow-up commits.
This commit is contained in:
@@ -22,6 +22,7 @@ kotlinx-coroutines = "1.9.0"
|
||||
kotlinx-datetime = "0.6.1"
|
||||
kotlinx-serialization-converter = "1.0.0"
|
||||
media3 = "1.10.1"
|
||||
mediarouter = "1.7.0"
|
||||
coil = "3.0.0-rc02"
|
||||
palette = "1.0.0"
|
||||
timber = "5.0.1"
|
||||
@@ -71,6 +72,7 @@ media3-exoplayer = { module = "androidx.media3:media3-exoplayer", version.ref =
|
||||
media3-session = { module = "androidx.media3:media3-session", version.ref = "media3" }
|
||||
media3-datasource-okhttp = { module = "androidx.media3:media3-datasource-okhttp", version.ref = "media3" }
|
||||
media3-ui = { module = "androidx.media3:media3-ui", version.ref = "media3" }
|
||||
mediarouter = { module = "androidx.mediarouter:mediarouter", version.ref = "mediarouter" }
|
||||
coil-compose = { module = "io.coil-kt.coil3:coil-compose", version.ref = "coil" }
|
||||
coil-network-okhttp = { module = "io.coil-kt.coil3:coil-network-okhttp", version.ref = "coil" }
|
||||
androidx-palette = { module = "androidx.palette:palette-ktx", version.ref = "palette" }
|
||||
|
||||
Reference in New Issue
Block a user