diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index 11fa637..21431d5 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -17,6 +17,7 @@ additional functionality it is fine to subclass or reimplement FlutterApplication and put your custom class here. --> eventBus.fire(new ShowEntityPageEvent(entity: card.entity.entity)) + onPressed: () => eventBus.fire(new ShowEntityPageEvent(entityId: card.entity.entity.entityId)) ) ) ] diff --git a/lib/entities/badge.widget.dart b/lib/entities/badge.widget.dart index 5bf20b3..297db28 100644 --- a/lib/entities/badge.widget.dart +++ b/lib/entities/badge.widget.dart @@ -143,6 +143,6 @@ class BadgeWidget extends StatelessWidget { ], ), onTap: () => - eventBus.fire(new ShowEntityPageEvent(entity: entityModel.entityWrapper.entity))); + eventBus.fire(new ShowEntityPageEvent(entityId: entityModel.entityWrapper.entity.entityId))); } } \ No newline at end of file diff --git a/lib/entities/camera/widgets/camera_stream_view.dart b/lib/entities/camera/widgets/camera_stream_view.dart index 79637fc..14878c9 100644 --- a/lib/entities/camera/widgets/camera_stream_view.dart +++ b/lib/entities/camera/widgets/camera_stream_view.dart @@ -138,8 +138,7 @@ class _CameraStreamViewState extends State { iconSize: 40, color: Theme.of(context).accentColor, onPressed: _isLoaded ? () { - eventBus.fire(ShowEntityPageEvent()); - Navigator.of(context).push( + Navigator.of(context).pushReplacement( MaterialPageRoute( builder: (conext) => FullScreenPage( child: EntityModel( @@ -154,8 +153,8 @@ class _CameraStreamViewState extends State { ), fullscreenDialog: true ) - ).then((_) { - eventBus.fire(ShowEntityPageEvent(entity: _entity)); + ).then((_){ + eventBus.fire(ShowEntityPageEvent(entityId: _entity.entityId)); }); } : null, ) diff --git a/lib/entities/entity_page_layout.widget.dart b/lib/entities/entity_page_layout.widget.dart index ae9ddd3..1f129b5 100644 --- a/lib/entities/entity_page_layout.widget.dart +++ b/lib/entities/entity_page_layout.widget.dart @@ -2,10 +2,9 @@ part of '../main.dart'; class EntityPageLayout extends StatelessWidget { - final bool showClose; final Entity entity; - EntityPageLayout({Key key, this.showClose: false, this.entity}) : super(key: key); + EntityPageLayout({Key key, this.entity}) : super(key: key); @override Widget build(BuildContext context) { @@ -14,34 +13,6 @@ class EntityPageLayout extends StatelessWidget { child: ListView( padding: EdgeInsets.all(0), children: [ - showClose ? - Container( - color: Theme.of(context).primaryColor, - height: 40, - child: Row( - children: [ - Expanded( - child: Padding( - padding: EdgeInsets.only(left: 8), - child: Text( - entity.displayName, - style: Theme.of(context).primaryTextTheme.headline - ), - ), - ), - IconButton( - padding: EdgeInsets.all(0), - icon: Icon(Icons.close), - color: Theme.of(context).primaryTextTheme.headline.color, - iconSize: 36.0, - onPressed: () { - eventBus.fire(ShowEntityPageEvent()); - }, - ) - ], - ), - ) : - Container(height: 0, width: 0,), Padding( padding: EdgeInsets.only(top: Sizes.rowPadding, left: Sizes.leftWidgetPadding), child: DefaultEntityContainer(state: entity._buildStatePartForPage(context)), diff --git a/lib/entities/entity_wrapper.class.dart b/lib/entities/entity_wrapper.class.dart index 3d57d83..4d2fb8c 100644 --- a/lib/entities/entity_wrapper.class.dart +++ b/lib/entities/entity_wrapper.class.dart @@ -54,7 +54,7 @@ class EntityWrapper { case EntityUIAction.moreInfo: { eventBus.fire( - new ShowEntityPageEvent(entity: entity)); + new ShowEntityPageEvent(entityId: entity.entityId)); break; } @@ -94,7 +94,7 @@ class EntityWrapper { case EntityUIAction.moreInfo: { eventBus.fire( - new ShowEntityPageEvent(entity: entity)); + new ShowEntityPageEvent(entityId: entity.entityId)); break; } @@ -134,7 +134,7 @@ class EntityWrapper { case EntityUIAction.moreInfo: { eventBus.fire( - new ShowEntityPageEvent(entity: entity)); + new ShowEntityPageEvent(entityId: entity.entityId)); break; } diff --git a/lib/entities/media_player/widgets/media_player_widgets.dart b/lib/entities/media_player/widgets/media_player_widgets.dart index 90a43ea..4f05748 100644 --- a/lib/entities/media_player/widgets/media_player_widgets.dart +++ b/lib/entities/media_player/widgets/media_player_widgets.dart @@ -228,7 +228,7 @@ class MediaPlayerPlaybackControls extends StatelessWidget { IconButton( icon: Icon(MaterialDesignIcons.getIconDataFromIconName( "mdi:dots-vertical")), - onPressed: () => eventBus.fire(new ShowEntityPageEvent(entity: entity)) + onPressed: () => eventBus.fire(new ShowEntityPageEvent(entityId: entity.entityId)) ) ); } else if (entity.supportStop && entity.state != EntityState.off && entity.state != EntityState.unavailable) { diff --git a/lib/pages/main/main.page.dart b/lib/pages/main/main.page.dart index 2948e02..67ecc20 100644 --- a/lib/pages/main/main.page.dart +++ b/lib/pages/main/main.page.dart @@ -211,7 +211,7 @@ class _MainPageState extends State with WidgetsBindingObserver, Ticker if (_showEntityPageSubscription == null) { _showEntityPageSubscription = eventBus.on().listen((event) { - _showEntityPage(event.entity?.entityId); + _showEntityPage(event.entityId); }); } diff --git a/lib/pages/play_media.page.dart b/lib/pages/play_media.page.dart index 9a033cc..df60b13 100644 --- a/lib/pages/play_media.page.dart +++ b/lib/pages/play_media.page.dart @@ -105,7 +105,7 @@ class _PlayMediaPageState extends State { ); HomeAssistant().sendFromPlayerId = null; } - eventBus.fire(ShowEntityPageEvent(entity: entity)); + eventBus.fire(ShowEntityPageEvent(entityId: entity.entityId)); } } diff --git a/lib/types/event_bus_events.dart b/lib/types/event_bus_events.dart index 9d8df26..f22e369 100644 --- a/lib/types/event_bus_events.dart +++ b/lib/types/event_bus_events.dart @@ -77,9 +77,9 @@ class ShowPopupMessageEvent { } class ShowEntityPageEvent { - final Entity entity; + final String entityId; - ShowEntityPageEvent({this.entity}); + ShowEntityPageEvent({@required this.entityId}); } class ShowPageEvent {