Fix errors with refresh inspector code
diff --git a/packages/devtools_app/lib/src/screens/inspector_v2/inspector_controller.dart b/packages/devtools_app/lib/src/screens/inspector_v2/inspector_controller.dart index 468154f..bebba01 100644 --- a/packages/devtools_app/lib/src/screens/inspector_v2/inspector_controller.dart +++ b/packages/devtools_app/lib/src/screens/inspector_v2/inspector_controller.dart
@@ -23,6 +23,8 @@ import 'package:vm_service/vm_service.dart'; import '../../service/service_extensions.dart' as extensions; +import '../../shared/analytics/analytics.dart' as ga; +import '../../shared/analytics/constants.dart' as gac; import '../../shared/console/eval/inspector_tree_v2.dart'; import '../../shared/console/primitives/simple_items.dart'; import '../../shared/diagnostics/diagnostics_node.dart'; @@ -369,6 +371,20 @@ return _waitForPendingUpdateDone(); } + Future<void> refreshInspector() async { + // If the user is force refreshing the inspector before the first load has + // completed, this could indicate a slow load time or that the inspector + // failed to load the tree once available. + if (!firstInspectorTreeLoadCompleted) { + // We do not want to complete this timing operation because the force + // refresh will skew the results. + ga.cancelTimingOperation(InspectorScreen.id, gac.pageReady); + ga.select(gac.inspector, gac.refreshEmptyTree); + firstInspectorTreeLoadCompleted = true; + } + await onForceRefresh(); + } + void filterErrors() { serviceConnection.errorBadgeManager.filterErrors( InspectorScreen.id,
diff --git a/packages/devtools_app/lib/src/screens/inspector_v2/inspector_screen_body.dart b/packages/devtools_app/lib/src/screens/inspector_v2/inspector_screen_body.dart index fe6435f..afcb40a 100644 --- a/packages/devtools_app/lib/src/screens/inspector_v2/inspector_screen_body.dart +++ b/packages/devtools_app/lib/src/screens/inspector_v2/inspector_screen_body.dart
@@ -213,23 +213,7 @@ ga.select(gac.inspector, gac.refresh); unawaited( blockWhileInProgress(() async { - // If the user is force refreshing the inspector before the first load has - // completed, this could indicate a slow load time or that the inspector - // failed to load the tree once available. - if (!controller.firstInspectorTreeLoadCompleted) { - // We do not want to complete this timing operation because the force - // refresh will skew the results. - ga.cancelTimingOperation( - InspectorScreen.id, - gac.pageReady, - ); - ga.select( - gac.inspector, - gac.refreshEmptyTree, - ); - controller.firstInspectorTreeLoadCompleted = true; - } - await controller.onForceRefresh(); + await controller.refreshInspector(); }), ); }