From 96dfcd77e2c6d08378c5b7ecbac012e8811f0ca3 Mon Sep 17 00:00:00 2001 From: Kenzie Davisson Date: Mon, 19 Oct 2026 21:24:39 +0000 Subject: [PATCH 1/3] Delete Provider placeholder screen. --- packages/devtools_app/lib/devtools_app.dart | 1 - packages/devtools_app/lib/src/app.dart | 2 -- .../src/screens/provider/provider_screen.dart | 33 ------------------- 3 files changed, 36 deletions(-) delete mode 100644 packages/devtools_app/lib/src/screens/provider/provider_screen.dart diff --git a/packages/devtools_app/lib/devtools_app.dart b/packages/devtools_app/lib/devtools_app.dart index a2e566a65ca..ca45ced8a68 100644 --- a/packages/devtools_app/lib/devtools_app.dart +++ b/packages/devtools_app/lib/devtools_app.dart @@ -58,7 +58,6 @@ export 'src/screens/profiler/cpu_profile_model.dart'; export 'src/screens/profiler/profiler_screen.dart'; export 'src/screens/profiler/profiler_screen_controller.dart'; export 'src/screens/profiler/sampling_rate.dart'; -export 'src/screens/provider/provider_screen.dart'; export 'src/screens/vm_developer/object_inspector/class_hierarchy_explorer.dart'; export 'src/screens/vm_developer/object_inspector/class_hierarchy_explorer_controller.dart'; export 'src/screens/vm_developer/object_inspector/object_inspector_view_controller.dart'; diff --git a/packages/devtools_app/lib/src/app.dart b/packages/devtools_app/lib/src/app.dart index f1acdf5dfc2..67a06e358c9 100644 --- a/packages/devtools_app/lib/src/app.dart +++ b/packages/devtools_app/lib/src/app.dart @@ -45,7 +45,6 @@ import 'screens/performance/performance_controller.dart'; import 'screens/performance/performance_screen.dart'; import 'screens/profiler/profiler_screen.dart'; import 'screens/profiler/profiler_screen_controller.dart'; -import 'screens/provider/provider_screen.dart'; import 'screens/vm_developer/vm_developer_tools_controller.dart'; import 'screens/vm_developer/vm_developer_tools_screen.dart'; import 'service/service_extension_widgets.dart'; @@ -726,7 +725,6 @@ List defaultScreens({ AccessibilityScreen(), createController: (_) => AccessibilityController(), ), - DevToolsScreen(ProviderScreen()), DevToolsScreen( AppSizeScreen(), createController: (_) => AppSizeController(), diff --git a/packages/devtools_app/lib/src/screens/provider/provider_screen.dart b/packages/devtools_app/lib/src/screens/provider/provider_screen.dart deleted file mode 100644 index 4aa9703f423..00000000000 --- a/packages/devtools_app/lib/src/screens/provider/provider_screen.dart +++ /dev/null @@ -1,33 +0,0 @@ -// Copyright 2021 The Flutter Authors -// Use of this source code is governed by a BSD-style license that can be -// found in the LICENSE file or at https://developers.google.com/open-source/licenses/bsd. - -import 'package:devtools_app_shared/ui.dart'; -import 'package:material_ui/material_ui.dart'; - -import '../../shared/framework/screen.dart'; -import '../../shared/ui/common_widgets.dart'; - -class ProviderScreen extends Screen { - ProviderScreen() : super.fromMetaData(ScreenMetaData.provider); - - @override - Widget buildScreenBody(BuildContext context) { - return CenteredMessage( - richMessage: [ - const TextSpan( - text: - 'The Provider screen is now shipped as a DevTools extension.\n' - 'If you want to use this tool, please upgrade your ', - ), - TextSpan( - text: 'package:provider', - style: Theme.of(context).fixedFontStyle, - ), - const TextSpan( - text: ' dependency to the latest version, and then re-open DevTools.', - ), - ], - ); - } -} From 07e1661a45a7932cc86309d00a807892d18422fb Mon Sep 17 00:00:00 2001 From: Kenzie Davisson Date: Mon, 19 Oct 2026 21:38:11 +0000 Subject: [PATCH 2/3] More cleanup --- packages/devtools_app/lib/src/app.dart | 15 +-------------- .../lib/src/shared/framework/screen.dart | 8 +------- .../vs_code/devtools/devtools_view.dart | 4 ---- 3 files changed, 2 insertions(+), 25 deletions(-) diff --git a/packages/devtools_app/lib/src/app.dart b/packages/devtools_app/lib/src/app.dart index 67a06e358c9..73797dd0d99 100644 --- a/packages/devtools_app/lib/src/app.dart +++ b/packages/devtools_app/lib/src/app.dart @@ -88,20 +88,7 @@ class DevToolsApp extends StatefulWidget { class DevToolsAppState extends State with AutoDisposeMixin { List get _screens { if (FeatureFlags.devToolsExtensions.isEnabled) { - // TODO(https://github.com/flutter/devtools/issues/6273): stop special - // casing the package:provider extension. - final containsProviderExtension = extensionService - .currentExtensions - .value - .visibleExtensions - .where((e) => e.name == 'provider') - .isNotEmpty; - final devToolsScreens = containsProviderExtension - ? _originalScreens - .where((s) => s.screenId != ScreenMetaData.provider.id) - .toList() - : _originalScreens; - return [...devToolsScreens, ..._extensionScreens]; + return [..._originalScreens, ..._extensionScreens]; } return _originalScreens; } diff --git a/packages/devtools_app/lib/src/shared/framework/screen.dart b/packages/devtools_app/lib/src/shared/framework/screen.dart index eacb7d9fb0d..c00f88bb6ae 100644 --- a/packages/devtools_app/lib/src/shared/framework/screen.dart +++ b/packages/devtools_app/lib/src/shared/framework/screen.dart @@ -104,13 +104,6 @@ enum ScreenMetaData { icon: Icons.accessibility, requiresFlutter: true, ), - provider( - 'provider', - title: 'Provider', - icon: Icons.attach_file, - requiresLibrary: 'package:provider/', - requiresDebugBuild: true, - ), appSize( 'app-size', title: 'App Size', @@ -155,6 +148,7 @@ enum ScreenMetaData { this.requiresAdvancedDeveloperMode = false, this.supportsWebServerDevice = false, this.worksWithOfflineData = false, + // ignore: unused_element_parameter, this is used in internally. this.requiresLibrary, this.tutorialVideoTimestamp, this.tutorialVideoUrl, diff --git a/packages/devtools_app/lib/src/standalone_ui/vs_code/devtools/devtools_view.dart b/packages/devtools_app/lib/src/standalone_ui/vs_code/devtools/devtools_view.dart index 55bba2578a0..6b9b230097b 100644 --- a/packages/devtools_app/lib/src/standalone_ui/vs_code/devtools/devtools_view.dart +++ b/packages/devtools_app/lib/src/standalone_ui/vs_code/devtools/devtools_view.dart @@ -172,10 +172,6 @@ class SidebarDevToolsScreens extends StatelessWidget { ScreenMetaData.home || ScreenMetaData.debugger || ScreenMetaData.vmTools || - // This screen will be removed from the first party DevTools screens soon. - // If the user depends on package:provider, the provider extension should - // show up in the DevTools extensions list instead. - ScreenMetaData.provider || ScreenMetaData.simple => false, _ => true, }; From 247077e7364e1a54621c4679de0692a7724103c9 Mon Sep 17 00:00:00 2001 From: Kenzie Davisson Date: Tue, 20 Oct 2026 16:10:57 +0000 Subject: [PATCH 3/3] Add release notes --- packages/devtools_app/release_notes/NEXT_RELEASE_NOTES.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/devtools_app/release_notes/NEXT_RELEASE_NOTES.md b/packages/devtools_app/release_notes/NEXT_RELEASE_NOTES.md index e2ef07b06a1..7d47c6b982a 100644 --- a/packages/devtools_app/release_notes/NEXT_RELEASE_NOTES.md +++ b/packages/devtools_app/release_notes/NEXT_RELEASE_NOTES.md @@ -15,7 +15,8 @@ To learn more about DevTools, check out the ## General updates -TODO: Remove this section if there are not any updates. +* Remove the legacy Provider screen, which was a placeholder to point users to +the `package:provider` DevTools extension. [#10046](https://github.com/flutter/devtools/pull/10046) ## Inspector updates