setupActivePack method Null safety
- SpeechPackage pack
Setup active conditions
Implementation
Future<void> setupActivePack(SpeechPackage pack) async {
final conditions = await _fileCtrl.loadConditions(pack);
final conditionsByType =
groupBy(conditions, (SpeechCondition condition) => condition.type);
activeConditions = {};
for (final conditionType in conditionsByType.entries) {
final conditionsByMode = groupBy(
conditionType.value, (SpeechCondition condition) => condition.mode);
activeConditions[conditionType.key] = conditionsByMode;
}
pack = packages.replaceFirstWhere(
(ele) => ele.id == pack.id,
value: pack.copyWith(conditions: conditions),
)!;
await _syncModelController.upsert(pack);
// Activate pack
activePackageStatus = activePackageStatus.copyWith(isActivated: true);
activePackage(pack);
}