diff --git a/packages/devtools_app/lib/src/screens/network/network_screen.dart b/packages/devtools_app/lib/src/screens/network/network_screen.dart index 5171c5e6736..0320b51fd50 100644 --- a/packages/devtools_app/lib/src/screens/network/network_screen.dart +++ b/packages/devtools_app/lib/src/screens/network/network_screen.dart @@ -14,7 +14,6 @@ import '../../shared/analytics/analytics.dart' as ga; import '../../shared/analytics/constants.dart' as gac; import '../../shared/config_specific/copy_to_clipboard/copy_to_clipboard.dart'; import '../../shared/config_specific/import_export/import_export.dart'; -import '../../shared/feature_flags.dart'; import '../../shared/framework/screen.dart'; import '../../shared/globals.dart'; import '../../shared/http/curl_command.dart'; @@ -250,34 +249,24 @@ class _NetworkProfilerControlsState extends State<_NetworkProfilerControls> ), ), const SizedBox(width: denseSpacing), - if (FeatureFlags.networkSaveLoad.isEnabled) - OpenSaveButtonGroup( - screenId: ScreenMetaData.network.id, - saveFormats: const [SaveFormat.devtools, SaveFormat.har], - gaItemForSaveFormatSelection: (SaveFormat format) => - switch (format) { - SaveFormat.devtools => gac.saveFile, - SaveFormat.har => gac.NetworkEvent.downloadAsHar.name, - }, - onSave: (SaveFormat format) async { + OpenSaveButtonGroup( + screenId: ScreenMetaData.network.id, + saveFormats: const [SaveFormat.devtools, SaveFormat.har], + gaItemForSaveFormatSelection: (SaveFormat format) => switch (format) { - case SaveFormat.devtools: - await controller.fetchFullDataBeforeExport(); - controller.exportData(); - case SaveFormat.har: - await controller.exportAsHarFile(); - } - }, - ) - else - DownloadButton( - tooltip: 'Download as .har file', - minScreenWidthForText: - _NetworkProfilerControls._includeTextWidth, - onPressed: controller.exportAsHarFile, - gaScreen: gac.network, - gaSelection: gac.NetworkEvent.downloadAsHar.name, - ), + SaveFormat.devtools => gac.saveFile, + SaveFormat.har => gac.NetworkEvent.downloadAsHar.name, + }, + onSave: (SaveFormat format) async { + switch (format) { + case SaveFormat.devtools: + await controller.fetchFullDataBeforeExport(); + controller.exportData(); + case SaveFormat.har: + await controller.exportAsHarFile(); + } + }, + ), ], ), if (!_recording) diff --git a/packages/devtools_app/lib/src/shared/feature_flags.dart b/packages/devtools_app/lib/src/shared/feature_flags.dart index 88a8b248878..c30e6be29b3 100644 --- a/packages/devtools_app/lib/src/shared/feature_flags.dart +++ b/packages/devtools_app/lib/src/shared/feature_flags.dart @@ -52,14 +52,6 @@ extension FeatureFlags on Never { enabled: enableExperiments, ); - /// Flag to enable save/load for the Network screen. - /// - /// https://github.com/flutter/devtools/issues/4470 - static final networkSaveLoad = BooleanFeatureFlag( - name: 'networkSaveLoad', - enabled: true, - ); - /// Flag to enable DevTools extensions. /// /// TODO(https://github.com/flutter/devtools/issues/6443): remove this flag @@ -99,7 +91,6 @@ extension FeatureFlags on Never { /// map as well. static final _booleanFlags = { memorySaveLoad, - networkSaveLoad, devToolsExtensions, dapDebugging, inspectorV2, diff --git a/packages/devtools_app/test/shared/primitives/feature_flags_test.dart b/packages/devtools_app/test/shared/primitives/feature_flags_test.dart index 826708d5cec..762e03cb9db 100644 --- a/packages/devtools_app/test/shared/primitives/feature_flags_test.dart +++ b/packages/devtools_app/test/shared/primitives/feature_flags_test.dart @@ -17,7 +17,6 @@ void main() { expect(enableBeta, false); expect(isExternalBuild, true); expect(FeatureFlags.memorySaveLoad.isEnabled, false); - expect(FeatureFlags.networkSaveLoad.isEnabled, true); expect(FeatureFlags.devToolsExtensions.isEnabled, isExternalBuild); expect(FeatureFlags.dapDebugging.isEnabled, false); expect(FeatureFlags.inspectorV2.isEnabled, true); diff --git a/pubspec.lock b/pubspec.lock index bb9ece344d4..d88cd7991eb 100644 --- a/pubspec.lock +++ b/pubspec.lock @@ -37,10 +37,10 @@ packages: dependency: transitive description: name: async - sha256: "758e6d74e971c3e5aceb4110bfd6698efc7f501675bcfe0c775459a8140750eb" + sha256: e2eb0491ba5ddb6177742d2da23904574082139b07c1e33b8503b9f46f3e1a37 url: "https://pub.dev" source: hosted - version: "2.13.0" + version: "2.13.1" benchmark_harness: dependency: transitive description: @@ -61,10 +61,10 @@ packages: dependency: transitive description: name: build - sha256: "275bf6bb2a00a9852c28d4e0b410da1d833a734d57d39d44f94bfc895a484ec3" + sha256: aadd943f4f8cc946882c954c187e6115a84c98c81ad1d9c6cbf0895a8c85da9c url: "https://pub.dev" source: hosted - version: "4.0.4" + version: "4.0.5" build_config: dependency: transitive description: @@ -85,10 +85,10 @@ packages: dependency: "direct dev" description: name: build_runner - sha256: "3552e5c2874ed47cf9ed9d6813ac71b2276ee07622f48530468b8013f1767e3f" + sha256: "521daf8d189deb79ba474e43a696b41c49fb3987818dbacf3308f1e03673a75e" url: "https://pub.dev" source: hosted - version: "2.13.0" + version: "2.13.1" built_collection: dependency: transitive description: @@ -101,10 +101,10 @@ packages: dependency: transitive description: name: built_value - sha256: "6ae8a6435a8c6520c7077b107e77f1fb4ba7009633259a4d49a8afd8e7efc5e9" + sha256: "0730c18c770d05636a8f945c32a4d7d81cb6e0f0148c8db4ad12e7748f7e49af" url: "https://pub.dev" source: hosted - version: "8.12.4" + version: "8.12.5" characters: dependency: transitive description: @@ -277,10 +277,10 @@ packages: dependency: transitive description: name: file_selector_android - sha256: "51e8fd0446de75e4b62c065b76db2210c704562d072339d333bd89c57a7f8a7c" + sha256: bf7ab65776d7e176280c853679e7742668586ba1663f7f1561e897fadad6c3ba url: "https://pub.dev" source: hosted - version: "0.5.2+4" + version: "0.5.2+5" file_selector_ios: dependency: transitive description: @@ -562,10 +562,10 @@ packages: dependency: transitive description: name: mockito - sha256: a45d1aa065b796922db7b9e7e7e45f921aed17adf3a8318a1f47097e7e695566 + sha256: eff30d002f0c8bf073b6f929df4483b543133fcafce056870163587b03f1d422 url: "https://pub.dev" source: hosted - version: "5.6.3" + version: "5.6.4" nested: dependency: transitive description: @@ -758,10 +758,10 @@ packages: dependency: transitive description: name: source_gen - sha256: adc962c96fffb2de1728ef396a995aaedcafbe635abdca13d2a987ce17e57751 + sha256: "732792cfd197d2161a65bb029606a46e0a18ff30ef9e141a7a82172b05ea8ecd" url: "https://pub.dev" source: hosted - version: "4.2.1" + version: "4.2.2" source_map_stack_trace: dependency: transitive description: @@ -902,10 +902,10 @@ packages: dependency: transitive description: name: url_launcher_android - sha256: "767344bf3063897b5cf0db830e94f904528e6dd50a6dfaf839f0abf509009611" + sha256: "3bb000251e55d4a209aa0e2e563309dc9bb2befea2295fd0cec1f51760aac572" url: "https://pub.dev" source: hosted - version: "6.3.28" + version: "6.3.29" url_launcher_ios: dependency: transitive description: