Skip to content

Commit 2ffc52c

Browse files
authored
[Inspector V2] Hide implementation widgets by default (#8647)
1 parent ba8a14f commit 2ffc52c

15 files changed

+31
-19
lines changed

Diff for: packages/devtools_app/lib/src/screens/inspector_v2/inspector_controller.dart

+1-1
Original file line numberDiff line numberDiff line change
@@ -247,7 +247,7 @@ class InspectorController extends DisposableController
247247
/// Whether the implementation widgets are hidden in the widget tree.
248248
ValueListenable<bool> get implementationWidgetsHidden =>
249249
_implementationWidgetsHidden;
250-
final _implementationWidgetsHidden = ValueNotifier<bool>(false);
250+
final _implementationWidgetsHidden = ValueNotifier<bool>(true);
251251

252252
InspectorTreeNode? lastExpanded;
253253

Diff for: packages/devtools_app/test/screens/inspector_v2/inspector_integration_test.dart

+30-18
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,9 @@ void main() {
156156
(WidgetTester tester) async {
157157
await _loadInspectorUI(tester);
158158

159+
// Toggle implementation widgets on.
160+
await _toggleImplementationWidgets(tester);
161+
159162
// Before hidden widgets are expanded, confirm the HeroControllerScope
160163
// is hidden:
161164
final hideableNodeFinder = findNodeMatching('HeroControllerScope');
@@ -207,6 +210,9 @@ void main() {
207210
) async {
208211
await _loadInspectorUI(tester);
209212

213+
// Toggle implementation widgets on.
214+
await _toggleImplementationWidgets(tester);
215+
210216
// Before searching, confirm the HeroControllerScope is hidden:
211217
final hideableNodeFinder = findNodeMatching('HeroControllerScope');
212218
expect(hideableNodeFinder, findsNothing);
@@ -239,21 +245,15 @@ void main() {
239245
) async {
240246
await _loadInspectorUI(tester);
241247

242-
// Give time for the initial animation to complete.
243-
await tester.pumpAndSettle(inspectorChangeSettleTime);
248+
// Toggle implementation widgets on.
249+
await _toggleImplementationWidgets(tester);
244250

245251
// Confirm the hidden widgets are visible behind affordances like "X more
246252
// widgets".
247253
expect(find.richTextContaining('more widgets...'), findsWidgets);
248254

249-
// Tap the "Show Implementation Widgets" button (selected by default).
250-
final showImplementationWidgetsButton = find.descendant(
251-
of: find.byType(DevToolsToggleButton),
252-
matching: find.text('Show Implementation Widgets'),
253-
);
254-
expect(showImplementationWidgetsButton, findsOneWidget);
255-
await tester.tap(showImplementationWidgetsButton);
256-
await tester.pumpAndSettle(inspectorChangeSettleTime);
255+
// Toggle implementation widgets off.
256+
await _toggleImplementationWidgets(tester);
257257

258258
// Confirm that the hidden widgets are no longer visible.
259259
expect(find.richTextContaining('more widgets...'), findsNothing);
@@ -287,6 +287,10 @@ void main() {
287287
) async {
288288
// Load the Inspector.
289289
await _loadInspectorUI(tester);
290+
291+
// Toggle implementation widgets on.
292+
await _toggleImplementationWidgets(tester);
293+
290294
await tester.pumpAndSettle(inspectorChangeSettleTime);
291295
final state =
292296
tester.state(find.byType(InspectorScreenBody))
@@ -300,14 +304,8 @@ void main() {
300304
diagnostics.firstWhere((d) => d?.description == 'Text')!;
301305
expect(textDiagnostic.isCreatedByLocalProject, isTrue);
302306

303-
// Tap the "Show Implementation Widgets" button (selected by default).
304-
final showImplementationWidgetsButton = find.descendant(
305-
of: find.byType(DevToolsToggleButton),
306-
matching: find.text('Show Implementation Widgets'),
307-
);
308-
expect(showImplementationWidgetsButton, findsOneWidget);
309-
await tester.tap(showImplementationWidgetsButton);
310-
await tester.pumpAndSettle(inspectorChangeSettleTime);
307+
// Toggle implementation widgets off.
308+
await _toggleImplementationWidgets(tester);
311309

312310
// Verify the Text diagnostic node is still in the tree.
313311
final diagnosticsNow = state.controller.inspectorTree.rowsInTree.value.map(
@@ -505,6 +503,9 @@ void main() {
505503
) async {
506504
await _loadInspectorUI(tester);
507505

506+
// Toggle implementation widgets on.
507+
await _toggleImplementationWidgets(tester);
508+
508509
// Give time for the initial animation to complete.
509510
await tester.pumpAndSettle(inspectorChangeSettleTime);
510511

@@ -596,6 +597,17 @@ void main() {
596597
});
597598
}
598599

600+
Future<void> _toggleImplementationWidgets(WidgetTester tester) async {
601+
// Tap the "Show Implementation Widgets" button (selected by default).
602+
final showImplementationWidgetsButton = find.descendant(
603+
of: find.byType(DevToolsToggleButton),
604+
matching: find.text('Show Implementation Widgets'),
605+
);
606+
expect(showImplementationWidgetsButton, findsOneWidget);
607+
await tester.tap(showImplementationWidgetsButton);
608+
await tester.pumpAndSettle(inspectorChangeSettleTime);
609+
}
610+
599611
Future<void> _loadInspectorUI(WidgetTester tester) async {
600612
final screen = InspectorScreen();
601613
await tester.pumpWidget(
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading
Loading

0 commit comments

Comments
 (0)