Revert "Move `copyToClipboard` and `isEmbedded` helpers to `devtools_app_shar…" This reverts commit 18626924fcafdc90364b7554aad576ceaee047e1.
diff --git a/packages/devtools_app/lib/src/extensions/embedded/view.dart b/packages/devtools_app/lib/src/extensions/embedded/view.dart index e919785..51d64fe 100644 --- a/packages/devtools_app/lib/src/extensions/embedded/view.dart +++ b/packages/devtools_app/lib/src/extensions/embedded/view.dart
@@ -8,6 +8,7 @@ import '../../shared/analytics/analytics.dart' as ga; import '../../shared/analytics/constants.dart' as gac; import '../../shared/globals.dart'; +import '../../shared/utils.dart'; import '_view_desktop.dart' if (dart.library.js_interop) '_view_web.dart'; import 'controller.dart';
diff --git a/packages/devtools_app/lib/src/extensions/extension_screen.dart b/packages/devtools_app/lib/src/extensions/extension_screen.dart index 22a3a46..ce412f9 100644 --- a/packages/devtools_app/lib/src/extensions/extension_screen.dart +++ b/packages/devtools_app/lib/src/extensions/extension_screen.dart
@@ -12,6 +12,7 @@ import '../shared/common_widgets.dart'; import '../shared/globals.dart'; import '../shared/screen.dart'; +import '../shared/utils.dart'; import 'embedded/controller.dart'; import 'embedded/view.dart'; import 'extension_screen_controls.dart';
diff --git a/packages/devtools_app/lib/src/framework/disconnect_observer.dart b/packages/devtools_app/lib/src/framework/disconnect_observer.dart index 9b2152e..bb4edb9 100644 --- a/packages/devtools_app/lib/src/framework/disconnect_observer.dart +++ b/packages/devtools_app/lib/src/framework/disconnect_observer.dart
@@ -16,6 +16,7 @@ import '../shared/globals.dart'; import '../shared/query_parameters.dart'; import '../shared/routing.dart'; +import '../shared/utils.dart'; class DisconnectObserver extends StatefulWidget { const DisconnectObserver({
diff --git a/packages/devtools_app/lib/src/framework/release_notes/release_notes.dart b/packages/devtools_app/lib/src/framework/release_notes/release_notes.dart index 35f58be..9b8a716 100644 --- a/packages/devtools_app/lib/src/framework/release_notes/release_notes.dart +++ b/packages/devtools_app/lib/src/framework/release_notes/release_notes.dart
@@ -5,7 +5,6 @@ import 'dart:async'; import 'dart:convert'; -import 'package:devtools_app_shared/ui.dart'; import 'package:devtools_app_shared/utils.dart'; import 'package:devtools_shared/devtools_shared.dart'; import 'package:flutter/material.dart';
diff --git a/packages/devtools_app/lib/src/framework/scaffold.dart b/packages/devtools_app/lib/src/framework/scaffold.dart index b9b7a27..cd866e4 100644 --- a/packages/devtools_app/lib/src/framework/scaffold.dart +++ b/packages/devtools_app/lib/src/framework/scaffold.dart
@@ -23,6 +23,7 @@ import '../shared/routing.dart'; import '../shared/screen.dart'; import '../shared/title.dart'; +import '../shared/utils.dart'; import 'about_dialog.dart'; import 'app_bar.dart'; import 'report_feedback_button.dart';
diff --git a/packages/devtools_app/lib/src/framework/settings_dialog.dart b/packages/devtools_app/lib/src/framework/settings_dialog.dart index 4d710e5..a5f1e1c 100644 --- a/packages/devtools_app/lib/src/framework/settings_dialog.dart +++ b/packages/devtools_app/lib/src/framework/settings_dialog.dart
@@ -5,16 +5,17 @@ import 'dart:async'; import 'package:devtools_app_shared/ui.dart'; -import 'package:devtools_app_shared/utils.dart'; import 'package:flutter/material.dart'; import 'package:provider/provider.dart'; import '../shared/analytics/analytics_controller.dart'; import '../shared/analytics/constants.dart' as gac; import '../shared/common_widgets.dart'; +import '../shared/config_specific/copy_to_clipboard/copy_to_clipboard.dart'; import '../shared/globals.dart'; import '../shared/log_storage.dart'; import '../shared/server/server.dart'; +import '../shared/utils.dart'; class OpenSettingsAction extends ScaffoldAction { OpenSettingsAction({super.key, super.color}) @@ -112,8 +113,7 @@ _minScreenWidthForTextBeforeScaling, onPressed: () async => await copyToClipboard( LogStorage.root.toString(), - onSuccess: () => - notificationService.push('Successfully copied logs'), + 'Successfully copied logs', ), ), const SizedBox(width: denseSpacing),
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 1a0a72e..12e0d3a 100644 --- a/packages/devtools_app/lib/src/screens/network/network_screen.dart +++ b/packages/devtools_app/lib/src/screens/network/network_screen.dart
@@ -13,6 +13,7 @@ import '../../shared/analytics/analytics.dart' as ga; import '../../shared/analytics/constants.dart' as gac; import '../../shared/common_widgets.dart'; +import '../../shared/config_specific/copy_to_clipboard/copy_to_clipboard.dart'; import '../../shared/globals.dart'; import '../../shared/http/curl_command.dart'; import '../../shared/http/http_request_data.dart'; @@ -436,8 +437,7 @@ unawaited( copyToClipboard( data.uri, - onSuccess: () => - notificationService.push('Copied the URL to the clipboard'), + 'Copied the URL to the clipboard', ), ); }, @@ -448,8 +448,7 @@ unawaited( copyToClipboard( CurlCommand.from(data).toString(), - onSuccess: () => notificationService - .push('Copied the cURL command to the clipboard'), + 'Copied the cURL command to the clipboard', ), ); },
diff --git a/packages/devtools_app/lib/src/shared/analytics/_analytics_web.dart b/packages/devtools_app/lib/src/shared/analytics/_analytics_web.dart index 4dba24e..244be3d 100644 --- a/packages/devtools_app/lib/src/shared/analytics/_analytics_web.dart +++ b/packages/devtools_app/lib/src/shared/analytics/_analytics_web.dart
@@ -10,7 +10,6 @@ import 'dart:async'; import 'dart:js_interop'; -import 'package:devtools_app_shared/ui.dart'; import 'package:flutter/foundation.dart'; import 'package:logging/logging.dart'; import 'package:unified_analytics/unified_analytics.dart' as ua;
diff --git a/packages/devtools_app/lib/src/shared/common_widgets.dart b/packages/devtools_app/lib/src/shared/common_widgets.dart index d2a50d9..bd79b49 100644 --- a/packages/devtools_app/lib/src/shared/common_widgets.dart +++ b/packages/devtools_app/lib/src/shared/common_widgets.dart
@@ -16,6 +16,7 @@ import '../screens/debugger/debugger_controller.dart'; import 'analytics/analytics.dart' as ga; import 'analytics/constants.dart' as gac; +import 'config_specific/copy_to_clipboard/copy_to_clipboard.dart'; import 'console/widgets/expandable_variable.dart'; import 'diagnostics/dart_object_node.dart'; import 'diagnostics/tree_builder.dart'; @@ -1177,8 +1178,7 @@ .serviceManager.service!.fakeServiceCache .instanceToJson(copiedVariable.value as Instance), ), - onSuccess: () => - notificationService.push('JSON copied to clipboard'), + 'JSON copied to clipboard', ), ); }, @@ -1414,12 +1414,7 @@ ga.select(gaScreen!, gaItem!); } unawaited( - copyToClipboard( - dataProvider!() ?? '', - onSuccess: successMessage != null - ? () => notificationService.push(successMessage!) - : null, - ), + copyToClipboard(dataProvider!() ?? '', successMessage), ); }; final size = this.size ?? defaultIconSize;
diff --git a/packages/devtools_app_shared/lib/src/utils/copy_to_clipboard/_copy_to_clipboard_desktop.dart b/packages/devtools_app/lib/src/shared/config_specific/copy_to_clipboard/_copy_to_clipboard_desktop.dart similarity index 100% rename from packages/devtools_app_shared/lib/src/utils/copy_to_clipboard/_copy_to_clipboard_desktop.dart rename to packages/devtools_app/lib/src/shared/config_specific/copy_to_clipboard/_copy_to_clipboard_desktop.dart
diff --git a/packages/devtools_app_shared/lib/src/utils/copy_to_clipboard/_copy_to_clipboard_web.dart b/packages/devtools_app/lib/src/shared/config_specific/copy_to_clipboard/_copy_to_clipboard_web.dart similarity index 100% rename from packages/devtools_app_shared/lib/src/utils/copy_to_clipboard/_copy_to_clipboard_web.dart rename to packages/devtools_app/lib/src/shared/config_specific/copy_to_clipboard/_copy_to_clipboard_web.dart
diff --git a/packages/devtools_app_shared/lib/src/utils/copy_to_clipboard/copy_to_clipboard.dart b/packages/devtools_app/lib/src/shared/config_specific/copy_to_clipboard/copy_to_clipboard.dart similarity index 79% rename from packages/devtools_app_shared/lib/src/utils/copy_to_clipboard/copy_to_clipboard.dart rename to packages/devtools_app/lib/src/shared/config_specific/copy_to_clipboard/copy_to_clipboard.dart index fc1835f..1b2a343 100644 --- a/packages/devtools_app_shared/lib/src/utils/copy_to_clipboard/copy_to_clipboard.dart +++ b/packages/devtools_app/lib/src/shared/config_specific/copy_to_clipboard/copy_to_clipboard.dart
@@ -5,7 +5,8 @@ import 'package:flutter/services.dart'; import 'package:logging/logging.dart'; -import '../../ui/ui_utils.dart'; +import '../../globals.dart'; +import '../../utils.dart'; import '_copy_to_clipboard_desktop.dart' if (dart.library.js_interop) '_copy_to_clipboard_web.dart'; @@ -18,23 +19,24 @@ /// attempts to post the [data] to the parent frame where the parent frame will /// try to complete the copy (this fallback will only work in VSCode). Future<void> copyToClipboard( - String data, { - void Function()? onSuccess, -}) async { + String data, + String? successMessage, +) async { try { await Clipboard.setData( ClipboardData( text: data, ), ); - onSuccess?.call(); + + if (successMessage != null) notificationService.push(successMessage); } catch (e) { if (isEmbedded()) { _log.warning( - 'Copy failed. This may be as a result of a known bug in VS Code. ' + 'DevTools copy failed. This may be as a result of a known bug in VSCode. ' 'See https://github.com/Dart-Code/Dart-Code/issues/4540 for more ' - 'information. Now attempting to use a fallback method of copying the ' - 'that is a workaround for VS Code only.', + 'information. DevTools will now attempt to use a fallback method of ' + 'copying the contents.', ); // Trying to use Clipboard.setData to copy in vscode will not work as a // result of a bug. So we should fallback to `copyToClipboardVSCode` which
diff --git a/packages/devtools_app/lib/src/shared/diagnostics/inspector_service.dart b/packages/devtools_app/lib/src/shared/diagnostics/inspector_service.dart index 7e0299e..26fa83f 100644 --- a/packages/devtools_app/lib/src/shared/diagnostics/inspector_service.dart +++ b/packages/devtools_app/lib/src/shared/diagnostics/inspector_service.dart
@@ -13,7 +13,6 @@ import 'package:devtools_app_shared/service.dart'; import 'package:devtools_app_shared/service_extensions.dart'; -import 'package:devtools_app_shared/ui.dart'; import 'package:devtools_app_shared/utils.dart'; import 'package:flutter/cupertino.dart'; import 'package:flutter/foundation.dart';
diff --git a/packages/devtools_app/lib/src/shared/dialogs.dart b/packages/devtools_app/lib/src/shared/dialogs.dart index 169d300..c5a0607 100644 --- a/packages/devtools_app/lib/src/shared/dialogs.dart +++ b/packages/devtools_app/lib/src/shared/dialogs.dart
@@ -5,9 +5,9 @@ import 'dart:async'; import 'package:devtools_app_shared/ui.dart'; -import 'package:devtools_app_shared/utils.dart'; import 'package:flutter/material.dart'; +import 'config_specific/copy_to_clipboard/copy_to_clipboard.dart'; import 'globals.dart'; import 'utils.dart'; @@ -36,8 +36,7 @@ onPressed: () => unawaited( copyToClipboard( additionalInfo, - onSuccess: () => - notificationService.push('Error details copied to clipboard'), + 'Error details copied to clipboard', ), ), ),
diff --git a/packages/devtools_app/lib/src/shared/editable_list.dart b/packages/devtools_app/lib/src/shared/editable_list.dart index dbd8cc6..42fc44d 100644 --- a/packages/devtools_app/lib/src/shared/editable_list.dart +++ b/packages/devtools_app/lib/src/shared/editable_list.dart
@@ -10,7 +10,7 @@ import 'package:flutter/material.dart'; import 'common_widgets.dart'; -import 'globals.dart'; +import 'config_specific/copy_to_clipboard/copy_to_clipboard.dart'; /// A widget that displays the contents of [entries]. /// @@ -276,12 +276,7 @@ icon: Icons.copy_outlined, outlined: false, onPressed: () { - unawaited( - copyToClipboard( - value, - onSuccess: () => notificationService.push('Copied to clipboard.'), - ), - ); + unawaited(copyToClipboard(value, 'Copied to clipboard.')); }, ); }
diff --git a/packages/devtools_app/lib/src/shared/utils.dart b/packages/devtools_app/lib/src/shared/utils.dart index 541287f..e833b47 100644 --- a/packages/devtools_app/lib/src/shared/utils.dart +++ b/packages/devtools_app/lib/src/shared/utils.dart
@@ -39,6 +39,10 @@ ); } +/// Whether DevTools is in embedded mode, as determined by the [ideTheme] parsed +/// from query parameters. +bool isEmbedded() => ideTheme.embedded; + /// Whether DevTools is using a dark theme. /// /// When DevTools is in embedded mode, we first check if the [ideTheme] has
diff --git a/packages/devtools_app_shared/CHANGELOG.md b/packages/devtools_app_shared/CHANGELOG.md index 5946e3a..2d4a683 100644 --- a/packages/devtools_app_shared/CHANGELOG.md +++ b/packages/devtools_app_shared/CHANGELOG.md
@@ -6,7 +6,6 @@ * Add `caseInsensitiveFuzzyMatch` extension method on `String`. * Add common widgets `DevToolsClearableTextField`, `InputDecorationSuffixButton`, and `RoundedDropDownButton`. -* Add `copyToClipboard` and `isEmbedded` utility methods. * Deprecate `ServiceManager.hasConnection` in favor of `ServiceManager.connectedState.value.connected`. * Correct the dartdoc for the `ListValueNotifier` class.
diff --git a/packages/devtools_app_shared/lib/src/ui/ui_utils.dart b/packages/devtools_app_shared/lib/src/ui/ui_utils.dart index 2e66d16..cff4a29 100644 --- a/packages/devtools_app_shared/lib/src/ui/ui_utils.dart +++ b/packages/devtools_app_shared/lib/src/ui/ui_utils.dart
@@ -5,10 +5,6 @@ import '../utils/globals.dart'; import 'theme/ide_theme.dart'; -/// Whether DevTools is in embedded mode, as determined by the [ideTheme] parsed -/// from query parameters. -bool isEmbedded() => ideTheme.embedded; - IdeTheme get ideTheme { final theme = globals[IdeTheme]; if (theme == null) {
diff --git a/packages/devtools_app_shared/lib/utils.dart b/packages/devtools_app_shared/lib/utils.dart index 6568b0e..f44804b 100644 --- a/packages/devtools_app_shared/lib/utils.dart +++ b/packages/devtools_app_shared/lib/utils.dart
@@ -3,7 +3,6 @@ // found in the LICENSE file. export 'src/utils/auto_dispose.dart'; -export 'src/utils/copy_to_clipboard/copy_to_clipboard.dart'; export 'src/utils/globals.dart'; export 'src/utils/list.dart'; export 'src/utils/url/url.dart';