Skip to content

Commit 711423f

Browse files
authored
Remove use of legacy inspector (#6728)
This gets rid of usages of a couple service extensions that have been removed from flutter: flutter/flutter#124805 In the latest check only 2% of inspector users are disabling the option so we are ready to turn off.
1 parent 760796a commit 711423f

File tree

5 files changed

+16
-122
lines changed

5 files changed

+16
-122
lines changed

flutter-idea/src/io/flutter/FlutterBundle.properties

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -207,14 +207,12 @@ settings.organize.imports.on.save=Organize imports on save
207207
settings.flutter.version=Version:
208208
settings.open.inspector.on.launch=Open Flutter Inspector view on app launch
209209
settings.hot.reload.on.save=Perform hot reload on save
210-
settings.enable.embedding.devtools=Enable embedding DevTools in the Flutter Inspector tool window
211210
settings.enable.bazel.hot.restart=Enable Bazel hot restart (refreshes generated files)
212211
settings.allow.tests.in.sources=<html>Allow files ending with <b>_test.dart</b> to be recognized as tests
213212
settings.allow.tests.tooltip=The directory must be marked as a sources root, such as <b>lib</b>.
214213
settings.font.packages=Font Packages
215214
settings.show.all.configs=Show all possible run configurations for apps or tests, even if a created configuration already exists
216215
settings.show.all.configs.tooltip=If there is a defined run configuration to watch a specific test and one to just run it, show both.
217-
settings.enable.embedding.devtools.tooltip=Use the web-based DevTools inspector in the Flutter Inspector tool window.
218216
settings.enable.androi.gradle.sync.tooltip=Provides advanced editing capabilities for Java and Kotlin code. Uses Gradle to find Android libraries then links them into the Flutter project.
219217
settings.experiments=Experiments
220218
settings.editor=Editor

flutter-idea/src/io/flutter/sdk/FlutterSettingsConfigurable.form

Lines changed: 1 addition & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -236,7 +236,7 @@
236236
</grid>
237237
</children>
238238
</grid>
239-
<grid id="23e52" layout-manager="GridLayoutManager" row-count="5" column-count="1" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
239+
<grid id="23e52" layout-manager="GridLayoutManager" row-count="4" column-count="1" same-size-horizontally="false" same-size-vertically="false" hgap="-1" vgap="-1">
240240
<margin top="0" left="0" bottom="0" right="0"/>
241241
<constraints>
242242
<grid row="5" column="0" row-span="1" col-span="1" vsize-policy="3" hsize-policy="3" anchor="0" fill="3" indent="0" use-parent-layout="false"/>
@@ -270,15 +270,6 @@
270270
<toolTipText value="Experimental features to graphically edit Flutter build methods."/>
271271
</properties>
272272
</component>
273-
<component id="2032d" class="javax.swing.JCheckBox" binding="myEnableEmbeddedBrowsersCheckBox">
274-
<constraints>
275-
<grid row="4" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="3" anchor="8" fill="0" indent="0" use-parent-layout="false"/>
276-
</constraints>
277-
<properties>
278-
<text resource-bundle="io/flutter/FlutterBundle" key="settings.enable.embedding.devtools"/>
279-
<toolTipText resource-bundle="io/flutter/FlutterBundle" key="settings.enable.embedding.devtools.tooltip"/>
280-
</properties>
281-
</component>
282273
<component id="e902c" class="javax.swing.JCheckBox" binding="myShowAllRunConfigurationsInContextCheckBox">
283274
<constraints>
284275
<grid row="3" column="0" row-span="1" col-span="1" vsize-policy="0" hsize-policy="3" anchor="8" fill="0" indent="0" use-parent-layout="false"/>

flutter-idea/src/io/flutter/sdk/FlutterSettingsConfigurable.java

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,6 @@ public class FlutterSettingsConfigurable implements SearchableConfigurable {
7777
private JCheckBox myIncludeAllStackTraces;
7878
private JCheckBox mySyncAndroidLibrariesCheckBox;
7979
private JCheckBox myEnableHotUiCheckBox;
80-
private JCheckBox myEnableEmbeddedBrowsersCheckBox;
8180
private JCheckBox myEnableBazelHotRestartCheckBox;
8281

8382
private JCheckBox myShowAllRunConfigurationsInContextCheckBox;
@@ -161,8 +160,6 @@ protected void textChanged(@NotNull final DocumentEvent e) {
161160
// experimentsPanel.setVisible(FlutterUtils.isAndroidStudio());
162161
mySyncAndroidLibrariesCheckBox.setVisible(FlutterUtils.isAndroidStudio());
163162

164-
myEnableEmbeddedBrowsersCheckBox.setVisible(true);
165-
166163
myEnableBazelHotRestartCheckBox.setVisible(WorkspaceCache.getInstance(myProject).isBazel());
167164
}
168165

@@ -249,10 +246,6 @@ public boolean isModified() {
249246
return true;
250247
}
251248

252-
if (settings.isEnableEmbeddedBrowsers() != myEnableEmbeddedBrowsersCheckBox.isSelected()) {
253-
return true;
254-
}
255-
256249
if (settings.isEnableBazelHotRestart() != myEnableBazelHotRestartCheckBox.isSelected()) {
257250
return true;
258251
}
@@ -323,7 +316,6 @@ public void apply() throws ConfigurationException {
323316
settings.setVerboseLogging(myEnableVerboseLoggingCheckBox.isSelected());
324317
settings.setSyncingAndroidLibraries(mySyncAndroidLibrariesCheckBox.isSelected());
325318
settings.setEnableHotUi(myEnableHotUiCheckBox.isSelected());
326-
settings.setEnableEmbeddedBrowsers(myEnableEmbeddedBrowsersCheckBox.isSelected());
327319
settings.setEnableBazelHotRestart(myEnableBazelHotRestartCheckBox.isSelected());
328320
settings.setAllowTestsInSourcesRoot(myAllowTestsInSourcesRoot.isSelected());
329321
settings.setShowAllRunConfigurationsInContext(myShowAllRunConfigurationsInContextCheckBox.isSelected());
@@ -391,7 +383,6 @@ public void reset() {
391383

392384
myEnableHotUiCheckBox.setSelected(settings.isEnableHotUi());
393385

394-
myEnableEmbeddedBrowsersCheckBox.setSelected(settings.isEnableEmbeddedBrowsers());
395386
myEnableBazelHotRestartCheckBox.setSelected(settings.isEnableBazelHotRestart());
396387
myAllowTestsInSourcesRoot.setSelected(settings.isAllowTestsInSourcesRoot());
397388

flutter-idea/src/io/flutter/settings/FlutterSettings.java

Lines changed: 1 addition & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -319,28 +319,7 @@ public boolean isEnableHotUiInCodeEditor() {
319319
}
320320

321321
public boolean isEnableEmbeddedBrowsers() {
322-
// For Big Sur users, change this setting to true if it's currently false and we haven't already set it to true.
323-
if (SystemInfo.isMac && (SystemInfo.isOsVersionAtLeast("11.0") || SystemInfo.isOsVersionAtLeast("10.16")) &&
324-
!getPropertiesComponent().getBoolean(enableEmbeddedBrowsersKey, true) &&
325-
isChangeBigSurToTrue()) {
326-
FlutterMessages.showInfo(
327-
"Embedded DevTools Inspector",
328-
"The embedded inspector is now supported for MacOS Big Sur and is enabled by default. To disable, go to Preferences > Flutter.",
329-
null
330-
);
331-
332-
// We do not want to set it back to true again in the future (e.g. if a user decides to set to false).
333-
setChangeBigSurToTrue(false);
334-
setEnableEmbeddedBrowsers(true);
335-
return true;
336-
}
337-
338-
return getPropertiesComponent().getBoolean(enableEmbeddedBrowsersKey, true);
339-
}
340-
341-
public void setEnableEmbeddedBrowsers(boolean value) {
342-
getPropertiesComponent().setValue(enableEmbeddedBrowsersKey, value, true);
343-
fireEvent();
322+
return true;
344323
}
345324

346325
public boolean isEnableBazelHotRestart() {

flutter-idea/src/io/flutter/view/FlutterView.java

Lines changed: 14 additions & 79 deletions
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ public FlutterView(@NotNull Project project) {
139139

140140
@VisibleForTesting
141141
@NonInjectable
142-
protected FlutterView(@NotNull Project project, JxBrowserManager jxBrowserManager, JxBrowserUtils jxBrowserUtils, InspectorGroupManagerService inspectorGroupManagerService, MessageBusConnection messageBusConnection) {
142+
protected FlutterView(@NotNull Project project, @NotNull JxBrowserManager jxBrowserManager, JxBrowserUtils jxBrowserUtils, InspectorGroupManagerService inspectorGroupManagerService, MessageBusConnection messageBusConnection) {
143143
myProject = project;
144144
this.jxBrowserUtils = jxBrowserUtils;
145145
this.jxBrowserManager = jxBrowserManager;
@@ -742,87 +742,22 @@ private void debugActiveHelper(FlutterApp app, @Nullable InspectorService inspec
742742

743743
toolWindow.setIcon(ExecutionUtil.getLiveIndicator(FlutterIcons.Flutter_13));
744744

745-
if (FlutterSettings.getInstance().isEnableEmbeddedBrowsers()) {
746-
if (jxBrowserManager.getStatus().equals(JxBrowserStatus.INSTALLED)) {
747-
// Reset the URL since we may have an outdated one from a previous app run.
748-
embeddedBrowserOptional().ifPresent(EmbeddedBrowser::resetUrl);
745+
if (jxBrowserManager.getStatus().equals(JxBrowserStatus.INSTALLED)) {
746+
// Reset the URL since we may have an outdated one from a previous app run.
747+
embeddedBrowserOptional().ifPresent(EmbeddedBrowser::resetUrl);
748+
}
749+
if (toolWindow.isVisible()) {
750+
displayEmbeddedBrowser(app, inspectorService, toolWindow);
751+
}
752+
else {
753+
if (toolWindowListener == null) {
754+
toolWindowListener = new FlutterViewToolWindowManagerListener(myProject, toolWindow);
749755
}
750-
if (toolWindow.isVisible()) {
756+
// If the window isn't visible yet, only executed embedded browser steps when it becomes visible.
757+
toolWindowListener.updateOnWindowFirstVisible(() -> {
751758
displayEmbeddedBrowser(app, inspectorService, toolWindow);
752-
}
753-
else {
754-
if (toolWindowListener == null) {
755-
toolWindowListener = new FlutterViewToolWindowManagerListener(myProject, toolWindow);
756-
}
757-
// If the window isn't visible yet, only executed embedded browser steps when it becomes visible.
758-
toolWindowListener.updateOnWindowFirstVisible(() -> {
759-
displayEmbeddedBrowser(app, inspectorService, toolWindow);
760-
});
761-
}
762-
763-
return;
759+
});
764760
}
765-
766-
listenForRenderTreeActivations(toolWindow);
767-
768-
addInspectorViewContent(app, inspectorService, toolWindow);
769-
770-
app.getVmService().addVmServiceListener(new VmServiceListenerAdapter() {
771-
@Override
772-
public void connectionOpened() {
773-
onAppChanged(app);
774-
}
775-
776-
@Override
777-
public void received(String streamId, Event event) {
778-
if (StringUtil.equals(streamId, VmService.EXTENSION_STREAM_ID)) {
779-
if (StringUtil.equals("Flutter.Frame", event.getExtensionKind())) {
780-
handleFlutterFrame(app);
781-
}
782-
}
783-
}
784-
785-
@Override
786-
public void connectionClosed() {
787-
ApplicationManager.getApplication().invokeLater(() -> {
788-
if (inspectorService != null) {
789-
Disposer.dispose(inspectorService);
790-
}
791-
792-
if (toolWindow.isDisposed()) return;
793-
final ContentManager contentManager = toolWindow.getContentManager();
794-
onAppChanged(app);
795-
final PerAppState state = perAppViewState.remove(app);
796-
if (state != null) {
797-
if (state.content != null) {
798-
contentManager.removeContent(state.content, true);
799-
}
800-
state.dispose();
801-
}
802-
if (perAppViewState.isEmpty()) {
803-
// No more applications are running.
804-
updateForEmptyContent(toolWindow);
805-
}
806-
});
807-
}
808-
});
809-
810-
onAppChanged(app);
811-
812-
app.addStateListener(new FlutterApp.FlutterAppListener() {
813-
public void notifyAppRestarted() {
814-
// When we get a restart finished event, queue up a notification to the flutter view
815-
// actions. We don't notify right away because the new isolate can take a little
816-
// while to start up. We wait until we get the first frame event, which is
817-
// enough of an indication that the isolate and flutter framework are initialized
818-
// to where they can receive service calls (for example, calls to restore various
819-
// framework debugging settings).
820-
final PerAppState state = getStateForApp(app);
821-
if (state != null) {
822-
state.sendRestartNotificationOnNextFrame = true;
823-
}
824-
}
825-
});
826761
}
827762

828763
private void displayEmbeddedBrowser(FlutterApp app, InspectorService inspectorService, ToolWindow toolWindow) {

0 commit comments

Comments
 (0)