useApp method

void useApp(
  1. FusabaseApp app
)

Rebinds this App Trust instance to a newly initialized app with the same name while preserving the active provider and cached token.

Implementation

void useApp(FusabaseApp app) {
  if (identical(this.app, app)) {
    app.setInternalAppTrustInstance(this);
    return;
  }

  final previousState = _state;
  final previousToken = previousState?.cachedToken;
  this.app = app;
  app.setInternalAppTrustInstance(this);

  if (previousToken != null) {
    app.setInternalAppTrustToken(previousToken.token);
    app.setInternalPersistedAppTrustToken(previousToken.token);
  }

  if (previousState != null) {
    _state = _AppTrustState(app: app, webProvider: previousState.webProvider)
      ..cachedToken = previousState.cachedToken;
  }
}