feat(android): download notifications everywhere + swipe tabs (NowPlaying, Library)

- Downloads started from global search / Bibliothek now poll via the
  app-lifetime NotificationStore, so they show success/failure like the
  importer and artist page did (was a silent toast only).
- Swipe between tabs, synced with the tab bar, matching Erkunden:
  * Now Playing: Player <-> Lyrics <-> Queue (cover's skip-track swipe
    still wins as a child gesture).
  * Bibliothek: Playlists <-> Alben <-> Künstler <-> Offline.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
HoneyandClaude Opus 4.8 committed 2026-08-21 23:19:20 +02:00
1 parent d11de8a69e
commit b7c96451d8
4 files changed
+71 -13

No files matched your search

+8
View File
@@ -76,6 +76,10 @@ like Android), concert events become **reliable across web/Android**, and severa
- **30s preview in the importer (Android)** — each resolved track now has a ▶/⏹ button that plays its
Deezer/Spotify preview clip through the same app-level preview bar as Explore (library playback
pauses; the row highlights while playing). Parity with the web importer.
- **Swipe between tabs (Android)** — a left/right swipe now switches tabs in **Now Playing**
(Player ↔ Lyrics ↔ Queue) and in the **Bibliothek** (Playlists ↔ Alben ↔ Künstler ↔ Offline),
two-way synced with the tab bar, matching the existing Erkunden swipe. On Now Playing the cover's
own swipe (skip track) still wins, since it's a child gesture.
### Fixed
- **Concert events reliability (Web + Android)** — Ticketmaster's free `keyword` search intermittently
@@ -105,6 +109,10 @@ like Android), concert events become **reliable across web/Android**, and severa
the library and Deezer artist pages.
- **"Falscher Künstler?" pin button minimised (Web + Android)** — reduced to a small ⚙ icon-only pill
in the artist hero's corner instead of a full-width labelled button.
- **Downloads from search/Bibliothek were silent (Android)** — a download started from the global
search / Bibliothek-Global tab fired only a transient toast and then registered no
success/failure notification (only the importer and artist page did). It now goes through the same
app-lifetime `NotificationStore` poll, so it notifies on completion even after you leave the screen.
---