initialize static method
Future<void>
initialize({
- required SyncConfig provider,
- bool registerInGetIt = true,
- List<
IDownloadStrategy> ? downloadStrategies,
Inicializa o sistema de sync com o provider fornecido
provider
- Implementação do SyncConfig com todas as configurações
registerInGetIt
- Se deve registrar automaticamente no GetIt (padrão: true)
downloadStrategies
- Lista de estratégias de download (opcional, se não fornecida usa as do SyncConfig)
Implementation
static Future<void> initialize({
required SyncConfig provider,
bool registerInGetIt = true,
List<IDownloadStrategy>? downloadStrategies,
}) async {
if (_isInitialized) {
throw StateError(
'SyncConfigurator já foi inicializado. Use reset() antes de inicializar novamente.');
}
_provider = provider;
// Configurações são aplicadas através do provider
// SyncConfig permanece com valores padrão
// Registra dependências no GetIt se solicitado
if (registerInGetIt) {
_registerDependencies(provider, downloadStrategies);
}
// Inicializa o serviço interno de notificações se habilitadas
if (provider.enableNotifications) {
await SyncNotificationService.instance.initialize(enabled: true);
} else {
await SyncNotificationService.instance.initialize(enabled: false);
}
_isInitialized = true;
}