initialize method

Future<void> initialize()

Implementation

Future<void> initialize() async {
  try {
    _prefs = await SharedPreferences.getInstance();

    final Map<String, dynamic> currentData = {};
    for (var key in _prefs.getKeys()) {
      if (key.startsWith(StorageConfig.prefsPrefix)) {
        final cleanKey = key.replaceFirst(StorageConfig.prefsPrefix, '');
        final value = _prefs.get(key);

        if (value is String && !key.contains(StorageConfig.imagePrefix)) {
          try {
            currentData[cleanKey] = jsonDecode(value);
          } catch (_) {
            currentData[cleanKey] = value;
          }
        } else {
          currentData[cleanKey] = value;
        }
      }
    }
    _dataSubject.add(currentData);
  } catch (e) {
    throw StorageException(
      'Error inicializando PrefsService',
      details: e.toString(),
      type: StorageType.prefs,
    );
  }
}