loadAssets method
Retrieve all asset files, including diving deep if there are folders inside
Implementation
Future<List<FileSystemEntity>> loadAssets(String assetsPath) async {
final dir = Directory("${getCurrentPath}/$assetsPath");
final List<FileSystemEntity> entities = [];
if (await dir.exists()) {
final List<FileSystemEntity> list = await dir.list().toList();
for (var entity in list) {
if (entity is File && entity.uri.pathSegments.last.contains('.')) {
entities.add(entity);
} else if (entity is Directory) {
final List<FileSystemEntity> subEntities = await loadAssets(
entity.path.replaceAll("$getCurrentPath/", ""),
);
entities.addAll(subEntities);
}
}
} else {
print('Directory does not exist: ${dir.path}');
}
return entities;
}