run method

Future run([
  1. dynamic callback
])

Implementation

Future<dynamic> run([dynamic callback]) async {
  rf = this;
  pref = await SharedPreferences.getInstance();
  // if (addNotification!) {
  //   try {} catch (e) {
  //     // print(e);
  //   }
  // }
  _config.configure(_configuration);
  _configuration.model.appModels!.register(g.modelList); //==>>>>
  Libs.config = _configuration;
  if (addNotification! && _configuration.Firebase.APIKey != null) {
    try {
      await initFirebase();

      FirebaseMessaging.onBackgroundMessage(
          _firebaseMessagingBackgroundHandler);
      flutterLocalNotificationsPlugin = FlutterLocalNotificationsPlugin();
      await flutterLocalNotificationsPlugin!
          .resolvePlatformSpecificImplementation<
              AndroidFlutterLocalNotificationsPlugin>()
          ?.createNotificationChannel(channel);
    } catch (e) {

    }
  }
  accessControl = AccessControl();
  db = Db();
  rdb = Rdb();
  api = Api();
  app = App();
  lang = Res();
  mapper = Mapper();
  style = AppStyles();
  page = PageAction();
  models = Libs.appModels.get();

  if (AppOnboardRF.currentStep == 0) {
    onboard = AppOnboardRF(
      splash: AppOnboardRF.addItem(_configuration, OnboardItemsRF.splash),
      language: AppOnboardRF.addItem(_configuration, OnboardItemsRF.language),
      intro: AppOnboardRF.addItem(_configuration, OnboardItemsRF.intro),
      login: AppOnboardRF.addItem(_configuration, OnboardItemsRF.login),
      otp: AppOnboardRF.addItem(_configuration, OnboardItemsRF.otp),
      initialSetup:
          AppOnboardRF.addItem(_configuration, OnboardItemsRF.setup),
      home: AppOnboardRF.addItem(_configuration, OnboardItemsRF.home),
    );
    AppOnboardRF.loadOnboardItems(onboard!);
  }

  appUser = AppUser();
  appUser!.Name = 'Anawer Hossain';
  Libs.appUser = appUser!;

  Libs.msg = msg;

  _configuration.app.init?.forEach((element) => element.call());

  if (callback.toString().contains('Closure: () => Null')) {
    if (_handelGlobalError!) {
      callback();
    }
  } else {
    if (!_handelGlobalError!) {
      callback(RestartRF(RapidFireAppRF(_startPage ?? onboard!.next())));
    }
  }

  await pref!.setString(ConstRF.dbName, _configuration.db.name);
  await pref!.setInt(ConstRF.dbVersion, _configuration.db.version);
  //await rf.db.execute('update Beneficiary set UserId = 240');
  PageRF.keyboardOpened = false;

  if (_configuration.service.periodicSyncJob != null) {
    startPeriodicSync(
      _configuration.service.periodicSyncJob!,
      _configuration.service.periodicSyncInterval,
    );
  }
}