getAvailableAvds function
Implementation
Future<List<AvdInfo>> getAvailableAvds() async {
final avdHome = Platform.environment['ANDROID_AVD_HOME'] ??
p.join(Platform.environment['HOME']!, '.android', 'avd');
final avdDirectory = Directory(avdHome);
if (!await avdDirectory.exists()) {
print('❌ AVD directory does not exist at $avdHome');
return [];
}
final avdDirs = await avdDirectory
.list()
.where((entity) => entity is Directory && entity.path.endsWith('.avd'))
.toList();
List<AvdInfo> avds = [];
for (final entity in avdDirs) {
final dir = entity as Directory;
final size = await _getDirectorySize(dir);
final name = p.basenameWithoutExtension(dir.path);
avds.add(AvdInfo(name: name, sizeBytes: size));
}
return avds;
}