diff --git a/packages/flutter_tools/lib/src/android/android_device.dart b/packages/flutter_tools/lib/src/android/android_device.dart index bdd99b95488..1e6b0f35f33 100644 --- a/packages/flutter_tools/lib/src/android/android_device.dart +++ b/packages/flutter_tools/lib/src/android/android_device.dart @@ -32,7 +32,7 @@ import 'android_sdk.dart'; enum _HardwareType { emulator, physical } /// Map to help our `isLocalEmulator` detection. -const Map _knownHardware = { +const Map _kKnownHardware = { 'goldfish': _HardwareType.emulator, 'qcom': _HardwareType.physical, 'ranchu': _HardwareType.emulator, @@ -42,6 +42,7 @@ const Map _knownHardware = { 'samsungexynos8890': _HardwareType.physical, 'samsungexynos8895': _HardwareType.physical, 'samsungexynos9810': _HardwareType.physical, + 'samsungexynos7570': _HardwareType.physical, }; bool allowHeapCorruptionOnWindows(int exitCode) { @@ -122,9 +123,9 @@ class AndroidDevice extends Device { if (_isLocalEmulator == null) { final String hardware = await _getProperty('ro.hardware'); printTrace('ro.hardware = $hardware'); - if (_knownHardware.containsKey(hardware)) { + if (_kKnownHardware.containsKey(hardware)) { // Look for known hardware models. - _isLocalEmulator = _knownHardware[hardware] == _HardwareType.emulator; + _isLocalEmulator = _kKnownHardware[hardware] == _HardwareType.emulator; } else { // Fall back to a best-effort heuristic-based approach. final String characteristics = await _getProperty('ro.build.characteristics'); diff --git a/packages/flutter_tools/test/general.shard/android/android_device_test.dart b/packages/flutter_tools/test/general.shard/android/android_device_test.dart index 2e9c50383aa..2a16c3fc1a6 100644 --- a/packages/flutter_tools/test/general.shard/android/android_device_test.dart +++ b/packages/flutter_tools/test/general.shard/android/android_device_test.dart @@ -348,6 +348,14 @@ Use the 'android' tool to install them: ProcessManager: () => mockProcessManager, }); + testUsingContext('knownPhysical Samsung SM G570M', () async { + hardware = 'samsungexynos7570'; + final AndroidDevice device = AndroidDevice('test'); + expect(await device.isLocalEmulator, false); + }, overrides: { + ProcessManager: () => mockProcessManager, + }); + testUsingContext('knownEmulator', () async { hardware = 'goldfish'; final AndroidDevice device = AndroidDevice('test');