Skip to content

Commit

Permalink
Tweak the display name of emulators (flutter#34785)
Browse files Browse the repository at this point in the history
  • Loading branch information
DanTup authored Jun 24, 2019
1 parent 39597ce commit 8dbfc82
Show file tree
Hide file tree
Showing 5 changed files with 33 additions and 23 deletions.
7 changes: 3 additions & 4 deletions packages/flutter_tools/lib/src/android/android_emulator.dart
Original file line number Diff line number Diff line change
Expand Up @@ -32,15 +32,14 @@ class AndroidEmulator extends Emulator {

Map<String, String> _properties;

// Android Studio uses the ID with underscores replaced with spaces
// for the name if displayname is not set so we do the same.
@override
String get name => _prop('hw.device.name');
String get name => _prop('avd.ini.displayname') ?? id.replaceAll('_', ' ').trim();

@override
String get manufacturer => _prop('hw.device.manufacturer');

@override
String get label => _prop('avd.ini.displayname');

@override
Category get category => Category.mobile;

Expand Down
3 changes: 1 addition & 2 deletions packages/flutter_tools/lib/src/emulator.dart
Original file line number Diff line number Diff line change
Expand Up @@ -218,7 +218,6 @@ abstract class Emulator {
final bool hasConfig;
String get name;
String get manufacturer;
String get label;
Category get category;
PlatformType get platformType;

Expand Down Expand Up @@ -250,7 +249,7 @@ abstract class Emulator {
emulator.id ?? '',
emulator.name ?? '',
emulator.manufacturer ?? '',
emulator.label ?? '',
emulator.platformType?.toString() ?? '',
]);
}

Expand Down
3 changes: 0 additions & 3 deletions packages/flutter_tools/lib/src/ios/ios_emulators.dart
Original file line number Diff line number Diff line change
Expand Up @@ -32,9 +32,6 @@ class IOSEmulator extends Emulator {
@override
String get manufacturer => 'Apple';

@override
String get label => null;

@override
Category get category => Category.mobile;

Expand Down
32 changes: 25 additions & 7 deletions packages/flutter_tools/test/android/android_emulator_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -23,25 +23,43 @@ void main() {
expect(emulator.id, emulatorID);
expect(emulator.hasConfig, true);
});
testUsingContext('stores expected metadata', () {
testUsingContext('reads expected metadata', () {
const String emulatorID = '1234';
const String name = 'My Test Name';
const String manufacturer = 'Me';
const String label = 'The best one';
const String displayName = 'The best one';
final Map<String, String> properties = <String, String>{
'hw.device.name': name,
'hw.device.manufacturer': manufacturer,
'avd.ini.displayname': label,
'avd.ini.displayname': displayName,
};
final AndroidEmulator emulator =
AndroidEmulator(emulatorID, properties);
expect(emulator.id, emulatorID);
expect(emulator.name, name);
expect(emulator.name, displayName);
expect(emulator.manufacturer, manufacturer);
expect(emulator.label, label);
expect(emulator.category, Category.mobile);
expect(emulator.platformType, PlatformType.android);
});
testUsingContext('prefers displayname for name', () {
const String emulatorID = '1234';
const String displayName = 'The best one';
final Map<String, String> properties = <String, String>{
'avd.ini.displayname': displayName,
};
final AndroidEmulator emulator =
AndroidEmulator(emulatorID, properties);
expect(emulator.name, displayName);
});
testUsingContext('uses cleaned up ID if no displayname is set', () {
// Android Studio uses the ID with underscores replaced with spaces
// for the name if displayname is not set so we do the same.
const String emulatorID = 'This_is_my_ID';
final Map<String, String> properties = <String, String>{
'avd.ini.notadisplayname': 'this is not a display name',
};
final AndroidEmulator emulator =
AndroidEmulator(emulatorID, properties);
expect(emulator.name, 'This is my ID');
});
testUsingContext('parses ini files', () {
const String iniFile = '''
hw.device.name=My Test Name
Expand Down
11 changes: 4 additions & 7 deletions packages/flutter_tools/test/emulator_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -46,11 +46,11 @@ void main() {

testUsingContext('getEmulatorsById', () async {
final _MockEmulator emulator1 =
_MockEmulator('Nexus_5', 'Nexus 5', 'Google', '');
_MockEmulator('Nexus_5', 'Nexus 5', 'Google');
final _MockEmulator emulator2 =
_MockEmulator('Nexus_5X_API_27_x86', 'Nexus 5X', 'Google', '');
_MockEmulator('Nexus_5X_API_27_x86', 'Nexus 5X', 'Google');
final _MockEmulator emulator3 =
_MockEmulator('iOS Simulator', 'iOS Simulator', 'Apple', '');
_MockEmulator('iOS Simulator', 'iOS Simulator', 'Apple');
final List<Emulator> emulators = <Emulator>[
emulator1,
emulator2,
Expand Down Expand Up @@ -160,7 +160,7 @@ class TestEmulatorManager extends EmulatorManager {
}

class _MockEmulator extends Emulator {
_MockEmulator(String id, this.name, this.manufacturer, this.label)
_MockEmulator(String id, this.name, this.manufacturer)
: super(id, true);

@override
Expand All @@ -169,9 +169,6 @@ class _MockEmulator extends Emulator {
@override
final String manufacturer;

@override
final String label;

@override
Category get category => Category.mobile;

Expand Down

0 comments on commit 8dbfc82

Please sign in to comment.