diff --git a/oeffi/res/values-de/strings.xml b/oeffi/res/values-de/strings.xml index d524b35..7d41594 100644 --- a/oeffi/res/values-de/strings.xml +++ b/oeffi/res/values-de/strings.xml @@ -163,6 +163,7 @@ aktualisiert %s Server-Verbindung nicht möglich.\n\nTapp um es nochmal zu probieren.\n\nWenn das Problem bestehen bleibt, überprüfe ob Hintergrunddaten eingeschränkt sind. Die Abfrage wurde von \"%s\" blockiert - möglicherweise wegen Serverüberlastung.\n\nTapp um es nochmal zu probieren. + Die Sicherheits-Konfiguration des Servers ist fehlerhaft: %s Aua!\n\n%s\n\nTapp um es nochmal zu probieren. diff --git a/oeffi/res/values/strings.xml b/oeffi/res/values/strings.xml index 054ae43..1aebedf 100644 --- a/oeffi/res/values/strings.xml +++ b/oeffi/res/values/strings.xml @@ -164,6 +164,7 @@ updated %s Could not connect to server.\n\nTap to try again.\n\nIf the problem persists, check if background data is restricted. The query has been blocked by \"%s\", possibly because of server overload.\n\nTap to try again. + The security configuration of the server is faulty: %s Ouch!\n\n%s\n\nTap to try again. diff --git a/oeffi/src/de/schildbach/oeffi/stations/NearestFavoriteStationWidgetService.java b/oeffi/src/de/schildbach/oeffi/stations/NearestFavoriteStationWidgetService.java index bce0781..53a7845 100644 --- a/oeffi/src/de/schildbach/oeffi/stations/NearestFavoriteStationWidgetService.java +++ b/oeffi/src/de/schildbach/oeffi/stations/NearestFavoriteStationWidgetService.java @@ -27,9 +27,12 @@ import java.util.concurrent.ExecutionException; import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeoutException; +import javax.net.ssl.SSLException; + import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import com.google.common.base.Throwables; import com.google.common.util.concurrent.SettableFuture; import de.schildbach.oeffi.Constants; @@ -280,6 +283,12 @@ public class NearestFavoriteStationWidgetService extends JobIntentService { getString(R.string.nearest_favorite_station_widget_error_blocked, x.getUrl().host())); appWidgetManager.updateAppWidget(appWidgetId, views); log.info("Could not query departures for station " + stationId, x); + } catch (final SSLException x) { + setHeader(appWidgetId, favorite.name); + setMessage(getString(R.string.nearest_favorite_station_widget_error_ssl, + Throwables.getRootCause(x).getClass().getSimpleName())); + appWidgetManager.updateAppWidget(appWidgetId, views); + log.info("Could not query departures for station " + stationId, x); } catch (final Exception x) { setHeader(appWidgetId, favorite.name); setMessage(getString(R.string.nearest_favorite_station_widget_error_exception, x.toString()));