59 lines
2.1 KiB
Markdown
59 lines
2.1 KiB
Markdown
# Android Technical Next Steps
|
|
|
|
Stand: 2026-05-14
|
|
|
|
## OAuth
|
|
|
|
Ziel: Android soll Google OAuth direkt starten koennen, ohne WebView-Klon.
|
|
|
|
Empfohlener Ablauf:
|
|
|
|
1. Backend bekommt einen Android-kompatiblen OAuth-Callback mit App-Link oder Custom-Scheme.
|
|
2. Android startet den Google-Flow ueber Browser Custom Tabs.
|
|
3. Callback oeffnet die App per Deep Link, z.B. `timeclock://oauth-callback?token=...`.
|
|
4. App speichert JWT im bestehenden `TokenStore` und laedt `/auth/me`.
|
|
5. Fehlerfaelle: abgebrochener Login, abgelaufener Token, fehlender Account, Offline.
|
|
|
|
Technische Punkte:
|
|
|
|
- Redirect-URI muss in Google Console und Backend konfiguriert werden.
|
|
- Token darf nicht in Logs erscheinen.
|
|
- Der bestehende E-Mail/Passwort-Login bleibt Fallback.
|
|
|
|
## Offline-Stempeln
|
|
|
|
Umgesetzt als Grundfunktion:
|
|
|
|
- Netzwerkfehler bei `clock(action)` speichern die Aktion lokal in `OfflineClockQueue`.
|
|
- Beim naechsten erfolgreichen Dashboard-Refresh werden gespeicherte Aktionen in Reihenfolge synchronisiert.
|
|
|
|
Noch offen fuer produktionsreife Offline-Funktion:
|
|
|
|
- UI-Hinweis mit Anzahl ausstehender Aktionen.
|
|
- Konfliktbehandlung, falls der Serverzustand nicht mehr zur Aktionsfolge passt.
|
|
- Persistente Audit-Anzeige fuer synchronisierte/fehlgeschlagene Offline-Aktionen.
|
|
- Tests mit simulierten Netzwerkfehlern und Wiederverbindung.
|
|
|
|
## Smartphone/Tablet UI-Feinschliff
|
|
|
|
Pruefpunkte mit echten Backend-Daten:
|
|
|
|
- Smartphone: Bottom-Navigation + Submenue fuer Buchungen, Einstellungen, Auswertung und Verwaltung.
|
|
- Tablet: linkes Section-Menue, Detailbereiche und breite Listen.
|
|
- Lange Namen/E-Mail-Adressen duerfen keine Buttons oder Zeilen sprengen.
|
|
- Admin-Listen mit vielen Benutzern/Feiertagen muessen scrollbar bleiben.
|
|
|
|
## Phase 8 Teststrategie
|
|
|
|
Erste lokale Tests sind angelegt fuer:
|
|
|
|
- API-Serialisierung wichtiger Backend-Responses.
|
|
- Gehashte IDs als Strings auf geschuetzten Endpunkten.
|
|
- Offline-Queue-Serialisierung.
|
|
|
|
Weitere sinnvolle Tests:
|
|
|
|
- Repository-Tests mit fake API-Schicht.
|
|
- ViewModel-Tests fuer Login, Stempeln, Offline-Queue und Rollenwechsel.
|
|
- Compose-Screenshot-Checks fuer Smartphone und Tablet.
|