diff --git a/lib/cards/card_widget.dart b/lib/cards/card_widget.dart index b13f325..d3cca01 100644 --- a/lib/cards/card_widget.dart +++ b/lib/cards/card_widget.dart @@ -306,7 +306,7 @@ class CardWidget extends StatelessWidget { } Widget _buildEntityButtonCard(BuildContext context) { - card.linkedEntityWrapper.displayName = card.name?.toUpperCase() ?? + card.linkedEntityWrapper.overrideName = card.name?.toUpperCase() ?? card.linkedEntityWrapper.displayName.toUpperCase(); return Card( child: EntityModel( @@ -320,9 +320,9 @@ class CardWidget extends StatelessWidget { } Widget _buildGaugeCard(BuildContext context) { - card.linkedEntityWrapper.displayName = card.name ?? + card.linkedEntityWrapper.overrideName = card.name ?? card.linkedEntityWrapper.displayName; - card.linkedEntityWrapper.unitOfMeasurement = card.unit ?? + card.linkedEntityWrapper.unitOfMeasurementOverride = card.unit ?? card.linkedEntityWrapper.unitOfMeasurement; return Card( child: EntityModel( @@ -338,7 +338,7 @@ class CardWidget extends StatelessWidget { } Widget _buildLightCard(BuildContext context) { - card.linkedEntityWrapper.displayName = card.name ?? + card.linkedEntityWrapper.overrideName = card.name ?? card.linkedEntityWrapper.displayName; return Card( child: EntityModel( diff --git a/lib/entities/entity_wrapper.class.dart b/lib/entities/entity_wrapper.class.dart index 24439da..d116965 100644 --- a/lib/entities/entity_wrapper.class.dart +++ b/lib/entities/entity_wrapper.class.dart @@ -2,32 +2,29 @@ part of '../main.dart'; class EntityWrapper { - String displayName; - String icon; - String unitOfMeasurement; - String entityPicture; + String overrideName; + final String overrideIcon; EntityUIAction uiAction; Entity entity; - List stateFilter; + String unitOfMeasurementOverride; + final List stateFilter; + String get icon => overrideIcon ?? entity.icon; + String get entityPicture => entity.entityPicture; + String get displayName => overrideName ?? entity.displayName; + String get unitOfMeasurement => unitOfMeasurementOverride ?? entity.unitOfMeasurement; EntityWrapper({ this.entity, - String icon, - String displayName, + this.overrideIcon, + this.overrideName, this.uiAction, this.stateFilter }) { if (entity.statelessType == StatelessEntityType.NONE || entity.statelessType == StatelessEntityType.CALL_SERVICE || entity.statelessType == StatelessEntityType.WEBLINK) { - this.icon = icon ?? entity.icon; - if (icon == null) { - entityPicture = entity.entityPicture; - } - this.displayName = displayName ?? entity.displayName; if (uiAction == null) { uiAction = EntityUIAction(); } - unitOfMeasurement = entity.unitOfMeasurement; } } diff --git a/lib/home_assistant.class.dart b/lib/home_assistant.class.dart index 0fcb06d..3b6945b 100644 --- a/lib/home_assistant.class.dart +++ b/lib/home_assistant.class.dart @@ -402,8 +402,8 @@ class HomeAssistant { card.entities.add( EntityWrapper( entity: e, - displayName: rawEntity["name"], - icon: rawEntity["icon"], + overrideName: rawEntity["name"], + overrideIcon: rawEntity["icon"], stateFilter: rawEntity['state_filter'] ?? [], uiAction: EntityUIAction(rawEntityData: rawEntity) ) @@ -421,8 +421,8 @@ class HomeAssistant { Entity e = entities.get(en); card.linkedEntityWrapper = EntityWrapper( entity: e, - icon: rawCardInfo["icon"], - displayName: rawCardInfo["name"], + overrideIcon: rawCardInfo["icon"], + overrideName: rawCardInfo["name"], uiAction: EntityUIAction(rawEntityData: rawCard) ); } else { @@ -433,8 +433,8 @@ class HomeAssistant { Entity e = entities.get(en["entity"]); card.linkedEntityWrapper = EntityWrapper( entity: e, - icon: en["icon"], - displayName: en["name"], + overrideIcon: en["icon"], + overrideName: en["name"], stateFilter: en['state_filter'] ?? [], uiAction: EntityUIAction(rawEntityData: rawCard) );