Protection class

Makes sure that onUnAutheticated access see the Widget It actually works and protect the routes
But the problem is on hotreload hotreload works when we have the user authenticated but seems not to work when we reauthenticate the user. For example User is Unauthenticated We present auth screen when user is authenticated we present the onAuthenticated Widget. Problem Now it seems that widget gets cached and build method of onAuthenticated Widget only gets called once.

onAuthenticated Widget to be protected I do not think there will be any issue regarding to screen flow other that for developer(only when we reauthenricate which happens quite less.)

Inheritance

Constructors

Protection({Key key, @required Widget onAuthenticated, Widget onUnAutheticated, @required FirebaseAuth auth})
const

Properties

auth FirebaseAuth
final
hashCode int
The hash code for this object. [...]
@nonVirtual, read-only, inherited
key Key
Controls how one widget replaces another widget in the tree. [...]
final, inherited
onAuthenticated Widget
final
onUnAutheticated Widget
final
runtimeType Type
A representation of the runtime type of the object.
read-only, inherited

Methods

createElement() StatefulElement
Creates a StatefulElement to manage this widget's location in the tree. [...]
inherited
createState() → _ProtectionState
Creates the mutable state for this widget at a given location in the tree. [...]
override
debugDescribeChildren() List<DiagnosticsNode>
Returns a list of DiagnosticsNode objects describing this node's children. [...]
@protected, inherited
debugFillProperties(DiagnosticPropertiesBuilder properties) → void
Add additional properties associated with the node. [...]
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a non-existent method or property is accessed. [...]
inherited
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

Operators

operator ==(Object other) bool
The equality operator. [...]
@nonVirtual, inherited