RaiiListenableListener<T extends Listenable> class
A lifecycle implementation that manages the lifecycle of a listener attached to a Listenable.
This class provides automatic management of listeners for any Listenable object (such as ChangeNotifier, ValueNotifier, or custom implementations). It ensures that listeners are properly added during initialization and removed during disposal.
Example:
// Basic usage with ValueNotifier
final counter = ValueNotifier(0).withLifecycle(lifecycleAware);
RaiiListenableListener.withLifecycle(
lifecycleAware,
listenable: counter,
onListen: () => print('Counter changed: ${counter.value}'),
debugLabel: 'CounterListener',
);
// Usage with animation controller
final animation = AnimationController(vsync: this)
.withLifecycle(lifecycleAware);
RaiiListenableListener.withLifecycle(
lifecycleAware,
listenable: animation,
onListen: () => print('Animation value: ${animation.value}'),
debugLabel: 'AnimationListener',
);
// Usage with custom ChangeNotifier
class UserModel extends ChangeNotifier {
String name = '';
void updateName(String newName) {
name = newName;
notifyListeners();
}
}
final user = UserModel();
RaiiListenableListener.withLifecycle(
lifecycleAware,
listenable: user,
onListen: () => print('User updated: ${user.name}'),
debugLabel: 'UserModelListener',
);
- Mixed-in types
Constructors
- RaiiListenableListener.withLifecycle(RaiiLifecycleAware lifecycleAware, {required T listenable, required VoidCallback onListen, String? debugLabel})
-
Creates a RaiiListenableListener and attaches it to the provided
lifecycleAware
.
Properties
- debugLabel → String?
-
Optional label for debugging purposes.
final
- hashCode → int
-
The hash code for this object.
no setterinherited
- listenable → T
-
The listenable object to which the listener will be attached.
final
- onListen → VoidCallback
-
The callback that will be executed when the listenable notifies its listeners.
final
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
disposeLifecycle(
) → void -
Disposes of any resources held by this object.
override
-
initLifecycle(
) → void -
Initializes the lifecycle of this object.
override
-
isLifecycleMounted(
) → bool -
Returns whether this object's lifecycle is currently mounted.
inherited
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited