[CQ] migrate to using `fileNameFromUri` (#8847)
diff --git a/packages/devtools_app/lib/src/screens/debugger/breakpoints.dart b/packages/devtools_app/lib/src/screens/debugger/breakpoints.dart
index f49b875..e1e37d0 100644
--- a/packages/devtools_app/lib/src/screens/debugger/breakpoints.dart
+++ b/packages/devtools_app/lib/src/screens/debugger/breakpoints.dart
@@ -110,7 +110,7 @@
String _descriptionFor(BreakpointAndSourcePosition breakpoint) {
final scriptUri = breakpoint.scriptUri;
- final fileName = scriptUri == null ? 'file' : scriptUri.split('/').last;
+ final fileName = scriptUri == null ? 'file' : fileNameFromUri(scriptUri);
// Consider showing columns in the future if we allow multiple breakpoints
// per line.
return '$fileName:${breakpoint.line}';
diff --git a/packages/devtools_app/lib/src/screens/debugger/debugger_model.dart b/packages/devtools_app/lib/src/screens/debugger/debugger_model.dart
index e254876..7dc18d8 100644
--- a/packages/devtools_app/lib/src/screens/debugger/debugger_model.dart
+++ b/packages/devtools_app/lib/src/screens/debugger/debugger_model.dart
@@ -6,6 +6,7 @@
import '../../shared/diagnostics/primitives/source_location.dart';
import '../../shared/primitives/simple_items.dart';
+import '../../shared/primitives/utils.dart';
import '../../shared/ui/search.dart';
/// Whether to include properties surfaced through Diagnosticable objects as
@@ -230,7 +231,7 @@
if (uri == null) {
return uri;
}
- final file = uri.split('/').last;
+ final file = fileNameFromUri(uri);
return line == null ? file : '$file:$line';
}
}
@@ -238,5 +239,5 @@
// ignore: avoid_classes_with_only_static_members, fine for utility method.
abstract class ScriptRefUtils {
static String fileName(ScriptRef scriptRef) =>
- Uri.parse(scriptRef.uri!).path.split('/').last;
+ fileNameFromUri(Uri.parse(scriptRef.uri!).path)!;
}
diff --git a/packages/devtools_app/lib/src/screens/debugger/debugger_screen.dart b/packages/devtools_app/lib/src/screens/debugger/debugger_screen.dart
index 9404ce3..b347e91 100644
--- a/packages/devtools_app/lib/src/screens/debugger/debugger_screen.dart
+++ b/packages/devtools_app/lib/src/screens/debugger/debugger_screen.dart
@@ -499,7 +499,7 @@
return 'paused$reason';
}
- final fileName = ' at ${scriptUri.split('/').last}';
+ final fileName = ' at ${fileNameFromUri(scriptUri)}';
final tokenPos = location?.tokenPos;
final scriptRef = location?.script;
if (tokenPos == null || scriptRef == null) {
diff --git a/packages/devtools_app/lib/src/screens/debugger/file_search.dart b/packages/devtools_app/lib/src/screens/debugger/file_search.dart
index 3777e3c..319f32a 100644
--- a/packages/devtools_app/lib/src/screens/debugger/file_search.dart
+++ b/packages/devtools_app/lib/src/screens/debugger/file_search.dart
@@ -292,7 +292,7 @@
}
String _fileName(String fullPath) {
- return _fileNamesCache[fullPath] ??= fullPath.split('/').last;
+ return _fileNamesCache[fullPath] ??= fileNameFromUri(fullPath)!;
}
}
diff --git a/packages/devtools_app/lib/src/screens/performance/panes/rebuild_stats/rebuild_stats.dart b/packages/devtools_app/lib/src/screens/performance/panes/rebuild_stats/rebuild_stats.dart
index f9408ee..254c19e 100644
--- a/packages/devtools_app/lib/src/screens/performance/panes/rebuild_stats/rebuild_stats.dart
+++ b/packages/devtools_app/lib/src/screens/performance/panes/rebuild_stats/rebuild_stats.dart
@@ -248,7 +248,7 @@
return '<resolving location>';
}
- return '${fileUriString.split('/').last}:${dataObject.location.line}';
+ return '${fileNameFromUri(fileUriString)}:${dataObject.location.line}';
}
@override
diff --git a/packages/devtools_app/lib/src/shared/console/widgets/description.dart b/packages/devtools_app/lib/src/shared/console/widgets/description.dart
index ba3c705..4e1f493 100644
--- a/packages/devtools_app/lib/src/shared/console/widgets/description.dart
+++ b/packages/devtools_app/lib/src/shared/console/widgets/description.dart
@@ -460,7 +460,7 @@
overflow: TextOverflow.ellipsis,
text: TextSpan(
text:
- '${location.getFile()!.split('/').last}:${location.getLine()}:${location.getColumn()} ',
+ '${fileNameFromUri(location.getFile())}:${location.getLine()}:${location.getColumn()} ',
style: DiagnosticsTextStyles.regular(Theme.of(context).colorScheme),
),
),
diff --git a/packages/devtools_app/lib/src/shared/primitives/utils.dart b/packages/devtools_app/lib/src/shared/primitives/utils.dart
index 0dab37a..c4c993c 100644
--- a/packages/devtools_app/lib/src/shared/primitives/utils.dart
+++ b/packages/devtools_app/lib/src/shared/primitives/utils.dart
@@ -1074,9 +1074,6 @@
/// favor of a new request.
class ProcessCancelledException implements Exception {}
-// TODO(mtaylee): Prefer to use this helper method whenever a call to
-// .split('/').last is made on a String (usually on URIs).
-// See https://github.com/flutter/devtools/issues/4360.
/// Returns the file name from a URI or path string, by splitting the [uri] at
/// the directory separators '/', and returning the last element.
String? fileNameFromUri(String? uri) => uri?.split('/').lastOrNull;