run method
Runs this command.
The return value is wrapped in a Future if necessary and returned by
CommandRunner.runCommand.
Implementation
@override
FutureOr run() async {
final shouldRunApp = argResults?['run'] ?? false;
try {
final emulatorPath = await _findEmulatorPath();
final emulators = await _listEmulators(emulatorPath);
if (emulators.isEmpty) {
print('No Android emulators found. '
'Please create one using Android Studio.');
return;
}
_displayEmulators(emulators);
final selectedIndex = await _getValidEmulatorSelection(emulators.length);
if (selectedIndex == null) {
print('Invalid selection. Operation cancelled.');
return;
}
print('\nLaunching emulator: ${emulators[selectedIndex]}...');
await _launchEmulator(emulators[selectedIndex], shouldRunApp);
} catch (e) {
print('Error: ${e.toString()}');
exit(1);
}
}