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';