init method

Future<void> init()

Initialize storage — open SQLite, migrate legacy SharedPreferences data.

Implementation

Future<void> init() async {
  _dbAvailable = await _sqliteStorage.open();
  _syncStorageState();
  _loadPersistedPendingSqliteDeleteIds();
  if (_dbAvailable) {
    _recordDbOpenSuccess();
    if (_pendingSqliteDeleteIds.isNotEmpty) {
      await _retryPendingSqliteDeletesLocked();
    }
  } else {
    _recordDbOpenFailure();
  }

  if (_dbAvailable) {
    await _migrateLegacyEvents();
    _syncStorageState();
    // Drain any memory queue events that accumulated
    if (_dbAvailable && _memoryQueue.isNotEmpty) {
      await _memoryQueue.drainToDb(_sqliteStorage);
      _syncStorageState();
    }
  }
}