main
dart 24 lines 704 Bytes
Raw
1 import 'dart:io';
2
3 import 'package:path_provider/path_provider.dart';
4
5 import '../../../core/models/enums.dart';
6
7 class ModelDownloader {
8 Future<Directory> getTtsDir() async {
9 final supportDir = await getApplicationSupportDirectory();
10 final dir = Directory('${supportDir.path}/tts_models');
11 if (!await dir.exists()) {
12 await dir.create(recursive: true);
13 }
14 return dir;
15 }
16
17 Future<bool> isEngineDownloaded(EngineId engine) async {
18 final ttsDir = await getTtsDir();
19 final engineDir = Directory('${ttsDir.path}/${engine.name}');
20 if (!await engineDir.exists()) return false;
21 final entities = await engineDir.list().toList();
22 return entities.isNotEmpty;
23 }
24 }