diff options
| author | Claude <noreply@anthropic.com> | 2026-05-27 15:47:26 +0000 |
|---|---|---|
| committer | Claude <noreply@anthropic.com> | 2026-05-27 15:47:26 +0000 |
| commit | d7bc194813d98e00190d1c5627965f2fe94f57d9 (patch) | |
| tree | 600db9b6078d057ebd4ab7e0686837dfe44b518c /android-app/app | |
| parent | e84ff9e7028e5189c45b1e4c56004557d328f5b6 (diff) | |
Fix logbook entries not reloading after SAF re-auth post-reinstall
LogbookRepository loaded entries once at init; after reinstall the SAF
tree URI pref is wiped, so it loaded empty from the cleared legacy path
and held that empty list for the session — even after the user re-granted
SAF access.
Fix: add LogbookRepository.reload() and call it in
MainViewModel.onSafDirectorySelected() alongside reloadPastTracks().
The logbook JSON and photos already live in the SAF tree and survive
reinstall; this just ensures they're read at the right moment.
https://claude.ai/code/session_01KXYBuAHZkvv63DeUG6XaZD
Diffstat (limited to 'android-app/app')
| -rw-r--r-- | android-app/app/src/main/kotlin/org/terst/nav/logbook/LogbookRepository.kt | 7 | ||||
| -rw-r--r-- | android-app/app/src/main/kotlin/org/terst/nav/ui/MainViewModel.kt | 1 |
2 files changed, 8 insertions, 0 deletions
diff --git a/android-app/app/src/main/kotlin/org/terst/nav/logbook/LogbookRepository.kt b/android-app/app/src/main/kotlin/org/terst/nav/logbook/LogbookRepository.kt index dd65e4a..fe7b40d 100644 --- a/android-app/app/src/main/kotlin/org/terst/nav/logbook/LogbookRepository.kt +++ b/android-app/app/src/main/kotlin/org/terst/nav/logbook/LogbookRepository.kt @@ -25,4 +25,11 @@ class LogbookRepository(private val storage: LogbookStorage) { } fun getAll(): List<LogEntry> = entries.toList() + + /** Re-reads entries from storage. Call after SAF is (re-)authorised post-reinstall. */ + fun reload() { + entries.clear() + entries.addAll(storage.loadAll()) + nextId = (entries.maxOfOrNull { it.id } ?: 0L) + 1L + } } diff --git a/android-app/app/src/main/kotlin/org/terst/nav/ui/MainViewModel.kt b/android-app/app/src/main/kotlin/org/terst/nav/ui/MainViewModel.kt index f664aa9..a750d39 100644 --- a/android-app/app/src/main/kotlin/org/terst/nav/ui/MainViewModel.kt +++ b/android-app/app/src/main/kotlin/org/terst/nav/ui/MainViewModel.kt @@ -124,6 +124,7 @@ class MainViewModel( fun onSafDirectorySelected(treeUri: Uri) { trackRepository.initSafDirectory(treeUri) _safState.value = trackRepository.safState() + NavApplication.logbookRepository.reload() viewModelScope.launch { reloadPastTracks() } } |
