From f03db858ae7fcac73c84ee4f0ad898cec0e343e4 Mon Sep 17 00:00:00 2001 From: Paul Sterl Date: Sun, 18 Jul 2021 12:33:39 +0200 Subject: [PATCH] v0.1.3 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Prüfung eingebaut ob ein URL konfiguriert ist --- CHANGELOG.md | 4 ++ .../lib/homescreen/solvis_widget.dart | 41 +++++++++++-------- solvis_v2_app/pubspec.yaml | 2 +- 3 files changed, 28 insertions(+), 19 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 169c032..e537635 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,7 @@ +# 0.1.3 + +- Prüfung eingebaut ob ein URL konfiguriert ist + # 0.1.2 - HTTP Timeout von zwei Sekunden hinzugefügt diff --git a/solvis_v2_app/lib/homescreen/solvis_widget.dart b/solvis_v2_app/lib/homescreen/solvis_widget.dart index c4c775d..ccd6f65 100644 --- a/solvis_v2_app/lib/homescreen/solvis_widget.dart +++ b/solvis_v2_app/lib/homescreen/solvis_widget.dart @@ -161,28 +161,33 @@ class _SolvisWidgetState extends State with WidgetsBindingObserver } Future refresh() async { - debugPrint('refresh screen image, error count: ${_errorCounter.eventCount} ...'); - try { - final r = await widget._container.get().loadScreen(); - if (r.statusCode < 299) { - _errorCounter.reset(); - autoRefresh(); - return decodeImageFromList(r.bodyBytes).then((i) => - setState(() => _image = ImageEditor(i))); - } else { - if (r.statusCode == 401) { - const problem = 'HTTP 401: Falscher Benutzername oder Password!'; - setState(() => _errorCounter.maxReached(problem)); + final client = widget._container.get(); + if (client.hasUrl) { + debugPrint('refresh screen image, error count: ${_errorCounter.eventCount} ...'); + try { + final r = await widget._container.get().loadScreen(); + if (r.statusCode < 299) { + _errorCounter.reset(); + autoRefresh(); + return decodeImageFromList(r.bodyBytes).then((i) => + setState(() => _image = ImageEditor(i))); } else { - throw '${r.statusCode}: ${r.body}'; + if (r.statusCode == 401) { + _errorCounter.maxReached('HTTP 401: Falscher Benutzername oder Password!'); + } else { + throw '${r.statusCode}: ${r.body}'; + } + return; + } + } catch (e) { + if (_errorCounter.count(e).isMaxNotReached) { + autoRefresh(); } - return; - } - } catch (e) { - if (_errorCounter.count(e).isMaxNotReached) { - autoRefresh(); } + } else { + _errorCounter.maxReached('Kein URL für den Zugriff auf die Heizung konfiguriert!'); } + setState(() {}); } } diff --git a/solvis_v2_app/pubspec.yaml b/solvis_v2_app/pubspec.yaml index a61047a..f7140bc 100644 --- a/solvis_v2_app/pubspec.yaml +++ b/solvis_v2_app/pubspec.yaml @@ -16,7 +16,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev # In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion. # Read more about iOS versioning at # https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html -version: 0.1.2+3 +version: 0.1.3+4 environment: sdk: ">=2.12.0 <3.0.0"