Unverified Commit 0b68068d authored by Alexander Aprelev's avatar Alexander Aprelev Committed by GitHub

Revert "Run reload asynchronously so that multiple devices can reload in...

Revert "Run reload asynchronously so that multiple devices can reload in parallel. (#22693)" (#23598)

This reverts commit 709f54f4 as it seems to have broken two tests: flutter_gallery__back_button_memory, named_isolates_test.
parent c54cf048
......@@ -79,15 +79,11 @@ class FlutterDevice {
vmServices = localVmServices;
}
Future<void> refreshViews() {
Future<void> refreshViews() async {
if (vmServices == null || vmServices.isEmpty)
return Future<void>.value(null);
final List<Future<void>> futures = <Future<void>>[];
return;
for (VMService service in vmServices)
futures.add(service.vm.refreshViews());
final Completer<void> completer = Completer<void>();
Future.wait(futures).whenComplete(() => completer.complete(null)); // ignore: unawaited_futures
return completer.future;
await service.vm.refreshViews();
}
List<FlutterView> get views {
......
This diff is collapsed.
......@@ -949,19 +949,15 @@ class VM extends ServiceObjectOwner {
return invokeRpcRaw('_getVMTimeline', timeout: kLongRequestTimeout);
}
Future<void> refreshViews() {
Future<void> refreshViews() async {
if (!isFlutterEngine)
return Future<void>.value(null);
return;
_viewCache.clear();
final Completer<void> completer = Completer<void>();
final List<Future<ServiceObject>> futures = <Future<ServiceObject>>[];
for (Isolate isolate in isolates.toList()) {
futures.add(vmService.vm.invokeRpc<ServiceObject>('_flutter.listViews',
await vmService.vm.invokeRpc<ServiceObject>('_flutter.listViews',
timeout: kLongRequestTimeout,
params: <String, dynamic> {'isolateId': isolate.id}));
params: <String, dynamic> {'isolateId': isolate.id});
}
Future.wait(futures).whenComplete(() => completer.complete(null)); // ignore: unawaited_futures
return completer.future;
}
Iterable<FlutterView> get views => _viewCache.values;
......@@ -1230,15 +1226,15 @@ class Isolate extends ServiceObjectOwner {
Duration timeout,
bool timeoutFatal = true,
}
) {
return invokeRpcRaw(method, params: params, timeout: timeout,
timeoutFatal: timeoutFatal).catchError((dynamic error) {
if (error is rpc.RpcException) {
// If an application is not using the framework
if (error.code == rpc_error_code.METHOD_NOT_FOUND)
return null;
throw error;
}});
) async {
try {
return await invokeRpcRaw(method, params: params, timeout: timeout, timeoutFatal: timeoutFatal);
} on rpc.RpcException catch (e) {
// If an application is not using the framework
if (e.code == rpc_error_code.METHOD_NOT_FOUND)
return null;
rethrow;
}
}
// Debug dump extension methods.
......@@ -1292,20 +1288,20 @@ class Isolate extends ServiceObjectOwner {
}
// Reload related extension methods.
Future<Map<String, dynamic>> flutterReassemble() {
return invokeFlutterExtensionRpcRaw(
Future<Map<String, dynamic>> flutterReassemble() async {
return await invokeFlutterExtensionRpcRaw(
'ext.flutter.reassemble',
timeout: kShortRequestTimeout,
timeoutFatal: true,
);
}
Future<Map<String, dynamic>> uiWindowScheduleFrame() {
return invokeFlutterExtensionRpcRaw('ext.ui.window.scheduleFrame');
Future<Map<String, dynamic>> uiWindowScheduleFrame() async {
return await invokeFlutterExtensionRpcRaw('ext.ui.window.scheduleFrame');
}
Future<Map<String, dynamic>> flutterEvictAsset(String assetPath) {
return invokeFlutterExtensionRpcRaw('ext.flutter.evict',
Future<Map<String, dynamic>> flutterEvictAsset(String assetPath) async {
return await invokeFlutterExtensionRpcRaw('ext.flutter.evict',
params: <String, dynamic>{
'value': assetPath,
}
......@@ -1313,8 +1309,8 @@ class Isolate extends ServiceObjectOwner {
}
// Application control extension methods.
Future<Map<String, dynamic>> flutterExit() {
return invokeFlutterExtensionRpcRaw(
Future<Map<String, dynamic>> flutterExit() async {
return await invokeFlutterExtensionRpcRaw(
'ext.flutter.exit',
timeout: const Duration(seconds: 2),
timeoutFatal: false,
......
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