saveLayoutConfig method

  1. @override
Future<bool> saveLayoutConfig(
  1. LayoutConfig config
)
override

Save a layout configuration

Implementation

@override
Future<bool> saveLayoutConfig(LayoutConfig config) async {
  await _ensureInitialized();

  // Update the config's last modified timestamp
  config = LayoutConfig(
    id: config.id,
    name: config.name,
    positions: config.positions,
    lastModified: DateTime.now(),
  );

  // Save the config
  final jsonString = jsonEncode(config.toJson());
  final result =
      await _prefs.setString('$_layoutConfigPrefix${config.id}', jsonString);

  // Update the list of all config IDs
  Set<String> allIds = Set.from(_prefs.getStringList(_allConfigIdsKey) ?? []);
  allIds.add(config.id);
  await _prefs.setStringList(_allConfigIdsKey, allIds.toList());

  return result;
}