bollwerk/app
Jens Reinemann ce851af37b feat(settings): add JSON import with SAF file picker
SettingsScreen: Added import button that opens the system file picker
(ActivityResultContracts.OpenDocument) filtered to application/json.
After file selection, a confirmation dialog warns that existing data
will be overwritten. Import result is shown in a success/error dialog.

SettingsViewModel: Added onImportFileSelected(uri), onImportConfirmed(),
onImportDismissed(), onImportResultDismissed() methods. The import reads
the file via contentResolver.openInputStream() and delegates to the
existing ImportExportRepository.importFromJson(). Settings are reloaded
after successful import.

SettingsUiState: Extended with isImporting, importResult (sealed
interface ImportResult with Success/Error), and pendingImportUri for
the confirmation dialog flow.

SettingsViewModelTest: Added 6 unit tests covering import success,
invalid JSON error, empty file, null input stream, dialog state
management, and result dismissal.

Closes #38
2026-05-14 03:35:50 +02:00
..
src feat(settings): add JSON import with SAF file picker 2026-05-14 03:35:50 +02:00
build.gradle.kts feat(settings): add JSON/Markdown export via Share Intent 2026-05-14 03:26:15 +02:00
proguard-rules.pro feat: Android-Projekt-Gerüst anlegen (#13) 2026-05-13 15:24:39 +02:00