Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 7 additions & 22 deletions flutter-idea/src/io/flutter/inspector/InspectorService.java
Original file line number Diff line number Diff line change
Expand Up @@ -199,7 +199,7 @@ public static class InteractiveScreenshot {
@NotNull private final EvalOnDartLibrary inspectorLibrary;
@NotNull private final Set<String> supportedServiceMethods;

private final StreamSubscription<Boolean> setPubRootDirectoriesSubscription;
private final StreamSubscription<Boolean> addPubRootDirectoriesSubscription;

/**
* Convenience ObjectGroup constructor for users who need to use DiagnosticsNode objects before the InspectorService is available.
Expand Down Expand Up @@ -269,8 +269,8 @@ public void connectionClosed() {
vmService.streamListen(VmService.EXTENSION_STREAM_ID, VmServiceConsumers.EMPTY_SUCCESS_CONSUMER);

assert (app.getVMServiceManager() != null);
setPubRootDirectoriesSubscription =
app.getVMServiceManager().hasServiceExtension(ServiceExtensions.setPubRootDirectories, (Boolean available) -> {
addPubRootDirectoriesSubscription =
app.getVMServiceManager().hasServiceExtension(ServiceExtensions.addPubRootDirectories, (Boolean available) -> {
if (!available) {
return;
}
Expand All @@ -297,7 +297,7 @@ public void connectionClosed() {
rootDirectories.add(path);
}
}
setPubRootDirectories(rootDirectories);
addPubRootDirectories(rootDirectories);
});
}

Expand Down Expand Up @@ -362,7 +362,7 @@ private EvalOnDartLibrary getInspectorLibrary() {
@Override
public void dispose() {
Disposer.dispose(inspectorLibrary);
Disposer.dispose(setPubRootDirectoriesSubscription);
Disposer.dispose(addPubRootDirectoriesSubscription);
}

public CompletableFuture<?> forceRefresh() {
Expand Down Expand Up @@ -481,23 +481,8 @@ CompletableFuture<JsonElement> invokeServiceExtensionNoGroup(String methodName,
return invokeServiceExtensionNoGroup(methodName, params);
}

private CompletableFuture<Void> setPubRootDirectories(List<String> rootDirectories) {
if (useServiceExtensionApi()) {
return invokeServiceExtensionNoGroup("setPubRootDirectories", rootDirectories).thenApplyAsync((ignored) -> null);
}
else {
// TODO(jacobr): remove this call as soon as
// `ext.flutter.inspector.*` has been in two revs of the Flutter Beta
// channel. The feature landed in the Flutter dev chanel on
// April 16, 2018.
final JsonArray jsonArray = new JsonArray();
for (String rootDirectory : rootDirectories) {
jsonArray.add(rootDirectory);
}
return getInspectorLibrary().eval(
"WidgetInspectorService.instance.setPubRootDirectories(" + new Gson().toJson(jsonArray) + ")", null, null)
.thenApplyAsync((instance) -> null);
}
private CompletableFuture<Void> addPubRootDirectories(List<String> rootDirectories) {
return invokeServiceExtensionNoGroup("addPubRootDirectories", rootDirectories).thenApplyAsync((ignored) -> null);
}

CompletableFuture<InstanceRef> invokeEvalNoGroup(String methodName) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,7 @@ public class ServiceExtensions {
// These extensions are not toggleable and do not need to be stored as a ToggleableServiceExtensionDescription object.
public static final String flutterPrefix = "ext.flutter.";
public static final String inspectorPrefix = "ext.flutter.inspector.";
public static final String setPubRootDirectories = "ext.flutter.inspector.setPubRootDirectories";
public static final String addPubRootDirectories = "ext.flutter.inspector.addPubRootDirectories";
public static final String enableLogs = "ext.flutter.logs.enable";
public static final String loggingChannels = "ext.flutter.logs.loggingChannels";
public static final String designerRender = "ext.flutter.designer.render";
Expand Down