No description
- Search as you type (waits 350 ms after the last key), library via OpenSubsonic search3 and Deezer's public API at the same time. - Empty field shows recent searches: tap to repeat, swipe or X to remove, Clear all. A search is saved when you press Search or tap a result. - In your library: Top result card, Songs / Albums / Artists with See all (paged), tapping and long-press menus as elsewhere. - Not in your library: Deezer songs and albums minus what you already own (MusicMatch: artist + title ignoring case, accents, punctuation and "feat." parts). Songs play their 30-second preview in the normal player with a "Preview · not in your library" label; previews can't be starred, don't trigger Autoplay and are left out of queue History. Album pages list each track as a preview. - "Play full song" / "Download" on every outside result are disabled with a coming-soon note through OutsideMusicActions, so a later server feature can switch them on; Deezer track/album/artist ids and ISRC stay attached. - Deezer unreachable: library results still show with a small note. Friendly "No results" state. - 17 new unit tests (56 total). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> |
||
|---|---|---|
| .idea | ||
| app | ||
| gradle | ||
| .gitattributes | ||
| .gitignore | ||
| build.gradle.kts | ||
| CLAUDE.md | ||
| gradle.properties | ||
| gradlew | ||
| gradlew.bat | ||
| settings.gradle.kts | ||
| syncwave-icon-1024.png | ||