@@ -58,6 +58,7 @@ enum DeviceOperatingSystem {
58
58
fake,
59
59
fuchsia,
60
60
ios,
61
+ linux,
61
62
macos,
62
63
windows,
63
64
}
@@ -79,6 +80,8 @@ abstract class DeviceDiscovery {
79
80
return IosDeviceDiscovery ();
80
81
case DeviceOperatingSystem .fuchsia:
81
82
return FuchsiaDeviceDiscovery ();
83
+ case DeviceOperatingSystem .linux:
84
+ return LinuxDeviceDiscovery ();
82
85
case DeviceOperatingSystem .macos:
83
86
return MacosDeviceDiscovery ();
84
87
case DeviceOperatingSystem .windows:
@@ -356,6 +359,40 @@ class AndroidDeviceDiscovery implements DeviceDiscovery {
356
359
}
357
360
}
358
361
362
+ class LinuxDeviceDiscovery implements DeviceDiscovery {
363
+ factory LinuxDeviceDiscovery () {
364
+ return _instance ?? = LinuxDeviceDiscovery ._();
365
+ }
366
+
367
+ LinuxDeviceDiscovery ._();
368
+
369
+ static LinuxDeviceDiscovery ? _instance;
370
+
371
+ static const LinuxDevice _device = LinuxDevice ();
372
+
373
+ @override
374
+ Future <Map <String , HealthCheckResult >> checkDevices () async {
375
+ return < String , HealthCheckResult > {};
376
+ }
377
+
378
+ @override
379
+ Future <void > chooseWorkingDevice () async { }
380
+
381
+ @override
382
+ Future <void > chooseWorkingDeviceById (String deviceId) async { }
383
+
384
+ @override
385
+ Future <List <String >> discoverDevices () async {
386
+ return < String > ['linux' ];
387
+ }
388
+
389
+ @override
390
+ Future <void > performPreflightTasks () async { }
391
+
392
+ @override
393
+ Future <Device > get workingDevice async => _device;
394
+ }
395
+
359
396
class MacosDeviceDiscovery implements DeviceDiscovery {
360
397
factory MacosDeviceDiscovery () {
361
398
return _instance ?? = MacosDeviceDiscovery ._();
@@ -1046,6 +1083,58 @@ class IosDevice extends Device {
1046
1083
}
1047
1084
}
1048
1085
1086
+ class LinuxDevice extends Device {
1087
+ const LinuxDevice ();
1088
+
1089
+ @override
1090
+ String get deviceId => 'linux' ;
1091
+
1092
+ @override
1093
+ Future <Map <String , dynamic >> getMemoryStats (String packageName) async {
1094
+ return < String , dynamic > {};
1095
+ }
1096
+
1097
+ @override
1098
+ Future <void > home () async { }
1099
+
1100
+ @override
1101
+ Future <bool > isAsleep () async {
1102
+ return false ;
1103
+ }
1104
+
1105
+ @override
1106
+ Future <bool > isAwake () async {
1107
+ return true ;
1108
+ }
1109
+
1110
+ @override
1111
+ Stream <String > get logcat => const Stream <String >.empty ();
1112
+
1113
+ @override
1114
+ Future <void > clearLogs () async {}
1115
+
1116
+ @override
1117
+ Future <void > reboot () async { }
1118
+
1119
+ @override
1120
+ Future <void > sendToSleep () async { }
1121
+
1122
+ @override
1123
+ Future <void > stop (String packageName) async { }
1124
+
1125
+ @override
1126
+ Future <void > tap (int x, int y) async { }
1127
+
1128
+ @override
1129
+ Future <void > togglePower () async { }
1130
+
1131
+ @override
1132
+ Future <void > unlock () async { }
1133
+
1134
+ @override
1135
+ Future <void > wakeUp () async { }
1136
+ }
1137
+
1049
1138
class MacosDevice extends Device {
1050
1139
const MacosDevice ();
1051
1140
0 commit comments