flutter devices/doctor report Android (and iOS) version (#6545)
* refactor device descriptions method - easier to add columns
* show device SDK version
diff --git a/packages/flutter_tools/lib/src/ios/devices.dart b/packages/flutter_tools/lib/src/ios/devices.dart
index 003a65c..2fcdb31 100644
--- a/packages/flutter_tools/lib/src/ios/devices.dart
+++ b/packages/flutter_tools/lib/src/ios/devices.dart
@@ -89,7 +89,7 @@
List<IOSDevice> devices = <IOSDevice>[];
for (String id in _getAttachedDeviceIDs(mockIOS)) {
- String name = _getDeviceName(id, mockIOS);
+ String name = IOSDevice._getDeviceInfo(id, 'DeviceName', mockIOS);
devices.add(new IOSDevice(id, name: name));
}
return devices;
@@ -105,11 +105,11 @@
}
}
- static String _getDeviceName(String deviceID, [IOSDevice mockIOS]) {
+ static String _getDeviceInfo(String deviceID, String infoKey, [IOSDevice mockIOS]) {
String informerPath = (mockIOS != null)
? mockIOS.informerPath
: _checkForCommand('ideviceinfo');
- return runSync(<String>[informerPath, '-k', 'DeviceName', '-u', deviceID]).trim();
+ return runSync(<String>[informerPath, '-k', infoKey, '-u', deviceID]).trim();
}
static final Map<String, String> _commandMap = <String, String>{};
@@ -370,6 +370,13 @@
TargetPlatform get platform => TargetPlatform.ios;
@override
+ String get sdkNameAndVersion => 'iOS $_sdkVersion ($_buildVersion)';
+
+ String get _sdkVersion => _getDeviceInfo(id, 'ProductVersion');
+
+ String get _buildVersion => _getDeviceInfo(id, 'BuildVersion');
+
+ @override
DeviceLogReader get logReader {
if (_logReader == null)
_logReader = new _IOSDeviceLogReader(this);
diff --git a/packages/flutter_tools/lib/src/ios/simulators.dart b/packages/flutter_tools/lib/src/ios/simulators.dart
index f6cfcaa..4a86345 100644
--- a/packages/flutter_tools/lib/src/ios/simulators.dart
+++ b/packages/flutter_tools/lib/src/ios/simulators.dart
@@ -46,7 +46,7 @@
return <IOSSimulator>[];
return SimControl.instance.getConnectedDevices().map((SimDevice device) {
- return new IOSSimulator(device.udid, name: device.name);
+ return new IOSSimulator(device.udid, name: device.name, category: device.category);
}).toList();
}
}
@@ -302,11 +302,13 @@
}
class IOSSimulator extends Device {
- IOSSimulator(String id, { this.name }) : super(id);
+ IOSSimulator(String id, { this.name, this.category }) : super(id);
@override
final String name;
+ final String category;
+
@override
bool get isLocalEmulator => true;
@@ -558,6 +560,9 @@
TargetPlatform get platform => TargetPlatform.ios;
@override
+ String get sdkNameAndVersion => category;
+
+ @override
DeviceLogReader get logReader {
if (_logReader == null)
_logReader = new _IOSSimulatorLogReader(this);