diff --git a/lib/entities/entity_wrapper.class.dart b/lib/entities/entity_wrapper.class.dart index 026abf0..36ee954 100644 --- a/lib/entities/entity_wrapper.class.dart +++ b/lib/entities/entity_wrapper.class.dart @@ -58,7 +58,7 @@ class EntityWrapper { } case EntityUIAction.navigate: { - if (uiAction.tapService.startsWith("/")) { + if (uiAction.tapService != null && uiAction.tapService.startsWith("/")) { //TODO handle local urls Logger.w("Local urls is not supported yet"); } else { @@ -98,7 +98,7 @@ class EntityWrapper { } case EntityUIAction.navigate: { - if (uiAction.holdService.startsWith("/")) { + if (uiAction.holdService != null && uiAction.holdService.startsWith("/")) { //TODO handle local urls Logger.w("Local urls is not supported yet"); } else { diff --git a/lib/managers/connection_manager.class.dart b/lib/managers/connection_manager.class.dart index 4f437f8..ad15177 100644 --- a/lib/managers/connection_manager.class.dart +++ b/lib/managers/connection_manager.class.dart @@ -98,20 +98,22 @@ class ConnectionManager { void _doConnect({Completer completer, bool forceReconnect}) { if (forceReconnect || !isConnected) { - _connect().timeout(connectTimeout).then((_) { - completer?.complete(); - }).catchError((e) { - _disconnect().then((_) { - if (e is TimeoutException) { - if (connecting != null && !connecting.isCompleted) { - connecting.completeError(HAError("Connection timeout")); + _disconnect().then((_){ + _connect().timeout(connectTimeout).then((_) { + completer?.complete(); + }).catchError((e) { + _disconnect().then((_) { + if (e is TimeoutException) { + if (connecting != null && !connecting.isCompleted) { + connecting.completeError(HAError("Connection timeout")); + } + completer?.completeError(HAError("Connection timeout")); + } else if (e is HAError) { + completer?.completeError(e); + } else { + completer?.completeError(HAError("${e.toString()}")); } - completer?.completeError(HAError("Connection timeout")); - } else if (e is HAError) { - completer?.completeError(e); - } else { - completer?.completeError(HAError("${e.toString()}")); - } + }); }); }); } else {