NetworkNotifier class
A ChangeNotifier that wraps NetworkManager and exposes the current NetworkState as a listenable property.
Drop this into ChangeNotifierProvider or any widget that consumes
ChangeNotifier:
// Setup
ChangeNotifierProvider(
create: (_) => NetworkNotifier(networkManager),
child: MyApp(),
);
// Consume in widget
final notifier = context.watch<NetworkNotifier>();
switch (notifier.state) {
case Loading() => CircularProgressIndicator(),
case Success() => Text('${notifier.state}'),
case Offline() => Text('You are offline'),
// ...
}
- Inheritance
-
- Object
- ChangeNotifier
- NetworkNotifier
Constructors
- NetworkNotifier(NetworkManager _manager)
- Creates a NetworkNotifier bound to the given NetworkManager.
Properties
- hashCode → int
-
The hash code for this object.
no setterinherited
- hasListeners → bool
-
Whether any listeners are currently registered.
no setterinherited
- isOnline → bool
-
Shorthand: whether the device is online.
no setter
- manager → NetworkManager
-
The underlying NetworkManager for advanced operations.
no setter
- queuedRequests → int
-
Shorthand: number of queued requests.
no setter
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
- state → NetworkState
-
The current NetworkState.
no setter
Methods
-
addListener(
VoidCallback listener) → void -
Register a closure to be called when the object changes.
inherited
-
dispose(
) → void -
Discards any resources used by the object. After this is called, the
object is not in a usable state and should be discarded (calls to
addListener will throw after the object is disposed).
override
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
notifyListeners(
) → void -
Call all the registered listeners.
inherited
-
removeListener(
VoidCallback listener) → void -
Remove a previously registered closure from the list of closures that are
notified when the object changes.
inherited
-
request<
T> (Future< T> requestFn(), {String? cacheKey, NetworkStrategy? strategy, Duration? cacheTtl}) → Future<T?> - Execute a request and automatically notify listeners as state changes.
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited