getAppDocumentDirectoryContent method

dynamic getAppDocumentDirectoryContent()

Implementation

getAppDocumentDirectoryContent() async {
  List<File> tempFiles = [];
  List<String> modifiedAssetList = soundEditAssetList.map((assetPath) {
    return assetPath.split('assets//').last;
  }).toList();
  Set<String> combinedSet;
  List<String> combinedList = [];
  final excludedExtensions = [
    '.png',
    '.jpeg',
    '.jpg',
    '.DC_Store',
    'webp',
    'res_timestamp'
  ];
  var list = await listFilesInApplicationDocumentsDirectory();
  await getApplicationAssetsList(modifiedAssetList);
  if (list.isEmpty) {
    combinedList = modifiedAssetList;
  } else {
    combinedSet = <String>{}
      ..addAll(list)
      ..addAll(modifiedAssetList);
    combinedList = combinedSet.toList();
  }
  for (final path in combinedList) {
    final fileName = basename(path);
    bool excluded = false;

    for (final extension in excludedExtensions) {
      if (fileName.contains(extension)) {
        excluded = true;
        break;
      }
    }
    if (!excluded) {
      tempFiles.add(File(path));
    }
  }
  fileList = tempFiles;
}