From 8e2bb9fc989d40c688c74059e47cd13f02780dbc Mon Sep 17 00:00:00 2001 From: Moritz Zwerger Date: Thu, 21 Dec 2023 15:38:25 +0100 Subject: [PATCH] warn if update check is unavailable du to client error "no network available" --- src/main/java/de/bixilon/minosoft/gui/eros/Eros.kt | 2 +- .../de/bixilon/minosoft/updater/MinosoftUpdater.kt | 12 +++++++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/main/java/de/bixilon/minosoft/gui/eros/Eros.kt b/src/main/java/de/bixilon/minosoft/gui/eros/Eros.kt index f03982ad8..65beb3ecd 100644 --- a/src/main/java/de/bixilon/minosoft/gui/eros/Eros.kt +++ b/src/main/java/de/bixilon/minosoft/gui/eros/Eros.kt @@ -86,7 +86,7 @@ object Eros { start() } } - MinosoftUpdater::update.observe(this) { + MinosoftUpdater::update.observe(this, true) { if (it == null) return@observe if (it.id == OtherProfileManager.selected.updater.dismiss) return@observe // TODO: if not searched manually UpdateAvailableDialog(it).show() diff --git a/src/main/java/de/bixilon/minosoft/updater/MinosoftUpdater.kt b/src/main/java/de/bixilon/minosoft/updater/MinosoftUpdater.kt index 879a82929..14c8cdd58 100644 --- a/src/main/java/de/bixilon/minosoft/updater/MinosoftUpdater.kt +++ b/src/main/java/de/bixilon/minosoft/updater/MinosoftUpdater.kt @@ -20,8 +20,12 @@ import de.bixilon.kutil.url.URLUtil.toURL import de.bixilon.minosoft.config.profile.profiles.other.OtherProfileManager import de.bixilon.minosoft.properties.MinosoftProperties import de.bixilon.minosoft.util.http.HTTP2.get +import de.bixilon.minosoft.util.http.HTTPResponse import de.bixilon.minosoft.util.http.exceptions.HTTPException import de.bixilon.minosoft.util.json.Jackson +import de.bixilon.minosoft.util.logging.Log +import de.bixilon.minosoft.util.logging.LogLevels +import de.bixilon.minosoft.util.logging.LogMessageType import java.net.URL object MinosoftUpdater { @@ -68,7 +72,13 @@ object MinosoftUpdater { } private fun request(url: String): MinosoftUpdate? { - val response = url.get({ it }) + val response: HTTPResponse + try { + response = url.get({ it }) + } catch (error: Throwable) { + Log.log(LogMessageType.OTHER, LogLevels.WARN) { "Could not check for updates: $error" } + return null + } return when (response.statusCode) { 204 -> null