diff options
Diffstat (limited to 'android-app/app/src/main')
| -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() } } |
