main function
Implementation
Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
// Configuración para ignorar certificados SSL
bool ignoreSSL = true; // Cambia esta variable según sea necesario
if (ignoreSSL) {
HttpOverrides.global = MyHttpOverrides();
}
// Inicializar el sistema de notificaciones
await _initializeNotifications();
await Firebase.initializeApp();
await loadTheme(); // Cargar el tema guardado
// Instancias de servicios que sincronizan pendientes
final MonitoreoService _monitoreoService = MonitoreoService();
final CoordenadasService _coordenadasService = CoordenadasService();
final UmsService _umsService = UmsService();
final UmsCoordenadasService _umsCoordService = UmsCoordenadasService();
final SolicitudService _solicitudService = SolicitudService();
final SpeciesService _speciesService = SpeciesService();
final DetalleEspecieService _detalleService = DetalleEspecieService();
final PalmaService _palmaService = PalmaService();
final ArbolService _arbolService = ArbolService();
// <-- AÑADIDO: instancia de AddIndividuoService
final AddIndividuoService _addIndividuoService = AddIndividuoService();
// Lógica para manejar cambios de conectividad
Connectivity().onConnectivityChanged.listen((ConnectivityResult result) {
if (result != ConnectivityResult.none) {
// Monitoreos pendientes
_monitoreoService.checkAndSyncPendingMonitoreos();
// Coordenadas de predios pendientes
_coordenadasService.checkAndSyncPendingCoordenadas();
// UMS pendientes
_umsService.checkAndSyncPendingUms();
// Coordenadas UMS pendientes
_umsCoordService.checkAndSyncPendingUmsCoordenadas();
// Solicitudes pendientes
_solicitudService.checkAndSyncPendingSolicitudes();
// Especies pendientes
_speciesService.checkAndSyncPending();
// Detalle de especie pendientes
_detalleService.checkAndSyncPendingDetalles();
// Palmas pendientes
_palmaService.checkAndSyncPendingPalmas();
// Árboles pendientes
_arbolService.checkAndSyncPendingArboles();
// <-- AÑADIDO: sincronizar individuos pendientes
_addIndividuoService.checkAndSyncPending();
}
});
runApp(MyApp(
monitoreoService: _monitoreoService,
coordenadasService: _coordenadasService,
umsService: _umsService,
umsCoordService: _umsCoordService,
solicitudService: _solicitudService,
speciesService: _speciesService,
detalleService: _detalleService,
palmaService: _palmaService,
arbolService: _arbolService,
addIndividuoService: _addIndividuoService, // <-- AÑADIDO al constructor
));
}