sunny_lifecycle
library
Classes
AnalyticsNavigatorObserver
AnalyticsProvider
Any new provider can adapt this.
AnalyticsService
ApiKeyAuth
AppBootstrap
This class accepts a wide array of strategies for various things, and then
loads the app in a way that makes sure everything is scoped properly.
AppContextEvents
It's common that you want to fire an event, but only within the "app" context, ie.
inside of a MaterialApp or CupertinoApp . This service lets you fire those
events anywhere in the codebase, and they will get picked up and run inside
the appropriate context.
AppInfo
AppleLoginProvider
AppWidgets
Authentication
AuthEvent
AuthIcons
AuthIconsData
AuthResponse
AuthUserProfile
The combination of a firebase user + a reliveit user profile. Most places in the
app want to subscribe to auth events after the user profile has been loaded to
distinguish from an account that's in the process of being created.
BearerAuthentication
BuildContextResolver
DeviceInfo
DualResolver
Resolves first against a kiwi context as well as the normal Provider.
Registrations are done against kiwi only.
EmailPasswordCredentials
EmailPasswordLoginProvider
FadeAnimationPage <T >
FallbackAppInfo
Contains fallback app info, in case we can't look up app info from apple's servers
FirebaseAuthState
ForcedUpgrade
FRouterChildInfoProvider
FRouterDelegate
FRouterInformationParser
FRouterNavigatorObserver
FRouterRootProvider
FRouterRootProviderPlatform
FRouteState
GeoPoint
GoogleLoginProvider
HelpSnippet
HttpBasicAuthentication
IAuthState
IHelpService
InfoX
Inst <T extends Object >
Class used for defining container instances
IUserPreferencesService
JsonUri
LifecycleAware
LifecycleAwareBase
LifecycleExtensions
LifecycleInit
These are the variables loaded before we attempt to start the flutter runtime.
LoginProvider
NavigatorContextWidget
Notification
OAuth
PendingRoute
PushDestinationUrlBody
PushEventsBody
PushMessageContent
PushMessageType
PushNotificationService
Service that configures FCM messaging. Any component can subscribe to inbound push notifications via PushNotificationService.pushStream , but
a PushHandlerService
is required for exclusive handling of an inbound message. Basically, if you want to
display something.
RootNavigatorObserver
SourcedPushMessage
SunnyCore
Context holder for sunny-related services
SunnyCrashlytics
SunnyGet
Base interface for doing service lookups. This can work with the provider
package, or a injector framework like kiwi
SunnyGetLib
Makes it easier to import
SunnyInfoX
SunnyInjector
SunnyLocalization
Based on the timezone package - provides the user's timezone and location (not GPS, just generalized)
TabDisplay
Represents the display parameters of a tab
TabRouteObserver
Passes events from a child router up to the root. It's assumed that
the root provider will not receive these events without this connector
and that it should only report the url out to the navigator
TabSet
A set of tabs, including the default tab.
TabState
The state of a single tab.
UserDetails
Functions
analyticsValue (dynamic value , [int depth = 0 ])
→ dynamic
backgroundMessageHandler (Map <String , dynamic > message )
→ Future
buildDefaultPlatformApp (BuildContext context , Widget app )
→ Widget
buildDefaultThemes (Brightness ? brightness )
→ Themes
goToAppStore (BuildContext context , AppInfo info )
→ Future
loadDeviceInfo ()
→ Future <DeviceInfo >
loginModalConstraints (BuildContext context )
→ BoxConstraints ?
never <T > (T a , T b )
→ bool
notEquals <T > (T a , T b )
→ bool
provider <E > (LifecycleAwareBuilder <E > create , {bool lazy = true , Widget ? child })
→ Provider<E >
proxy <E , A > (LifecycleAwareBuilder2 <E , A > create , {bool lazy = true , Widget ? child })
→ ProxyProvider<A , E >
proxy2 <E , A , B > (LifecycleAwareBuilder3 <E , A , B > create , {bool lazy = true , Widget ? child })
→ ProxyProvider2<A , B , E >
proxy3 <E , A , B , C > (LifecycleAwareBuilder4 <E , A , B , C > create , {bool lazy = true , Widget ? child })
→ ProxyProvider3<A , B , C , E >
resolveDeepLinks (BuildContext context , dynamic uri )
→ DeepLinkHandler ?
rootAppRouteMatch ([Widget splashPage ()? ])
→ AppRouteMatch<dynamic , RouteParams >
routeGo ()
→ void
whenNotNull <T > (T a , T b )
→ bool
xprovider <E > (LifecycleAwareContextBuilder <E > create , {bool lazy = true , Widget ? child })
→ Provider<E >
xproxy <E , A > (LifecycleAwareContextBuilder2 <E , A > create , {bool lazy = true , Widget ? child })
→ ProxyProvider<A , E >
xproxy2 <E , A , B > (LifecycleAwareContextBuilder3 <E , A , B > create , {bool lazy = true , Widget ? child })
→ ProxyProvider2<A , B , E >
Typedefs
AccountCompleter <P extends UserDetails >
= Future <P > Function(BuildContext context , User? profile , String accessToken )
AppContextHandler
= FutureOr Function(BuildContext context )
AsyncOrCallback
= FutureOr Function()
ChildWidgetBuilder
= Widget Function(BuildContext context , Widget child )
DeepLinkHandler <T >
= Future <T? > Function(BuildContext context )
InjectorInit
= FutureOr Function(Container container )
InstDispose <T >
= FutureOr Function(T t )
InstInitFn <T >
= T Function(BuildContext context )
LifecycleAwareBuilder <L >
= L Function()
LifecycleAwareBuilder2 <L , T >
= L Function(T other )
LifecycleAwareBuilder3 <L , A , B >
= L Function(A other , B other2 )
LifecycleAwareBuilder4 <L , A , B , C >
= L Function(A a , B b , C c )
LifecycleAwareContextBuilder <L >
= L Function(BuildContext context )
LifecycleAwareContextBuilder2 <L , T >
= L Function(BuildContext context , T other )
LifecycleAwareContextBuilder3 <L , A , B >
= L Function(BuildContext context , A other , B other2 )
LifecycleCallback <T >
= FutureOr <T > Function()
ProfileLoader
= Future <UserDetails > Function(User firebaseUser )
ProfileName <P >
= String Function(P profile )
PushMessageConsumer
= FutureOr <bool > Function(PushSource source , PushMessageContent message )
ShouldNotify <T >
= bool Function(T a , T b )
ThemesBuilder
= Themes Function(Brightness ? brightness )