AppBootstrap class

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.

It takes care of:

  • App build versioning metadata
  • Device/screen layouts
  • User/authentication, displaying auth screens, logging out
  • Push notifications (Firebase)
  • App routing (using fluro) This includes deep linking
  • Analytics, crashlytics, error reporting

Constructors

AppBootstrap({AuthModule<Object> auth = const AnonymousAuthModule(), required RoutingModule routing, AppInfoModule appInfo = const DefaultAppInfoModule(), DeviceInfoModule deviceInfo = const DefaultDeviceInfoModule(), UserPrefsModule userPrefs = const DefaultUserPrefsModule(), LocalizationModule localization = const DefaultLocalizationModule(), AnalyticsModule analyticsInit = const DefaultAnalyticsModule(), PushNotificationModule? pushNotifications, InjectionModule injection = const ProviderInjectionModule(), TabSet? tabs, VersionCheckSettings? versionCheckSettings, bool isChangeBrightness = true, FirebaseApp? firebaseApp, Future completeStage1(LifecycleInit? init)? = defaultCompleteStage1, required String identifier, Widget buildPlatformApp(BuildContext context, Widget app) = defaultBuildPlatformApp, FRouter? router, void initWithinApp(BuildContext context)?, void initWithinNavigator(BuildContext context)?, void onUnauthenticatedError(BuildContext context) = noopBuildContext, Widget loggedInWidget(UserDetails profile)?, Getter<Widget>? loggedOutWidget, Getter<Widget>? splashPageWidget, required String appTitle, String? baseApiUrl, Widget buildOuterContext(Widget inner) = defaultBuildOuterContext, ThemesBuilder themesBuilder = buildDefaultThemes, List<LoginProvider> loginProviders = const [], Stream<ErrorStack>? appErrors, ScreenInit screenInit = defaultScreenInit, Future<bool> onPreLogout()?})

Properties

analyticsInit → AnalyticsModule
final
appErrors → Stream<ErrorStack>
final
appInfo → AppInfoModule
final
appTitle → String
final
auth → AuthModule<Object>
final
baseApiUrl → String?
final
buildOuterContext → Widget Function(Widget inner)
final
buildPlatformApp → Widget Function(BuildContext context, Widget app)
final
completeStage1 → Future Function(LifecycleInit? init)?
final
deviceInfo → DeviceInfoModule
final
firebaseApp → FirebaseApp?
final
hashCode → int
The hash code for this object.
no setterinherited
identifier → String
final
initWithinApp → void Function(BuildContext context)?
final
initWithinNavigator → void Function(BuildContext context)?
final
injection → InjectionModule
final
innerContext ↔ BuildContext?
getter/setter pair
isChangeBrightness → bool
final
lifecycleInit ↔ LifecycleInit?
Stateful property that contains the parameters gathered during initialization
getter/setter pair
localization → LocalizationModule
final
loggedInWidget → Widget Function(UserDetails profile)?
final
loggedOutWidget → Getter<Widget>?
final
loginProviders → List<LoginProvider>
final
modules → List<Object>
no setter
onPreLogout → Future<bool> Function()?
final
onUnauthenticatedError → void Function(BuildContext context)
final
pushNotifications → PushNotificationModule?
final
router → FRouter?
final
routing → RoutingModule
final
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
screenInit → ScreenInit
final
serviceResolver → BuildContextResolver
no setter
splashPageWidget → Getter<Widget>?
final
tabs → TabSet?
final
themesBuilder → ThemesBuilder
final
userPrefs → UserPrefsModule
final
versionCheckSettings → VersionCheckSettings?
You can provide this to enforce that your application is within a certain version range
final

Methods

buildRootWidget() → Future<Widget>
initializeFromWithin(BuildContext innerContext) → void
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
run() → Future
toString() → String
A string representation of this object.
inherited

Operators

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

Static Methods

current() → AppBootstrap
currentContext() → BuildContext