Files
rog_app/lib/features/initializer/app_initializer.dart
2024-04-01 09:26:56 +05:30

54 lines
1.3 KiB
Dart

import 'package:rogapp/features/initializer/camera_check.dart';
import 'package:rogapp/features/initializer/icheck.dart';
import 'package:rogapp/features/initializer/location_check.dart';
class AppInitializer {
final List<ICheck> checks;
AppInitializer()
: checks = [
LocationCheck(),
CameraCheck(),
//NetworkCheck(),
];
Future<bool> permissionStatus() async {
return await LocationCheck().locationPermissionStatus() &&
await CameraCheck().cameraPermissionStatus();
}
Future<bool> initializeApp() async {
if (!await runPreFlightChecks()) {
return false;
}
//await initializeTileCaching();
await loadInitialData();
await configureGlobalSettings();
// Add other initialization tasks as needed
return true;
}
Future<bool> runPreFlightChecks() async {
for (var check in checks) {
if (!await check.check()) {
return false;
}
}
return true;
}
Future<void> initializeTileCaching() async {}
Future<void> loadInitialData() async {
// Logic to preload data that your app will need
}
Future<void> configureGlobalSettings() async {
// Logic to set up any global configurations for your app
}
// You can add more methods for other initialization tasks
}