launchApplication static method

Future<void> launchApplication(
  1. ApplicationModel? app, {
  2. bool navigate = true,
})

Implementation

static Future<void> launchApplication(ApplicationModel? app, {bool navigate = true}) async {

  if (app == null) return;

  // close the current application
  if (app != currentApp) _closeCurrentApp();

  // set the default domain for url conversion
  URI.rootHost = app.domain ?? "";

  // open new application
  Log().info("Launching Application (${app.title}) @ ${app.domain}");

  // wait for app to initialize
  await app.initialized;

  // set branding
  if (_brandedApp != null) _setBranding(_brandedApp!.company ?? mainIcon);

  // update application level bindables
  _domain?.set(app.domain);
  _scheme?.set(app.scheme);
  _host?.set(app.host);

  //  activate the app
  await app.setActive();

  // navigate to page?
  if (navigate) {
    NavigationManager().navigateTo(app.homePage);
  }
}