Unverified Commit 612ef209 authored by J-P Nurmi's avatar J-P Nurmi Committed by GitHub

[flutter_tools] use 1-based index for device selection (#72189)

parent e0462c6c
...@@ -305,11 +305,11 @@ abstract class DeviceManager { ...@@ -305,11 +305,11 @@ abstract class DeviceManager {
if (userInput.toLowerCase() == 'q') { if (userInput.toLowerCase() == 'q') {
throwToolExit(''); throwToolExit('');
} }
return devices[int.parse(userInput)]; return devices[int.parse(userInput) - 1];
} }
void _displayDeviceOptions(List<Device> devices) { void _displayDeviceOptions(List<Device> devices) {
int count = 0; int count = 1;
for (final Device device in devices) { for (final Device device in devices) {
_logger.printStatus(_userMessages.flutterChooseDevice(count, device.name, device.id)); _logger.printStatus(_userMessages.flutterChooseDevice(count, device.name, device.id));
count++; count++;
...@@ -319,7 +319,7 @@ abstract class DeviceManager { ...@@ -319,7 +319,7 @@ abstract class DeviceManager {
Future<String> _readUserInput(int deviceCount) async { Future<String> _readUserInput(int deviceCount) async {
_terminal.usesTerminalUi = true; _terminal.usesTerminalUi = true;
final String result = await _terminal.promptForCharInput( final String result = await _terminal.promptForCharInput(
<String>[ for (int i = 0; i < deviceCount; i++) '$i', 'q', 'Q'], <String>[ for (int i = 0; i < deviceCount; i++) '${i + 1}', 'q', 'Q'],
displayAcceptedCharacters: false, displayAcceptedCharacters: false,
logger: _logger, logger: _logger,
prompt: _userMessages.flutterChooseOne, prompt: _userMessages.flutterChooseOne,
......
...@@ -183,11 +183,11 @@ void main() { ...@@ -183,11 +183,11 @@ void main() {
]; ];
final MockTerminal mockTerminal = MockTerminal(); final MockTerminal mockTerminal = MockTerminal();
when(mockTerminal.stdinHasTerminal).thenReturn(true); when(mockTerminal.stdinHasTerminal).thenReturn(true);
when(mockTerminal.promptForCharInput(<String>['0', '1', 'q', 'Q'], when(mockTerminal.promptForCharInput(<String>['1', '2', 'q', 'Q'],
displayAcceptedCharacters: false, displayAcceptedCharacters: false,
logger: anyNamed('logger'), logger: anyNamed('logger'),
prompt: anyNamed('prompt'), prompt: anyNamed('prompt'),
)).thenAnswer((Invocation invocation) async => '0'); )).thenAnswer((Invocation invocation) async => '1');
final DeviceManager deviceManager = TestDeviceManager( final DeviceManager deviceManager = TestDeviceManager(
devices, devices,
...@@ -209,11 +209,11 @@ void main() { ...@@ -209,11 +209,11 @@ void main() {
final MockTerminal mockTerminal = MockTerminal(); final MockTerminal mockTerminal = MockTerminal();
when(mockTerminal.stdinHasTerminal).thenReturn(true); when(mockTerminal.stdinHasTerminal).thenReturn(true);
when(mockTerminal.promptForCharInput(<String>['0', '1', 'q', 'Q'], when(mockTerminal.promptForCharInput(<String>['1', '2', 'q', 'Q'],
displayAcceptedCharacters: false, displayAcceptedCharacters: false,
logger: anyNamed('logger'), logger: anyNamed('logger'),
prompt: anyNamed('prompt'), prompt: anyNamed('prompt'),
)).thenAnswer((Invocation invocation) async => '1'); )).thenAnswer((Invocation invocation) async => '2');
final DeviceManager deviceManager = TestDeviceManager( final DeviceManager deviceManager = TestDeviceManager(
devices, devices,
...@@ -236,11 +236,11 @@ void main() { ...@@ -236,11 +236,11 @@ void main() {
final MockTerminal mockTerminal = MockTerminal(); final MockTerminal mockTerminal = MockTerminal();
when(mockTerminal.stdinHasTerminal).thenReturn(true); when(mockTerminal.stdinHasTerminal).thenReturn(true);
when(mockTerminal.promptForCharInput(<String>['0', '1', 'q', 'Q'], when(mockTerminal.promptForCharInput(<String>['1', '2', 'q', 'Q'],
displayAcceptedCharacters: false, displayAcceptedCharacters: false,
logger: anyNamed('logger'), logger: anyNamed('logger'),
prompt: anyNamed('prompt'), prompt: anyNamed('prompt'),
)).thenAnswer((Invocation invocation) async => '0'); )).thenAnswer((Invocation invocation) async => '1');
final DeviceManager deviceManager = TestDeviceManager( final DeviceManager deviceManager = TestDeviceManager(
devices, devices,
...@@ -262,11 +262,11 @@ void main() { ...@@ -262,11 +262,11 @@ void main() {
final MockTerminal mockTerminal = MockTerminal(); final MockTerminal mockTerminal = MockTerminal();
when(mockTerminal.stdinHasTerminal).thenReturn(true); when(mockTerminal.stdinHasTerminal).thenReturn(true);
when(mockTerminal.promptForCharInput(<String>['0', '1', 'q', 'Q'], when(mockTerminal.promptForCharInput(<String>['1', '2', 'q', 'Q'],
displayAcceptedCharacters: false, displayAcceptedCharacters: false,
logger: anyNamed('logger'), logger: anyNamed('logger'),
prompt: anyNamed('prompt'), prompt: anyNamed('prompt'),
)).thenAnswer((Invocation invocation) async => '1'); )).thenAnswer((Invocation invocation) async => '2');
final DeviceManager deviceManager = TestDeviceManager( final DeviceManager deviceManager = TestDeviceManager(
devices, devices,
...@@ -291,11 +291,11 @@ void main() { ...@@ -291,11 +291,11 @@ void main() {
final MockTerminal mockTerminal = MockTerminal(); final MockTerminal mockTerminal = MockTerminal();
when(mockTerminal.stdinHasTerminal).thenReturn(true); when(mockTerminal.stdinHasTerminal).thenReturn(true);
when(mockTerminal.promptForCharInput(<String>['0', '1', '2', '3', 'q', 'Q'], when(mockTerminal.promptForCharInput(<String>['1', '2', '3', '4', 'q', 'Q'],
displayAcceptedCharacters: false, displayAcceptedCharacters: false,
logger: anyNamed('logger'), logger: anyNamed('logger'),
prompt: anyNamed('prompt'), prompt: anyNamed('prompt'),
)).thenAnswer((Invocation invocation) async => '2'); )).thenAnswer((Invocation invocation) async => '3');
final DeviceManager deviceManager = TestDeviceManager( final DeviceManager deviceManager = TestDeviceManager(
devices, devices,
...@@ -319,7 +319,7 @@ void main() { ...@@ -319,7 +319,7 @@ void main() {
final MockTerminal mockTerminal = MockTerminal(); final MockTerminal mockTerminal = MockTerminal();
when(mockTerminal.stdinHasTerminal).thenReturn(true); when(mockTerminal.stdinHasTerminal).thenReturn(true);
when(mockTerminal.promptForCharInput(<String>['0', '1', 'q', 'Q'], when(mockTerminal.promptForCharInput(<String>['1', '2', 'q', 'Q'],
displayAcceptedCharacters: false, displayAcceptedCharacters: false,
logger: anyNamed('logger'), logger: anyNamed('logger'),
prompt: anyNamed('prompt'), prompt: anyNamed('prompt'),
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment