Show error when media_player is not media_player
This commit is contained in:
parent
0996fb94da
commit
96c8338890
@ -13,6 +13,14 @@ class MediaControlsCard extends StatelessWidget {
|
|||||||
child: MissedEntityWidget(),
|
child: MissedEntityWidget(),
|
||||||
handleTap: false,
|
handleTap: false,
|
||||||
);
|
);
|
||||||
|
} else if (card.entity.entity.domain == null || card.entity.entity.domain != 'media_player') {
|
||||||
|
return EntityModel(
|
||||||
|
entityWrapper: card.entity,
|
||||||
|
child: ErrorEntityWidget(
|
||||||
|
text: '${card.entity.entity?.entityId} is not a media_player',
|
||||||
|
),
|
||||||
|
handleTap: false,
|
||||||
|
);
|
||||||
}
|
}
|
||||||
return CardWrapper(
|
return CardWrapper(
|
||||||
child: EntityModel(
|
child: EntityModel(
|
||||||
|
@ -148,7 +148,7 @@ class Entity {
|
|||||||
|
|
||||||
void update(Map rawData, String webHost) {
|
void update(Map rawData, String webHost) {
|
||||||
attributes = rawData["attributes"] ?? {};
|
attributes = rawData["attributes"] ?? {};
|
||||||
domain = rawData["entity_id"].split(".")[0];
|
domain = rawData["entity_id"] != null ? rawData["entity_id"].split(".")[0] : null;
|
||||||
entityId = rawData["entity_id"];
|
entityId = rawData["entity_id"];
|
||||||
deviceClass = attributes["device_class"];
|
deviceClass = attributes["device_class"];
|
||||||
state = rawData["state"] is bool ? (rawData["state"] ? EntityState.on : EntityState.off) : rawData["state"];
|
state = rawData["state"] is bool ? (rawData["state"] ? EntityState.on : EntityState.off) : rawData["state"];
|
||||||
|
23
lib/entities/error_entity_widget.dart
Normal file
23
lib/entities/error_entity_widget.dart
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
part of '../main.dart';
|
||||||
|
|
||||||
|
class ErrorEntityWidget extends StatelessWidget {
|
||||||
|
|
||||||
|
final String text;
|
||||||
|
|
||||||
|
ErrorEntityWidget({
|
||||||
|
Key key, this.text
|
||||||
|
}) : super(key: key);
|
||||||
|
|
||||||
|
@override
|
||||||
|
Widget build(BuildContext context) {
|
||||||
|
final EntityModel entityModel = EntityModel.of(context);
|
||||||
|
String errorText = text ?? "Entity error: ${entityModel.entityWrapper.entity?.entityId}";
|
||||||
|
return Container(
|
||||||
|
child: Padding(
|
||||||
|
padding: EdgeInsets.all(5.0),
|
||||||
|
child: Text(errorText),
|
||||||
|
),
|
||||||
|
color: Theme.of(context).errorColor,
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
@ -100,6 +100,7 @@ part 'entities/alarm_control_panel/widgets/alarm_control_panel_controls.widget.d
|
|||||||
part 'entities/vacuum/vacuum_entity.class.dart';
|
part 'entities/vacuum/vacuum_entity.class.dart';
|
||||||
part 'entities/vacuum/widgets/vacuum_controls.dart';
|
part 'entities/vacuum/widgets/vacuum_controls.dart';
|
||||||
part 'entities/vacuum/widgets/vacuum_state_button.dart';
|
part 'entities/vacuum/widgets/vacuum_state_button.dart';
|
||||||
|
part 'entities/error_entity_widget.dart';
|
||||||
part 'pages/settings/connection_settings.part.dart';
|
part 'pages/settings/connection_settings.part.dart';
|
||||||
part 'pages/purchase.page.dart';
|
part 'pages/purchase.page.dart';
|
||||||
part 'pages/widgets/product_purchase.widget.dart';
|
part 'pages/widgets/product_purchase.widget.dart';
|
||||||
|
Reference in New Issue
Block a user