54 lines
1.3 KiB
Dart
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
|
|
}
|