run method
Future
run(
[ - 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,
);
}
}