From 85379cf491109e8f640fe4ac2575a8bfe74af130 Mon Sep 17 00:00:00 2001 From: Yegor Vialov Date: Tue, 16 Oct 2018 21:10:59 +0300 Subject: [PATCH] Resolves #132 --- lib/entity_class/stateful_widgets.dart | 6 +++--- lib/entity_class/stateless_widgets.dart | 13 +++++++++++-- lib/main.dart | 2 +- pubspec.yaml | 2 +- 4 files changed, 16 insertions(+), 7 deletions(-) diff --git a/lib/entity_class/stateful_widgets.dart b/lib/entity_class/stateful_widgets.dart index 3f1aa39..d286cae 100644 --- a/lib/entity_class/stateful_widgets.dart +++ b/lib/entity_class/stateful_widgets.dart @@ -579,7 +579,7 @@ class _ClimateControlWidgetState extends State { Widget _buildTemperatureControls(ClimateEntity entity) { List result = []; - if (entity.supportTargetTemperature) { + if ((entity.supportTargetTemperature) && (entity.temperature != null)) { result.addAll([ Text( "$_tmpTemperature", @@ -617,7 +617,7 @@ class _ClimateControlWidgetState extends State { ], ) ]); - } else if (entity.supportTargetTemperatureHigh && entity.supportTargetTemperatureLow) { + } else if (entity.supportTargetTemperatureHigh && entity.supportTargetTemperatureLow && (entity.targetHigh != null) && (entity.targetLow != null)) { result.addAll([ Text( "$_tmpTargetLow", @@ -913,7 +913,7 @@ class _CoverControlWidgetState extends State { List controls = []; if (entity.supportCloseTilt || entity.supportOpenTilt || entity.supportStopTilt) { controls.add( - CoverEntityTiltControlState() + CoverEntityTiltControlButtons() ); } if (entity.supportSetTiltPosition) { diff --git a/lib/entity_class/stateless_widgets.dart b/lib/entity_class/stateless_widgets.dart index 7e1ef47..2b5446f 100644 --- a/lib/entity_class/stateless_widgets.dart +++ b/lib/entity_class/stateless_widgets.dart @@ -333,6 +333,15 @@ class ClimateStateWidget extends StatelessWidget { Widget build(BuildContext context) { final entityModel = EntityModel.of(context); final ClimateEntity entity = entityModel.entity; + String targetTemp = "-"; + if ((entity.supportTargetTemperature) && (entity.temperature!=null)) { + targetTemp = "${entity.temperature}"; + } else if ((entity.supportTargetTemperatureLow) && (entity.targetLow != null)) { + targetTemp = "${entity.targetLow}"; + if ((entity.supportTargetTemperatureHigh) && (entity.targetHigh != null)) { + targetTemp += " - ${entity.targetHigh}"; + } + } return Padding( padding: EdgeInsets.fromLTRB(0.0, 0.0, entityModel.entity.rightWidgetPadding, 0.0), @@ -350,7 +359,7 @@ class ClimateStateWidget extends StatelessWidget { fontSize: entityModel.entity.stateFontSize, )), Text( - entity.supportTargetTemperature ? " ${entity.temperature}" : " ${entity.targetLow} - ${entity.targetHigh}", + " $targetTemp", textAlign: TextAlign.right, style: new TextStyle( fontSize: entityModel.entity.stateFontSize, @@ -502,7 +511,7 @@ class CoverEntityControlState extends StatelessWidget { } -class CoverEntityTiltControlState extends StatelessWidget { +class CoverEntityTiltControlButtons extends StatelessWidget { void _open(CoverEntity entity) { eventBus.fire(new ServiceCallEvent(entity.domain, "open_cover_tilt", entity.entityId, null)); diff --git a/lib/main.dart b/lib/main.dart index fd8e033..9cef826 100644 --- a/lib/main.dart +++ b/lib/main.dart @@ -30,7 +30,7 @@ part 'card_class.dart'; EventBus eventBus = new EventBus(); const String appName = "HA Client"; -const appVersion = "0.3.0.38"; +const appVersion = "0.3.0.39"; String homeAssistantWebHost; diff --git a/pubspec.yaml b/pubspec.yaml index 5de5cab..65972e9 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,7 +1,7 @@ name: hass_client description: Home Assistant Android Client -version: 0.3.0+38 +version: 0.3.0+39 environment: sdk: ">=2.0.0-dev.68.0 <3.0.0"