initialize static method
Inicializa o sistema de sincronização com um SyncConfig
provider
- Configuração do sistema de sincronização
downloadStrategies
- Lista de estratégias de download (opcional, se não fornecida usa as do SyncConfig)
Implementation
static Future<void> initialize(
SyncConfig provider, {
List<IDownloadStrategy>? downloadStrategies,
}) async {
if (_isInitialized) {
_defaultLogger.info('SyncInitializer já foi inicializado',
category: 'SyncInitializer');
return;
}
try {
// Armazena o provider
_provider = provider;
_defaultLogger.info('SyncConfig configurado com sucesso',
category: 'SyncInitializer');
// Configura o tema se fornecido
if (provider.theme != null) {
SyncThemeProvider.setTheme(provider.theme!);
}
// Inicializa o SyncConfigurator com o provider
SyncConfigurator.initialize(provider: provider, downloadStrategies: downloadStrategies);
_defaultLogger.info('SyncConfigurator inicializado com sucesso',
category: 'SyncInitializer');
_isInitialized = true;
_defaultLogger.info('SyncInitializer inicializado com sucesso',
category: 'SyncInitializer');
} catch (e, stackTrace) {
_defaultLogger.error(
'Erro ao inicializar SyncInitializer: $e',
category: 'SyncInitializer',
exception: e,
stackTrace: stackTrace.toString(),
);
rethrow;
}
}