From b03f765216ac8e8f07abc09647383821182249a8 Mon Sep 17 00:00:00 2001 From: johan12345 Date: Fri, 15 Sep 2023 21:45:20 +0200 Subject: [PATCH] SearchSelectScreen: catch IOExceptions --- .../vonforst/evmap/auto/SearchSelectScreen.kt | 20 ++++++++++++++++--- app/src/main/res/values-de/strings.xml | 1 + app/src/main/res/values/strings.xml | 1 + 3 files changed, 19 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/net/vonforst/evmap/auto/SearchSelectScreen.kt b/app/src/main/java/net/vonforst/evmap/auto/SearchSelectScreen.kt index c26a5210..65d1175e 100644 --- a/app/src/main/java/net/vonforst/evmap/auto/SearchSelectScreen.kt +++ b/app/src/main/java/net/vonforst/evmap/auto/SearchSelectScreen.kt @@ -7,8 +7,11 @@ import androidx.car.app.constraints.ConstraintManager import androidx.car.app.model.* import androidx.core.graphics.drawable.IconCompat import androidx.lifecycle.lifecycleScope +import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.launch +import kotlinx.coroutines.withContext import net.vonforst.evmap.R +import okio.IOException abstract class MultiSelectSearchScreen(ctx: CarContext) : Screen(ctx), SearchTemplate.SearchCallback { @@ -22,9 +25,20 @@ abstract class MultiSelectSearchScreen(ctx: CarContext) : Screen(ctx), override fun onGetTemplate(): Template { if (fullList == null) { lifecycleScope.launch { - fullList = loadData() - filterList() - invalidate() + try { + fullList = loadData() + filterList() + invalidate() + } catch (e: IOException) { + withContext(Dispatchers.Main) { + CarToast.makeText( + carContext, + R.string.generic_connection_error, + CarToast.LENGTH_LONG + ).show() + screenManager.pop() + } + } } } diff --git a/app/src/main/res/values-de/strings.xml b/app/src/main/res/values-de/strings.xml index ba3efe59..72896d27 100644 --- a/app/src/main/res/values-de/strings.xml +++ b/app/src/main/res/values-de/strings.xml @@ -365,4 +365,5 @@ Empfehlungslinks Du kannst auch einen der Empfehlungslinks unten benutzen, um den Entwickler mit deinem Kauf zu unterstützen. Tesla + Daten konnten nicht geladen werden \ No newline at end of file diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index daa2eac2..889c4ad7 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -365,4 +365,5 @@ Referral links You can also use one of the referral links below to support the developer with your purchase. Tesla + Could not load data \ No newline at end of file