Fix state handling on entity view page

This commit is contained in:
estevez
2018-09-29 17:59:38 +03:00
parent 6834f2ca34
commit 2fcd27d240
4 changed files with 19 additions and 4 deletions

View File

@ -13,12 +13,21 @@ class _EntityViewPageState extends State<EntityViewPage> {
String _title;
Entity _entity;
String _lastState;
StreamSubscription _stateSubscription;
@override
void initState() {
super.initState();
_entity = widget.entity;
_lastState = _entity.state;
if (_stateSubscription != null) _stateSubscription.cancel();
_stateSubscription = eventBus.on<StateChangedEvent>().listen((event) {
setState(() {
if (event.entityId == _entity.entityId) {
_lastState = event.newState ?? _entity.state;
}
});
});
_prepareData();
}
@ -47,4 +56,10 @@ class _EntityViewPageState extends State<EntityViewPage> {
),
);
}
@override
void dispose(){
if (_stateSubscription != null) _stateSubscription.cancel();
super.dispose();
}
}