getAllVersions method
Lists Installed Flutter SDK Version
Implementation
Future<List<CacheFlutterVersion>> getAllVersions() async {
final versionsDir = Directory(context.versionsCachePath);
// Returns empty array if directory does not exist
if (!await versionsDir.exists()) return [];
final versions = await versionsDir.list().toList();
final cacheVersions = <CacheFlutterVersion>[];
for (var version in versions) {
if (version.path.isDir()) {
final name = path.basename(version.path);
final cacheVersion = getVersion(FlutterVersion.parse(name));
if (cacheVersion != null) {
cacheVersions.add(cacheVersion);
}
}
}
cacheVersions.sort((a, b) => a.compareTo(b));
return cacheVersions.reversed.toList();
}