diff options
Diffstat (limited to 'android-app')
| -rw-r--r-- | android-app/app/src/main/kotlin/org/terst/nav/track/TrackStorage.kt | 6 | ||||
| -rw-r--r-- | android-app/app/src/main/kotlin/org/terst/nav/ui/MainViewModel.kt | 4 |
2 files changed, 8 insertions, 2 deletions
diff --git a/android-app/app/src/main/kotlin/org/terst/nav/track/TrackStorage.kt b/android-app/app/src/main/kotlin/org/terst/nav/track/TrackStorage.kt index 40ef6ea..7e9064c 100644 --- a/android-app/app/src/main/kotlin/org/terst/nav/track/TrackStorage.kt +++ b/android-app/app/src/main/kotlin/org/terst/nav/track/TrackStorage.kt @@ -119,7 +119,11 @@ class TrackStorage(private val context: Context) { "AND ${MediaStore.Files.FileColumns.DISPLAY_NAME} LIKE ?" val args = arrayOf("Documents/Nav/", "nav_%.gpx") - val cursor = context.contentResolver.query(uri, projection, selection, args, null) + val cursor = runCatching { + context.contentResolver.query(uri, projection, selection, args, null) + }.onFailure { e -> + NavLogger.e("track", "loadViaMediaStore: query failed (${e.javaClass.simpleName}: ${e.message})") + }.getOrNull() NavLogger.i("track", "loadViaMediaStore: cursor=${cursor?.count ?: "null"} rows") cursor?.use { c -> val idCol = c.getColumnIndexOrThrow(MediaStore.Files.FileColumns._ID) 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 0cc9d3c..57de608 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 @@ -93,7 +93,9 @@ class MainViewModel( init { viewModelScope.launch { - _pastTracks.value = trackRepository.getPastTracks() + runCatching { trackRepository.getPastTracks() } + .onSuccess { _pastTracks.value = it } + .onFailure { e -> NavLogger.e("track", "init: failed to load past tracks: ${e.javaClass.simpleName}: ${e.message}") } } } |
