From dcf5efddd106096f535507ca6f610ab870d874e1 Mon Sep 17 00:00:00 2001 From: Yegor Vialov Date: Thu, 28 Nov 2019 18:57:41 +0000 Subject: [PATCH] Parse port and protocol from HA url --- lib/pages/settings.page.dart | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/pages/settings.page.dart b/lib/pages/settings.page.dart index 06a8a23..e1c984a 100644 --- a/lib/pages/settings.page.dart +++ b/lib/pages/settings.page.dart @@ -75,10 +75,16 @@ class _ConnectionSettingsPageState extends State { _saveSettings() async { _newHassioDomain = _newHassioDomain.trim(); - if (_newHassioDomain.indexOf("http") == 0 && _newHassioDomain.indexOf("//") > 0) { + if (_newHassioDomain.startsWith("http") && _newHassioDomain.indexOf("//") > 0) { + _newHassioDomain.startsWith("https") ? _newSocketProtocol = "wss" : _newSocketProtocol = "ws"; _newHassioDomain = _newHassioDomain.split("//")[1]; } _newHassioDomain = _newHassioDomain.split("/")[0]; + if (_newHassioDomain.contains(":")) { + List domainAndPort = _newHassioDomain.split(":"); + _newHassioDomain = domainAndPort[0]; + _newHassioPort = domainAndPort[1]; + } SharedPreferences prefs = await SharedPreferences.getInstance(); final storage = new FlutterSecureStorage(); if (_newLongLivedToken.isNotEmpty) {