scanDirectory method

Future<void> scanDirectory()

Implementation

Future<void> scanDirectory() async {
  if (!await outputDirectory.exists()) {
    await outputDirectory.create(recursive: true);
  }

  // Clear current files in cubit
  processCubit.clearFiles();
  final entities = outputDirectory.listSync(recursive: false);

  for (final entity in entities) {
    if (entity is File && _isMediaFile(entity.path)) {
      final fileStats = await entity.stat();
      final fileItem = FileItem(
        path: entity.path,
        title: _getFileName(entity.path),
        size: fileStats.size,
        type: _isVideoFile(entity.path) ? 'video' : 'audio',
      );
      processCubit.addFile(fileItem);
    }
  }
}