From ea3a6da2242ab476aa06502494a7426bf7ce258a Mon Sep 17 00:00:00 2001 From: timklge <2026103+timklge@users.noreply.github.com> Date: Thu, 24 Apr 2025 18:32:19 +0200 Subject: [PATCH] Show "no internet connection" error instead of error code 0 on token test (#101) --- .../timklge/karooheadwind/screens/SettingsScreen.kt | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/app/src/main/kotlin/de/timklge/karooheadwind/screens/SettingsScreen.kt b/app/src/main/kotlin/de/timklge/karooheadwind/screens/SettingsScreen.kt index 6a55390..53776e2 100644 --- a/app/src/main/kotlin/de/timklge/karooheadwind/screens/SettingsScreen.kt +++ b/app/src/main/kotlin/de/timklge/karooheadwind/screens/SettingsScreen.kt @@ -48,6 +48,7 @@ import de.timklge.karooheadwind.datatypes.GpsCoordinates import de.timklge.karooheadwind.saveSettings import de.timklge.karooheadwind.streamSettings import de.timklge.karooheadwind.streamUserProfile +import de.timklge.karooheadwind.weatherprovider.WeatherProviderException import de.timklge.karooheadwind.weatherprovider.openweathermap.OpenWeatherMapWeatherProvider import io.hammerhead.karooext.KarooSystemService import io.hammerhead.karooext.models.UserProfile @@ -353,6 +354,16 @@ fun WeatherProviderSection( apiTestErrorMessage = "Error testing API key: ${response.error}" Log.e(KarooHeadwindExtension.TAG, "API key is invalid") } + } catch (e: WeatherProviderException) { + if (e.statusCode == 0) { + Log.e(KarooHeadwindExtension.TAG, "Error testing API key: No connection") + apiTestDialogPending = false + apiTestErrorMessage = "Error testing API key: No internet connection" + } else { + Log.e(KarooHeadwindExtension.TAG, "Error testing API key: ${e.message}") + apiTestDialogPending = false + apiTestErrorMessage = "Error testing API key: ${e.message}" + } } catch (e: Exception) { Log.e(KarooHeadwindExtension.TAG, "Error testing API key: ${e.message}") apiTestDialogPending = false