initU function

Future<void> initU({
  1. String? baseUrl,
  2. String? apiKey,
  3. String defaultPhoneCountryCode = "IR",
  4. int snackBarDuration = 4,
  5. ULoadingSettings loadingSettings = const ULoadingSettings(blurAmount: 1, overlayColor: Colors.black12),
  6. List<DeviceOrientation> deviceOrientations = const <DeviceOrientation>[DeviceOrientation.portraitUp, DeviceOrientation.portraitDown],
})

Implementation

Future<void> initU({
  String? baseUrl,
  String? apiKey,
  String defaultPhoneCountryCode = "IR",
  int snackBarDuration = 4,
  ULoadingSettings loadingSettings = const ULoadingSettings(blurAmount: 1, overlayColor: Colors.black12),
  List<DeviceOrientation> deviceOrientations = const <DeviceOrientation>[
    DeviceOrientation.portraitUp,
    DeviceOrientation.portraitDown,
  ],
}) async {
  U.baseUrl = baseUrl ?? "";
  U.apiKey = apiKey ?? "";
  U.defaultPhoneCountryCode = defaultPhoneCountryCode;
  U.snackBarDuration = snackBarDuration;
  WidgetsFlutterBinding.ensureInitialized();
  await Future.wait(<Future<void>>[
    if (!kIsWeb) SystemChrome.setPreferredOrientations(deviceOrientations),
    ULocalStorage.init(),
    UFileStorage.init(),
    PackageInfo.fromPlatform().then((PackageInfo info) => UApp.packageInfo = info),
    UApp.initDeviceInfo(),
  ]);
  ULoading.initialize(key: navigatorKey, settings: loadingSettings);
  UWebUpdate.startWatching(silent: true);
}