initU function
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],
Starts u (storage, device/app/network info, notifications, loading overlay, web updates); locks portrait unless you pass deviceOrientations. Call once before runApp. await initU(baseUrl: "https://api.x.com");
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),
UStorage.init(),
UFileStorage.init(),
// One native round trip fills all three.
UDevice.init(),
UPackage.init(),
UConnectivity.init(),
]);
// Needs the package name (Windows app id), so after UPackage.
await UNotification.init();
ULoading.initialize(key: navigatorKey, settings: loadingSettings);
UWebUpdate.startWatching(silent: true);
}