forceSync method

  1. @override
Future<void> forceSync({
  1. bool isManualCall = true,
})
override

Implementation

@override
Future<void> forceSync({bool isManualCall = true}) async {
  if (_isDisposed) {
    _log('warning', 'ForceSync ignorado: serviço foi disposed');
    return;
  }

  _log('info', 'ForceSync chamado', metadata: {
    'isManualCall': isManualCall,
    'status': syncData.value.status.name
  });

  if (!isOnline.value && !_isInOfflineMode) {
    _updateSyncStatus(SyncStatus.offline, 'Sem conexão com a internet');
    return;
  }

  if (isManualCall) {
    _handleManualSyncRequest();
  }

  if (isManualCall) {
    _updateSyncStatus(SyncStatus.syncing, 'Iniciando sincronização...');
    unawaited(_executeSyncSafely(isManualCall: true));
  } else {
    await _executeSyncSafely(isManualCall: false);
  }
}