Commit Graph
90 Commits
Author SHA1 Message Date
austinried e1171d7588 key the queue now-playing highlight by song id 2026-10-04 00:29:55 +00:00
austinried 59d20d4eda address third review: rebuild the window when the shuffle is dropped, atomic queue version 2026-10-04 00:29:55 +00:00
austinried b2f654e10f address second review: shuffle cache invalidation, locking, ended latch 2026-10-04 00:29:55 +00:00
austinried 2c333195ef address shuffle review findings 2026-10-04 00:29:55 +00:00
austinried 2b59635402 cover jumping within a shuffled queue without reshuffling 2026-10-04 00:29:55 +00:00
austinried 7236ce76d4 rebuild the queue window from the shuffled snapshot when starting a shuffled queue 2026-10-04 00:29:55 +00:00
austinried 8bd07e4332 store the shuffle order in a table with a cache; keep previous at the start unless repeating 2026-10-04 00:29:55 +00:00
austinried b5799d7202 use rounded on variants for the shuffle and repeat icons 2026-10-04 00:29:55 +00:00
austinried a755de5356 add repeat and shuffle modes and fix duplicate track ordering 2026-10-04 00:29:55 +00:00
austinried ffd5f58aa9 revert the library header colour and gradient 2026-10-04 00:29:55 +00:00
austinried 5535a41f5d show the now playing gradient behind the library lists 2026-10-04 00:29:55 +00:00
austinried d7434b80cc match the remaining app bar titles and cover the switch off state 2026-10-04 00:29:54 +00:00
austinried d26936c251 theme the artist header from cover art and tune the mini player 2026-10-04 00:29:54 +00:00
austinried f70d1ba27e theme the artist, now playing and mini player from their art 2026-10-04 00:29:54 +00:00
austinried f725b25004 derive the secondary text colour from the gradient luminance 2026-10-04 00:29:53 +00:00
austinried 1701aeaf79 persist artwork seeds in the database 2026-10-04 00:29:53 +00:00
austinried ee3bf734da bound and harden the artwork seed cache 2026-10-04 00:29:53 +00:00
austinried e8e2c38aaa keep the accent blobs dimmer than the primary button 2026-10-04 00:29:53 +00:00
austinried 3d59379907 extract album colours from the thumbnail off the main thread 2026-10-04 00:29:52 +00:00
austinried fe943af2b6 theme album screens from their cover art 2026-10-04 00:29:52 +00:00
austinried dd660597fb fetch full-res artist art and match the old artist layout 2026-10-04 00:29:52 +00:00
austinried 53875b3640 open an artist's albums from the artists tab 2026-10-04 00:29:52 +00:00
austinried 70ffdf7ce9 cover the drag drop target mapping 2026-10-04 00:29:52 +00:00
austinried e76976dfdf fix drag drop target, serialize queue edits, guard empty ranges 2026-10-04 00:29:52 +00:00
austinried bab303ef91 anchor the queue window at the playing track 2026-10-04 00:29:52 +00:00
austinried bb42975bb4 animate queue edits and focus the playing track on open 2026-10-04 00:29:52 +00:00
austinried a682cfc1cb reorder the queue with the reorderable library 2026-10-04 00:29:52 +00:00
austinried c2ecc63fe5 fix the queue paging refresh key and drag edge detection 2026-10-04 00:29:52 +00:00
austinried 59a4bee51b cover pause-free undo with tests 2026-10-04 00:29:51 +00:00
austinried dde78bb9fb keep playback going through undo and polish the queue drag 2026-10-04 00:29:51 +00:00
austinried 7fc142ce6f add a one-step undo and harden queue edits 2026-10-04 00:29:51 +00:00
austinried e87d176155 add a queue view with jump, remove and reorder 2026-10-04 00:29:51 +00:00
austinried 320a9db597 stop syncing from rewriting unchanged rows 2026-10-04 00:29:51 +00:00
austinried ebe76cd5bb play the songs list from the songs tab 2026-10-04 00:29:51 +00:00
austinried 659df47c14 choose the stream bitrate and format from settings 2026-10-04 00:29:51 +00:00
austinried 7abf01c5ce add queue, migration and playback controller tests and goldens 2026-10-04 00:29:51 +00:00
austinried 177e5ad108 add screenshot goldens and the title collapse gesture test 2026-10-04 00:29:51 +00:00
austinried 7bc1bd9a19 add unit tests for the data layer
MockWebServer client tests, XML mapping (including timestamp parsing), source fallback, and sync/search against an in-memory Room DB using the bundled SQLite JVM driver.
2026-10-04 00:29:51 +00:00
austinried 43d26d52e4 pin the android sdk explicitly and apply review fixes
- flake: pin build-tools and platform-tools to 37.0.0 instead of "latest", matching build.gradle.kts
- robolectric: run at sdk 35 (targetSdk) and re-record the golden
- manifest: allowBackup off, drop not-yet-used permissions
- theme: drop no-op status/nav bar colors (edge-to-edge)
- deps: kotlin 2.1.20, drop unused deps and test runner
- wrapper: regenerate jar from 8.11.1, add distributionSha256Sum
- remove stale README
2026-10-04 00:29:51 +00:00
austinried 05ac1768d3 start kotlin/jetpack compose rewrite
replace the flutter project with a gradle/compose android app:
- nix flake dev shell (jdk21, android sdk 35, build-tools 37, gradle)
- material3 app with a placeholder screen
- roborazzi/robolectric screenshot tests with one golden
- carry over the existing launcher/notification assets
2026-10-04 00:29:51 +00:00