Zurück-Geste auf Nicht-Start-Tabs navigiert zu Meine Musik statt die App zu minimieren

Tab-Wechsel in HomeShell laufen nur über setState (IndexedStack +
BottomNavigationBar), nie über Navigator.push — eine System-Zurück-Geste
hatte auf Nicht-Start-Tabs also nie eine Route zum Poppen und minimierte
stattdessen die App. build() jetzt in ein PopScope gewickelt, das bei
_index != 0 zuerst zu Tab 0 zurückspringt.
This commit is contained in:
Hermes (Server)
2026-08-27 15:31:21 +02:00
parent 1b096f5227
commit 90b63c467e
3 changed files with 123 additions and 32 deletions
+15
View File
@@ -5,6 +5,21 @@ Format angelehnt an [Keep a Changelog](https://keepachangelog.com/de/1.0.0/).
## [Unreleased]
### ⬅️ Zurück-Geste auf Nicht-Start-Tabs minimierte die App (2026-08-27)
- 🐛 **Auf "Favoriten" (oder einem anderen Tab außer "Meine Musik") tippen und
dann die System-Zurück-Geste nutzen minimierte die App**, statt zur
vorherigen Ansicht zu navigieren. Grund: Tab-Wechsel in `HomeShell`
laufen nur über `setState` (`IndexedStack` + `BottomNavigationBar`), nie
über `Navigator.push` — es lag also nie eine Route auf dem
Navigator-Stack, die eine Zurück-Geste hätte poppen können.
- 🔧 **Fix:** `build()` in `main.dart` in ein `PopScope` gewickelt
(`canPop: _index == 0`), das bei einem Nicht-Start-Tab zuerst zu Tab 0
("Meine Musik") zurückspringt, statt die App zu verlassen.
-**Getestet:** neuer Widget-Test in `home_shell_test.dart` (RED→GREEN,
simuliert die System-Zurück-Geste über `WidgetsApp.didPopRoute()`), volle
Suite (593 Tests) grün, `flutter analyze` ohne Befund.
### 🔄 Doppelten Scan-Button auf Android entfernt (2026-08-27)
- 🐛 **In den Einstellungen gab es auf Android zwei Buttons für dieselbe