Files
plezy/lib/mixins/disposable_change_notifier_mixin.dart

23 lines
558 B
Dart

import 'package:flutter/foundation.dart';
/// Adds [safeNotifyListeners] which no-ops after [dispose]. Use in providers
/// that fire from async paths where a late callback could otherwise trip
/// Flutter's debug-only "used after dispose" assert.
mixin DisposableChangeNotifierMixin on ChangeNotifier {
bool _disposed = false;
bool get isDisposed => _disposed;
bool safeNotifyListeners() {
if (_disposed) return false;
notifyListeners();
return true;
}
@override
void dispose() {
_disposed = true;
super.dispose();
}
}