downloadAndActivate method Null safety

Future<void> downloadAndActivate(
  1. SpeechPackage pack
)

Downloads the speech package and activates it

Implementation

Future<void> downloadAndActivate(SpeechPackage pack) async {
  if (!activePackageStatus.isDownloaded || activePackageStatus.isUpdated) {
    download(pack);
    // Once extraction complete update and activate
    _speechPackWorkflow.onceState(
      SpeechPackState.extractComplete,
      (_) async {
        activePackageStatus =
            activePackageStatus.copyWith(isDownloaded: true);
        await _syncModelController.upsert(pack);
        await activate(pack);
      },
    );
  } else {
    await activate(pack);
  }
}