PersistentContext class

Provides persistent data from shared preferences to all the descending widgets and allows to update it synchronously.

Variables are read and written as simple key-values pairs, where the key is a generic String and the value has any of the following: String, int, double, bool.

For a more robust implementation it is reccomended that you extend this class and add getters and setters for variable, as needed by your application.

Inheritance

Constructors

PersistentContext({Key? key, required Widget child, Map<String, dynamic> defaultValues = const {}, String prefix = '', SharedPreferences? sharedPreferencesInstance})
Creates a widget that provides persistent data from shared preferences to all the descending widgets and allows to update it synchronously.

Properties

child Widget
The widget below this widget in the tree.
finalinherited
defaultValues Map<String, dynamic>
A map of default values for each variable
final
hashCode int
The hash code for this object.
no setterinherited
key Key?
Controls how one widget replaces another widget in the tree.
finalinherited
notifier PersistentContextNotifier?
The Listenable object to which to listen.
finalinherited
prefix String
A prefix for local preferences names, that can be used to have variables with the same name in different contexts of the same app
final
ready Future<bool>
A future that completes with true when shared preferences are loaded and ready to be used. It will imediately complete if the optional SharedPreferences instance is passed to the constructor.
no setter
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

createElement() InheritedElement
Inflates this configuration to a concrete instance.
inherited
debugDescribeChildren() List<DiagnosticsNode>
Returns a list of DiagnosticsNode objects describing this node's children.
inherited
debugFillProperties(DiagnosticPropertiesBuilder properties) → void
Add additional properties associated with the node.
inherited
get(String key) → dynamic
Gets a persistent record value given its key.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
set(String key, dynamic value) → void
Sets a persistent record given a key and value.
toDiagnosticsNode({String? name, DiagnosticsTreeStyle? style}) DiagnosticsNode
Returns a debug representation of the object that is used by debugging tools and by DiagnosticsNode.toStringDeep.
inherited
toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) String
A string representation of this object.
inherited
toStringDeep({String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug}) String
Returns a string representation of this node and its descendants.
inherited
toStringShallow({String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) String
Returns a one-line detailed description of the object.
inherited
toStringShort() String
A short, textual description of this widget.
inherited
updateShouldNotify(covariant InheritedNotifier<PersistentContextNotifier> oldWidget) bool
Whether the framework should notify widgets that inherit from this widget.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited

Static Methods

of(BuildContext context) PersistentContext
The PersistentContext instance for the given BuildContext