File tree Expand file tree Collapse file tree 2 files changed +17
-4
lines changed Expand file tree Collapse file tree 2 files changed +17
-4
lines changed Original file line number Diff line number Diff line change @@ -170,11 +170,10 @@ class ChangeNotifier implements Listenable {
170170 /// [notifyListeners] ; and similarly, by overriding [removeListener] , checking
171171 /// if [hasListeners] is false after calling `super.removeListener()` , and if
172172 /// so, stopping that same work.
173+ ///
174+ /// This method returns false if [dispose] has been called.
173175 @protected
174- bool get hasListeners {
175- assert (ChangeNotifier .debugAssertNotDisposed (this ));
176- return _count > 0 ;
177- }
176+ bool get hasListeners => _count > 0 ;
178177
179178 /// Register a closure to be called when the object changes.
180179 ///
Original file line number Diff line number Diff line change @@ -349,6 +349,20 @@ void main() {
349349 expect (error, isNull);
350350 });
351351
352+ test ('Can check hasListener on a disposed ChangeNotifier' , () {
353+ final HasListenersTester <int > source = HasListenersTester <int >(0 );
354+ source.addListener (() { });
355+ expect (source.testHasListeners, isTrue);
356+ FlutterError ? error;
357+ try {
358+ source.dispose ();
359+ expect (source.testHasListeners, isFalse);
360+ } on FlutterError catch (e) {
361+ error = e;
362+ }
363+ expect (error, isNull);
364+ });
365+
352366 test ('Value notifier' , () {
353367 final ValueNotifier <double > notifier = ValueNotifier <double >(2.0 );
354368
You can’t perform that action at this time.
0 commit comments