summaryrefslogtreecommitdiff
path: root/android-app/app/src/main
diff options
context:
space:
mode:
authorClaude <noreply@anthropic.com>2026-05-27 15:47:26 +0000
committerClaude <noreply@anthropic.com>2026-05-27 15:47:26 +0000
commitd7bc194813d98e00190d1c5627965f2fe94f57d9 (patch)
tree600db9b6078d057ebd4ab7e0686837dfe44b518c /android-app/app/src/main
parente84ff9e7028e5189c45b1e4c56004557d328f5b6 (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/src/main')
-rw-r--r--android-app/app/src/main/kotlin/org/terst/nav/logbook/LogbookRepository.kt7
-rw-r--r--android-app/app/src/main/kotlin/org/terst/nav/ui/MainViewModel.kt1
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() }
}