summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--android-app/app/src/main/kotlin/org/terst/nav/track/TrackStorage.kt6
-rw-r--r--android-app/app/src/main/kotlin/org/terst/nav/ui/MainViewModel.kt4
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}") }
}
}