Unverified Commit 59e0a2ec authored by Jonah Williams's avatar Jonah Williams Committed by GitHub

[flutter_tools] update device discovery constructors (#61640)

google3 callsites are updated, remove global lookup from constructor parameters.
parent 1b8e6b42
......@@ -17,27 +17,35 @@ import 'adb.dart';
import 'android_device.dart';
import 'android_sdk.dart';
import 'android_workflow.dart' hide androidWorkflow;
import 'android_workflow.dart' as workflow show androidWorkflow;
/// Device discovery for Android physical devices and emulators.s
class AndroidDevices extends PollingDeviceDiscovery {
// TODO(jonahwilliams): make these required after google3 is updated.
AndroidDevices({
AndroidWorkflow androidWorkflow,
ProcessManager processManager,
Logger logger,
AndroidSdk androidSdk,
}) : _androidWorkflow = androidWorkflow ?? workflow.androidWorkflow,
_androidSdk = androidSdk ?? globals.androidSdk,
@required AndroidWorkflow androidWorkflow,
@required ProcessManager processManager,
@required Logger logger,
@required AndroidSdk androidSdk,
FileSystem fileSystem, // TODO(jonahwilliams): remove after rolling into google3
Platform platform,
}) : _androidWorkflow = androidWorkflow,
_androidSdk = androidSdk,
_processUtils = ProcessUtils(
logger: logger ?? globals.logger,
processManager: processManager ?? globals.processManager,
logger: logger,
processManager: processManager,
),
_processManager = processManager,
_logger = logger,
_fileSystem = fileSystem ?? globals.fs,
_platform = platform ?? globals.platform,
super('Android devices');
final AndroidWorkflow _androidWorkflow;
final ProcessUtils _processUtils;
final AndroidSdk _androidSdk;
final ProcessManager _processManager;
final Logger _logger;
final FileSystem _fileSystem;
final Platform _platform;
@override
bool get supportsPlatform => _androidWorkflow.appliesToHostPlatform;
......@@ -69,6 +77,11 @@ class AndroidDevices extends PollingDeviceDiscovery {
text,
devices: devices,
timeoutConfiguration: timeoutConfiguration,
processManager: _processManager,
logger: _logger,
fileSystem: _fileSystem,
androidSdk: _androidSdk,
platform: _platform,
);
return devices;
}
......@@ -90,6 +103,11 @@ class AndroidDevices extends PollingDeviceDiscovery {
text,
diagnostics: diagnostics,
timeoutConfiguration: timeoutConfiguration,
processManager: _processManager,
logger: _logger,
fileSystem: _fileSystem,
androidSdk: _androidSdk,
platform: _platform,
);
return diagnostics;
}
......@@ -106,11 +124,11 @@ class AndroidDevices extends PollingDeviceDiscovery {
String text, {
List<AndroidDevice> devices,
List<String> diagnostics,
AndroidSdk androidSdk,
FileSystem fileSystem,
Logger logger,
Platform platform,
ProcessManager processManager,
@required AndroidSdk androidSdk,
@required FileSystem fileSystem,
@required Logger logger,
@required Platform platform,
@required ProcessManager processManager,
@required TimeoutConfiguration timeoutConfiguration,
}) {
// Check for error messages from adb
......@@ -170,11 +188,11 @@ class AndroidDevices extends PollingDeviceDiscovery {
productID: info['product'],
modelID: info['model'] ?? deviceID,
deviceCodeName: info['device'],
androidSdk: androidSdk ?? globals.androidSdk,
fileSystem: fileSystem ?? globals.fs,
logger: logger ?? globals.logger,
platform: platform ?? globals.platform,
processManager: processManager ?? globals.processManager,
androidSdk: androidSdk,
fileSystem: fileSystem,
logger: logger,
platform: platform,
processManager: processManager,
timeoutConfiguration: timeoutConfiguration,
));
}
......
......@@ -31,16 +31,15 @@ import 'iproxy.dart';
import 'mac.dart';
class IOSDevices extends PollingDeviceDiscovery {
// TODO(fujino): make these required and remove fallbacks once internal invocations migrated
IOSDevices({
Platform platform,
XCDevice xcdevice,
IOSWorkflow iosWorkflow,
Logger logger,
}) : _platform = platform ?? globals.platform,
_xcdevice = xcdevice ?? globals.xcdevice,
_iosWorkflow = iosWorkflow ?? globals.iosWorkflow,
_logger = logger ?? globals.logger,
@required Platform platform,
@required XCDevice xcdevice,
@required IOSWorkflow iosWorkflow,
@required Logger logger,
}) : _platform = platform,
_xcdevice = xcdevice,
_iosWorkflow = iosWorkflow,
_logger = logger,
super('iOS devices');
final Platform _platform;
......
......@@ -17,7 +17,6 @@ import '../build_info.dart';
import '../bundle.dart';
import '../convert.dart';
import '../device.dart';
import '../globals.dart' as globals;
import '../project.dart';
import '../protocol_discovery.dart';
import '../version.dart';
......@@ -48,18 +47,18 @@ class FlutterTesterApp extends ApplicationPackage {
// TODO(scheglov): This device does not currently work with full restarts.
class FlutterTesterDevice extends Device {
FlutterTesterDevice(String deviceId, {
ProcessManager processManager,
FlutterVersion flutterVersion,
Logger logger,
String buildDirectory,
FileSystem fileSystem,
Artifacts artifacts,
}) : _processManager = processManager ?? globals.processManager, // TODO(jonahwilliams): remove after google3 roll.
_flutterVersion = flutterVersion ?? globals.flutterVersion,
_logger = logger ?? globals.logger,
_buildDirectory = buildDirectory ?? getBuildDirectory(),
_fileSystem = fileSystem ?? globals.fs,
_artifacts = artifacts ?? globals.artifacts,
@required ProcessManager processManager,
@required FlutterVersion flutterVersion,
@required Logger logger,
@required String buildDirectory,
@required FileSystem fileSystem,
@required Artifacts artifacts,
}) : _processManager = processManager,
_flutterVersion = flutterVersion,
_logger = logger,
_buildDirectory = buildDirectory,
_fileSystem = fileSystem,
_artifacts = artifacts,
super(
deviceId,
platformType: null,
......@@ -255,20 +254,20 @@ class FlutterTesterDevice extends Device {
class FlutterTesterDevices extends PollingDeviceDiscovery {
FlutterTesterDevices({
FileSystem fileSystem,
Artifacts artifacts,
ProcessManager processManager,
Logger logger,
FlutterVersion flutterVersion,
Config config,
}) : _testerDevice = FlutterTesterDevice( // TODO(jonahwilliams): remove after google3 roll.
@required FileSystem fileSystem,
@required Artifacts artifacts,
@required ProcessManager processManager,
@required Logger logger,
@required FlutterVersion flutterVersion,
@required Config config,
}) : _testerDevice = FlutterTesterDevice(
kTesterDeviceId,
fileSystem: fileSystem ?? globals.fs,
artifacts: artifacts ?? globals.artifacts,
processManager: processManager ?? globals.processManager,
buildDirectory: getBuildDirectory(config ?? globals.config, fileSystem ?? globals.fs),
logger: logger ?? globals.logger,
flutterVersion: flutterVersion ?? globals.flutterVersion,
fileSystem: fileSystem,
artifacts: artifacts,
processManager: processManager,
buildDirectory: getBuildDirectory(config, fileSystem),
logger: logger,
flutterVersion: flutterVersion,
),
super('Flutter tester');
......
......@@ -26,6 +26,8 @@ void main() {
featureFlags: TestFeatureFlags(),
),
processManager: FakeProcessManager.list(<FakeCommand>[]),
fileSystem: MemoryFileSystem.test(),
platform: FakePlatform(),
);
expect(await androidDevices.pollingGetDevices(), isEmpty);
......@@ -48,6 +50,8 @@ void main() {
featureFlags: TestFeatureFlags(),
),
processManager: processManager,
fileSystem: MemoryFileSystem.test(),
platform: FakePlatform(),
);
expect(androidDevices.pollingGetDevices(),
......@@ -69,6 +73,8 @@ void main() {
featureFlags: TestFeatureFlags(),
),
processManager: processManager,
fileSystem: MemoryFileSystem.test(),
platform: FakePlatform(),
);
expect(androidDevices.pollingGetDevices(),
......@@ -86,6 +92,8 @@ void main() {
),
),
processManager: FakeProcessManager.any(),
fileSystem: MemoryFileSystem.test(),
platform: FakePlatform(),
);
expect(androidDevices.supportsPlatform, false);
......@@ -163,6 +171,11 @@ Use the 'android' tool to install them:
''', devices: devices,
diagnostics: diagnostics,
timeoutConfiguration: const TimeoutConfiguration(),
processManager: FakeProcessManager.any(),
platform: FakePlatform(),
logger: BufferLogger.test(),
fileSystem: MemoryFileSystem.test(),
androidSdk: MockAndroidSdk(),
);
expect(devices, isEmpty);
......
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