Krisenvorrat Inventar-App – Android-App (Kotlin) zur Verwaltung eines Krisenvorrats-Inventars
Closes #45 SettingsScreen: - Server-URL and API-Key input fields (API-Key masked as password) - Push (upload) and Pull (download) sync buttons - Sync status indicator (running/success/error) - Last sync timestamp display (persisted via Room settings) SettingsViewModel: - Inject SyncService for server communication - pushSync(): exports local inventory to InventoryDto, uploads via SyncService - pullSync(): downloads InventoryDto from server, imports into local DB - Persists server_url, api_key, sync_last_timestamp in Room settings table ImportExportRepository: - New methods exportToInventoryDto() and importFromInventoryDto() - Refactored to eliminate code duplication via buildInventoryDto() and applyInventoryDto() helper methods Tests: - 8 new ViewModel tests covering sync settings loading, push/pull success, push/pull error scenarios, and sync status dismissal - FakeSyncService and extended FakeImportExportRepository for testing |
||
|---|---|---|
| .github | ||
| .vscode | ||
| Anforderungen | ||
| app | ||
| gradle | ||
| memories/repo | ||
| server | ||
| shared | ||
| .gitignore | ||
| build.gradle.kts | ||
| gradle.properties | ||
| gradlew | ||
| gradlew.bat | ||
| settings.gradle.kts | ||