Phase 5: Nachladen, Startseiten-Layout

Nachladen
- DownloadRefiller wählt aus, WELCHE Folgen fehlen; wie viele, rechnet
  die Regel-Engine. Getrennt, weil das Rechnen ohne Server auskommt und
  damit prüfbar ist.
- In Ausstrahlungsreihenfolge, Specials in Staffel 0 bleiben außen vor.
- Läuft nach dem Ansehen und beim Start, nicht auf einem Zeitgeber: eine
  App, die im Hintergrund unaufgefordert Gigabytes lädt, wäre eine
  unangenehme Überraschung auf der Mobilfunkrechnung.

Startseiten-Layout
- Reihen ein-/ausblenden und per Bearbeiten-Modus umsortieren.
- Die Anordnungslogik liegt als HubArrangement in PlexKit statt im
  App-Target — dort ist sie ohne Simulator testbar, und dort sitzen die
  unangenehmen Fälle: neue Reihen vom Server landen am Ende statt zu
  verschwinden, verschwundene aus der gespeicherten Liste stören nicht,
  ein doppelter Eintrag stürzt nicht ab. 11 Tests.

126 Tests.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Guido
2026-09-11 17:43:20 +02:00
co-authored by Claude Opus 5
parent af23372997
commit b7fc18823a
10 changed files with 455 additions and 2 deletions
+48
View File
@@ -2962,6 +2962,54 @@
}
}
}
},
"homeLayout.title": {
"localizations": {
"de": {
"stringUnit": {
"state": "translated",
"value": "Startseite"
}
},
"en": {
"stringUnit": {
"state": "translated",
"value": "Home screen"
}
}
}
},
"homeLayout.explanation": {
"localizations": {
"de": {
"stringUnit": {
"state": "translated",
"value": "Schalte Reihen aus, die du nicht brauchst, und sortiere sie über „Bearbeiten“ um. Neue Reihen vom Server erscheinen am Ende."
}
},
"en": {
"stringUnit": {
"state": "translated",
"value": "Turn off rows you don't need and reorder them via Edit. New rows from the server appear at the end."
}
}
}
},
"homeLayout.empty": {
"localizations": {
"de": {
"stringUnit": {
"state": "translated",
"value": "Der Server liefert derzeit keine Reihen."
}
},
"en": {
"stringUnit": {
"state": "translated",
"value": "The server isn't providing any rows right now."
}
}
}
}
},
"version": "1.1"