Jonatas

improve status change

@@ -108,11 +108,17 @@ abstract class GetNotifier<T> extends Value<T> with GetLifeCycle { @@ -108,11 +108,17 @@ abstract class GetNotifier<T> extends Value<T> with GetLifeCycle {
108 108
109 @protected 109 @protected
110 void change(T newState, {RxStatus status}) { 110 void change(T newState, {RxStatus status}) {
  111 + var _canUpdate = false;
111 if (status != null) { 112 if (status != null) {
112 _status = status; 113 _status = status;
  114 + _canUpdate = true;
113 } 115 }
114 if (newState != _value) { 116 if (newState != _value) {
115 - value = newState; 117 + _value = newState;
  118 + _canUpdate = true;
  119 + }
  120 + if (_canUpdate) {
  121 + updater();
116 } 122 }
117 } 123 }
118 124
@@ -5,6 +5,7 @@ import 'simple_builder.dart'; @@ -5,6 +5,7 @@ import 'simple_builder.dart';
5 class ListNotifier implements Listenable { 5 class ListNotifier implements Listenable {
6 List<VoidCallback> _listeners = <VoidCallback>[]; 6 List<VoidCallback> _listeners = <VoidCallback>[];
7 7
  8 + @protected
8 void updater() { 9 void updater() {
9 assert(_debugAssertNotDisposed()); 10 assert(_debugAssertNotDisposed());
10 for (var element in _listeners) { 11 for (var element in _listeners) {