saveLayoutConfig method
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;
}