Skip to content

Commit 1673259

Browse files
authored
[CQ] rename Flutter -> InspectorView (#8169)
As discussed, when the inspector was the only view, it made sense to dub it `FlutterView` but now that's a little general (and suggests an abstract class of some kind). --- - [x] I’ve reviewed the contributor guide and applied the relevant portions to this PR. <details> <summary>Contribution guidelines:</summary><br> - See our [contributor guide]([https://github.com/dart-lang/sdk/blob/main/CONTRIBUTING.md](https://github.com/flutter/flutter/blob/main/docs/contributing/Tree-hygiene.md#overview) for general expectations for PRs. - Larger or significant changes should be discussed in an issue before creating a PR. - Dart contributions to our repos should follow the [Dart style guide](https://dart.dev/guides/language/effective-dart) and use `dart format`. - Java and Kotlin contributions should strive to follow Java and Kotlin best practices ([discussion](#8098)). </details>
1 parent 70d5613 commit 1673259

11 files changed

+83
-90
lines changed

flutter-idea/src/io/flutter/FlutterInitializer.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@
5252
import io.flutter.survey.FlutterSurveyNotifications;
5353
import io.flutter.utils.FlutterModuleUtils;
5454
import io.flutter.utils.OpenApiUtils;
55-
import io.flutter.view.FlutterViewFactory;
55+
import io.flutter.view.InspectorViewFactory;
5656
import org.jetbrains.annotations.NotNull;
5757

5858
import java.time.LocalDate;
@@ -366,7 +366,7 @@ public void actionPerformed(@NotNull AnActionEvent event) {
366366

367367
private void initializeToolWindows(@NotNull final Project project) {
368368
// Start watching for Flutter debug active events.
369-
FlutterViewFactory.init(project);
369+
InspectorViewFactory.init(project);
370370
RemainingDevToolsViewFactory.init(project);
371371
DevToolsExtensionsViewFactory.init(project);
372372
toolWindowsInitialized = true;

flutter-idea/src/io/flutter/logging/FlutterConsoleLogManager.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@
3535
import io.flutter.settings.FlutterSettings;
3636
import io.flutter.utils.JsonUtils;
3737
import io.flutter.view.EmbeddedBrowser;
38-
import io.flutter.view.FlutterView;
38+
import io.flutter.view.InspectorView;
3939
import io.flutter.vmService.VmServiceConsumers;
4040
import org.dartlang.vm.service.VmService;
4141
import org.dartlang.vm.service.consumer.GetObjectConsumer;
@@ -372,7 +372,7 @@ public void actionPerformed(@NotNull AnActionEvent event) {
372372
return;
373373
}
374374

375-
final ToolWindow toolWindow = toolWindowManager.getToolWindow(FlutterView.TOOL_WINDOW_ID);
375+
final ToolWindow toolWindow = toolWindowManager.getToolWindow(InspectorView.TOOL_WINDOW_ID);
376376
if (toolWindow != null && !toolWindow.isVisible()) {
377377
toolWindow.show();
378378
}

flutter-idea/src/io/flutter/toolwindow/FlutterViewToolWindowManagerListener.java renamed to flutter-idea/src/io/flutter/toolwindow/InspectorViewToolWindowManagerListener.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -9,15 +9,15 @@
99
import com.intellij.openapi.wm.ToolWindow;
1010
import com.intellij.openapi.wm.ToolWindowManager;
1111
import com.intellij.openapi.wm.ex.ToolWindowManagerListener;
12-
import io.flutter.view.FlutterView;
12+
import io.flutter.view.InspectorView;
1313
import org.jetbrains.annotations.NotNull;
1414

15-
public class FlutterViewToolWindowManagerListener implements ToolWindowManagerListener {
15+
public class InspectorViewToolWindowManagerListener implements ToolWindowManagerListener {
1616
private boolean inspectorIsOpen;
1717
private Runnable onWindowOpen;
1818
private Runnable onWindowFirstVisible;
1919

20-
public FlutterViewToolWindowManagerListener(Project project, ToolWindow toolWindow) {
20+
public InspectorViewToolWindowManagerListener(Project project, ToolWindow toolWindow) {
2121
project.getMessageBus().connect().subscribe(ToolWindowManagerListener.TOPIC, this);
2222

2323
inspectorIsOpen = toolWindow.isShowStripeButton();
@@ -33,7 +33,7 @@ public void updateOnWindowFirstVisible(Runnable onWindowFirstVisible) {
3333

3434
@Override
3535
public void stateChanged(@NotNull ToolWindowManager toolWindowManager) {
36-
final ToolWindow inspectorWindow = toolWindowManager.getToolWindow(FlutterView.TOOL_WINDOW_ID);
36+
final ToolWindow inspectorWindow = toolWindowManager.getToolWindow(InspectorView.TOOL_WINDOW_ID);
3737
if (inspectorWindow == null) {
3838
return;
3939
}

flutter-idea/src/io/flutter/view/FlutterView.java renamed to flutter-idea/src/io/flutter/view/InspectorView.java

+24-26
Original file line numberDiff line numberDiff line change
@@ -42,10 +42,11 @@
4242
import io.flutter.sdk.FlutterSdk;
4343
import io.flutter.sdk.FlutterSdkVersion;
4444
import io.flutter.settings.FlutterSettings;
45-
import io.flutter.toolwindow.FlutterViewToolWindowManagerListener;
45+
import io.flutter.toolwindow.InspectorViewToolWindowManagerListener;
4646
import io.flutter.utils.*;
4747
import org.dartlang.vm.service.VmService;
4848
import org.jetbrains.annotations.NotNull;
49+
import org.jetbrains.annotations.Nullable;
4950

5051
import javax.swing.*;
5152
import java.awt.*;
@@ -55,30 +56,27 @@
5556
import java.util.concurrent.atomic.AtomicReference;
5657

5758
@com.intellij.openapi.components.State(
58-
name = "FlutterView",
59+
name = "InspectorView",
5960
storages = {@Storage("$WORKSPACE_FILE$")}
6061
)
61-
public class FlutterView implements PersistentStateComponent<FlutterViewState>, Disposable {
62-
private static final Logger LOG = Logger.getInstance(FlutterView.class);
62+
public class InspectorView implements PersistentStateComponent<InspectorViewState>, Disposable {
63+
private static final Logger LOG = Logger.getInstance(InspectorView.class);
6364

64-
public static final String TOOL_WINDOW_ID = "Flutter Inspector";
65+
public static final @NotNull String TOOL_WINDOW_ID = "Flutter Inspector";
6566

66-
public static final String WIDGET_TAB_LABEL = "Widgets";
67-
public static final String RENDER_TAB_LABEL = "Render Tree";
68-
public static final String PERFORMANCE_TAB_LABEL = "Performance";
6967
protected static final String INSTALLATION_IN_PROGRESS_LABEL = "Installing JxBrowser and DevTools...";
7068
protected static final String INSTALLATION_TIMED_OUT_LABEL =
7169
"Waiting for JxBrowser installation timed out. Restart your IDE to try again.";
7270
protected static final String INSTALLATION_WAIT_FAILED = "The JxBrowser installation failed unexpectedly. Restart your IDE to try again.";
7371
protected static final String DEVTOOLS_FAILED_LABEL = "Setting up DevTools failed.";
7472
protected static final int INSTALLATION_WAIT_LIMIT_SECONDS = 2000;
7573

76-
protected final EventStream<Boolean> shouldAutoHorizontalScroll = new EventStream<>(FlutterViewState.AUTO_SCROLL_DEFAULT);
77-
protected final EventStream<Boolean> highlightNodesShownInBothTrees =
78-
new EventStream<>(FlutterViewState.HIGHLIGHT_NODES_SHOWN_IN_BOTH_TREES_DEFAULT);
74+
protected final @NotNull EventStream<Boolean> shouldAutoHorizontalScroll = new EventStream<>(InspectorViewState.AUTO_SCROLL_DEFAULT);
75+
protected final @NotNull EventStream<Boolean> highlightNodesShownInBothTrees =
76+
new EventStream<>(InspectorViewState.HIGHLIGHT_NODES_SHOWN_IN_BOTH_TREES_DEFAULT);
7977

8078
@NotNull
81-
private final FlutterViewState state = new FlutterViewState();
79+
private final InspectorViewState state = new InspectorViewState();
8280

8381
@VisibleForTesting
8482
@NotNull
@@ -87,23 +85,23 @@ public class FlutterView implements PersistentStateComponent<FlutterViewState>,
8785
@NotNull
8886
private final Project myProject;
8987

90-
private Content emptyContent;
88+
private @Nullable Content emptyContent;
9189

92-
private FlutterViewToolWindowManagerListener toolWindowListener;
90+
private InspectorViewToolWindowManagerListener toolWindowListener;
9391
private int devToolsInstallCount = 0;
9492
private final JxBrowserUtils jxBrowserUtils;
9593
private final JxBrowserManager jxBrowserManager;
9694

97-
public FlutterView(@NotNull Project project) {
95+
public InspectorView(@NotNull Project project) {
9896
this(project, JxBrowserManager.getInstance(), new JxBrowserUtils(), new ViewUtils());
9997
}
10098

10199
@VisibleForTesting
102100
@NonInjectable
103-
protected FlutterView(@NotNull Project project,
104-
@NotNull JxBrowserManager jxBrowserManager,
105-
JxBrowserUtils jxBrowserUtils,
106-
ViewUtils viewUtils) {
101+
protected InspectorView(@NotNull Project project,
102+
@NotNull JxBrowserManager jxBrowserManager,
103+
JxBrowserUtils jxBrowserUtils,
104+
ViewUtils viewUtils) {
107105
myProject = project;
108106
this.jxBrowserUtils = jxBrowserUtils;
109107
this.jxBrowserManager = jxBrowserManager;
@@ -120,7 +118,7 @@ public void dispose() {
120118

121119
@NotNull
122120
@Override
123-
public FlutterViewState getState() {
121+
public InspectorViewState getState() {
124122
return state;
125123
}
126124

@@ -130,14 +128,14 @@ public Project getProject() {
130128
}
131129

132130
@Override
133-
public void loadState(@NotNull FlutterViewState state) {
131+
public void loadState(@NotNull InspectorViewState state) {
134132
this.state.copyFrom(state);
135133

136134
shouldAutoHorizontalScroll.setValue(this.state.getShouldAutoScroll());
137135
highlightNodesShownInBothTrees.setValue(this.state.getHighlightNodesShownInBothTrees());
138136
}
139137

140-
void initToolWindow(ToolWindow window) {
138+
void initToolWindow(@NotNull ToolWindow window) {
141139
if (window.isDisposed()) return;
142140

143141
updateForEmptyContent(window);
@@ -264,7 +262,7 @@ protected void verifyEventDispatchThread() {
264262
@VisibleForTesting
265263
protected void setUpToolWindowListener(FlutterApp app, ToolWindow toolWindow, boolean isEmbedded, DevToolsIdeFeature ideFeature) {
266264
if (this.toolWindowListener == null) {
267-
this.toolWindowListener = new FlutterViewToolWindowManagerListener(myProject, toolWindow);
265+
this.toolWindowListener = new InspectorViewToolWindowManagerListener(myProject, toolWindow);
268266
}
269267
this.toolWindowListener.updateOnWindowOpen(() -> {
270268
devToolsInstallCount += 1;
@@ -432,13 +430,13 @@ private void replacePanelLabel(ToolWindow toolWindow, JComponent label) {
432430
});
433431
}
434432

435-
private void debugActiveHelper(FlutterApp app) {
433+
private void debugActiveHelper(@NotNull FlutterApp app) {
436434
final ToolWindowManager toolWindowManager = ToolWindowManager.getInstance(myProject);
437435
if (!(toolWindowManager instanceof ToolWindowManagerEx)) {
438436
return;
439437
}
440438

441-
final ToolWindow toolWindow = toolWindowManager.getToolWindow(FlutterView.TOOL_WINDOW_ID);
439+
final ToolWindow toolWindow = toolWindowManager.getToolWindow(InspectorView.TOOL_WINDOW_ID);
442440
if (toolWindow == null) {
443441
return;
444442
}
@@ -464,7 +462,7 @@ private void debugActiveHelper(FlutterApp app) {
464462
}
465463
else {
466464
if (toolWindowListener == null) {
467-
toolWindowListener = new FlutterViewToolWindowManagerListener(myProject, toolWindow);
465+
toolWindowListener = new InspectorViewToolWindowManagerListener(myProject, toolWindow);
468466
}
469467
// If the window isn't visible yet, only executed embedded browser steps when it becomes visible.
470468
toolWindowListener.updateOnWindowFirstVisible(() -> {

flutter-idea/src/io/flutter/view/FlutterViewFactory.java renamed to flutter-idea/src/io/flutter/view/InspectorViewFactory.java

+7-14
Original file line numberDiff line numberDiff line change
@@ -13,18 +13,17 @@
1313
import com.intellij.openapi.wm.ToolWindowFactory;
1414
import com.intellij.openapi.wm.ToolWindowManager;
1515
import io.flutter.utils.OpenApiUtils;
16-
import io.flutter.utils.ViewListener;
1716
import org.jetbrains.annotations.NotNull;
1817

19-
public class FlutterViewFactory implements ToolWindowFactory, DumbAware {
18+
public class InspectorViewFactory implements ToolWindowFactory, DumbAware {
2019
private static final String TOOL_WINDOW_VISIBLE_PROPERTY = "flutter.view.tool.window.visible";
2120

2221
public static void init(@NotNull Project project) {
2322
project.getMessageBus().connect().subscribe(
24-
FlutterViewMessages.FLUTTER_DEBUG_TOPIC, (FlutterViewMessages.FlutterDebugNotifier)(event) -> initFlutterView(project, event)
23+
FlutterViewMessages.FLUTTER_DEBUG_TOPIC, (FlutterViewMessages.FlutterDebugNotifier)(event) -> initInspectorView(project, event)
2524
);
2625

27-
final ToolWindow window = ToolWindowManager.getInstance(project).getToolWindow(FlutterView.TOOL_WINDOW_ID);
26+
final ToolWindow window = ToolWindowManager.getInstance(project).getToolWindow(InspectorView.TOOL_WINDOW_ID);
2827
if (window != null) {
2928
window.setAvailable(true);
3029

@@ -39,24 +38,18 @@ public boolean shouldBeAvailable(@NotNull Project project) {
3938
return false;
4039
}
4140

42-
private static void initFlutterView(@NotNull Project project, FlutterViewMessages.FlutterDebugEvent event) {
41+
private static void initInspectorView(@NotNull Project project, FlutterViewMessages.FlutterDebugEvent event) {
4342
OpenApiUtils.safeInvokeLater(() -> {
44-
final FlutterView flutterView = project.getService(FlutterView.class);
45-
flutterView.debugActive(event);
43+
final InspectorView inspectorView = project.getService(InspectorView.class);
44+
inspectorView.debugActive(event);
4645
});
4746
}
4847

4948
@Override
5049
public void createToolWindowContent(@NotNull Project project, @NotNull ToolWindow toolWindow) {
5150
//noinspection CodeBlock2Expr
5251
DumbService.getInstance(project).runWhenSmart(() -> {
53-
project.getService(FlutterView.class).initToolWindow(toolWindow);
52+
project.getService(InspectorView.class).initToolWindow(toolWindow);
5453
});
5554
}
56-
57-
public static class FlutterViewListener extends ViewListener {
58-
public FlutterViewListener(@NotNull Project project) {
59-
super(project, FlutterView.TOOL_WINDOW_ID, TOOL_WINDOW_VISIBLE_PROPERTY);
60-
}
61-
}
6255
}

flutter-idea/src/io/flutter/view/FlutterViewState.java renamed to flutter-idea/src/io/flutter/view/InspectorViewState.java

+6-5
Original file line numberDiff line numberDiff line change
@@ -7,18 +7,19 @@
77

88
import com.intellij.util.EventDispatcher;
99
import com.intellij.util.xmlb.annotations.Attribute;
10+
import org.jetbrains.annotations.NotNull;
1011

1112
import javax.swing.event.ChangeEvent;
1213
import javax.swing.event.ChangeListener;
1314

1415
/**
15-
* State for the Flutter view.
16+
* State for the Inspector view.
1617
*/
17-
public class FlutterViewState {
18+
public class InspectorViewState {
1819
public static final boolean AUTO_SCROLL_DEFAULT = false;
1920
public static final boolean HIGHLIGHT_NODES_SHOWN_IN_BOTH_TREES_DEFAULT = false;
2021

21-
private final EventDispatcher<ChangeListener> dispatcher = EventDispatcher.create(ChangeListener.class);
22+
private final @NotNull EventDispatcher<ChangeListener> dispatcher = EventDispatcher.create(ChangeListener.class);
2223

2324
@Attribute(value = "splitter-proportion")
2425
public float splitterProportion;
@@ -29,7 +30,7 @@ public class FlutterViewState {
2930
@Attribute(value = "highlight-nodes-shown-in-both-trees")
3031
public boolean highlightNodesShownInBothTrees = HIGHLIGHT_NODES_SHOWN_IN_BOTH_TREES_DEFAULT;
3132

32-
public FlutterViewState() {
33+
public InspectorViewState() {
3334
}
3435

3536
public float getSplitterProportion() {
@@ -58,7 +59,7 @@ public void removeListener(ChangeListener listener) {
5859
dispatcher.removeListener(listener);
5960
}
6061

61-
void copyFrom(FlutterViewState other) {
62+
void copyFrom(InspectorViewState other) {
6263
splitterProportion = other.splitterProportion;
6364
}
6465

flutter-idea/src/io/flutter/vmService/DisplayRefreshRateManager.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ public Double getCurrentDisplayRefreshRateRaw() {
7979

8080
private CompletableFuture<Double> getDisplayRefreshRate() {
8181
final CompletableFuture<Double> displayRefreshRate = new CompletableFuture<>();
82-
vmServiceManager.getFlutterViewId().whenComplete((String id, Throwable throwable) -> {
82+
vmServiceManager.getInspectorViewId().whenComplete((String id, Throwable throwable) -> {
8383
if (throwable != null) {
8484
// We often see "java.lang.RuntimeException: Method not found" from here; perhaps a race condition?
8585
LOG.warn(throwable.getMessage());
@@ -102,11 +102,11 @@ private CompletableFuture<Double> getDisplayRefreshRate() {
102102
return displayRefreshRate;
103103
}
104104

105-
private CompletableFuture<Double> invokeGetDisplayRefreshRate(String flutterViewId) {
105+
private CompletableFuture<Double> invokeGetDisplayRefreshRate(String inspectorViewId) {
106106
final CompletableFuture<Double> ret = new CompletableFuture<>();
107107

108108
final JsonObject params = new JsonObject();
109-
params.addProperty("viewId", flutterViewId);
109+
params.addProperty("viewId", inspectorViewId);
110110

111111
vmService.callServiceExtension(
112112
vmServiceManager.getCurrentFlutterIsolateRaw().getId(), ServiceExtensions.displayRefreshRate, params,

flutter-idea/src/io/flutter/vmService/VMServiceManager.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -518,14 +518,14 @@ private void unregisterService(String serviceName) {
518518
}
519519
}
520520

521-
public CompletableFuture<String> getFlutterViewId() {
521+
public CompletableFuture<String> getInspectorViewId() {
522522
return getFlutterViewsList().exceptionally(exception -> {
523523
throw new RuntimeException(exception.getMessage());
524524
}).thenApplyAsync((JsonElement element) -> {
525525
final JsonArray viewsList = element.getAsJsonObject().get("views").getAsJsonArray();
526526
for (JsonElement jsonElement : viewsList) {
527527
final JsonObject view = jsonElement.getAsJsonObject();
528-
if (Objects.equals(view.get("type").getAsString(), "FlutterView")) {
528+
if (Objects.equals(view.get("type").getAsString(), "InspectorView")) {
529529
return view.get("id").getAsString();
530530
}
531531
}

0 commit comments

Comments
 (0)