From cfa011dd9d3f925b4b403b6bc2c20ee8a6a5e210 Mon Sep 17 00:00:00 2001 From: Lau Ching Jun Date: Thu, 29 Feb 2024 14:29:08 -0800 Subject: [PATCH] Fix a crash in remote device daemon. (#144358) The daemon server is expecting the client to pass `deviceId` in `device.shutdownDartDevelopmentService` method. https://github.com/flutter/flutter/blob/24a792dae105e281962a7e3e4c35cbfd9652ff0a/packages/flutter_tools/lib/src/commands/daemon.dart#L1239 --- packages/flutter_tools/lib/src/proxied_devices/devices.dart | 4 +++- .../general.shard/proxied_devices/proxied_devices_test.dart | 3 +++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/flutter_tools/lib/src/proxied_devices/devices.dart b/packages/flutter_tools/lib/src/proxied_devices/devices.dart index d1efd3873a3..10aecd3b1a8 100644 --- a/packages/flutter_tools/lib/src/proxied_devices/devices.dart +++ b/packages/flutter_tools/lib/src/proxied_devices/devices.dart @@ -810,7 +810,9 @@ class ProxiedDartDevelopmentService implements DartDevelopmentService { await _localDds.shutdown(); _ddsStartedLocally = false; } else { - await connection.sendRequest('device.shutdownDartDevelopmentService'); + await connection.sendRequest('device.shutdownDartDevelopmentService', { + 'deviceId': deviceId, + }); } } diff --git a/packages/flutter_tools/test/general.shard/proxied_devices/proxied_devices_test.dart b/packages/flutter_tools/test/general.shard/proxied_devices/proxied_devices_test.dart index 7eef5eb52e9..1199e756942 100644 --- a/packages/flutter_tools/test/general.shard/proxied_devices/proxied_devices_test.dart +++ b/packages/flutter_tools/test/general.shard/proxied_devices/proxied_devices_test.dart @@ -615,6 +615,9 @@ void main() { final DaemonMessage shutdownMessage = await broadcastOutput.first; expect(shutdownMessage.data['id'], isNotNull); expect(shutdownMessage.data['method'], 'device.shutdownDartDevelopmentService'); + expect(shutdownMessage.data['params'], { + 'deviceId': 'test_id', + }); }); testWithoutContext('starts a local dds if the VM service port is not a forwarded port', () async {