Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ jobs:
wget -qO- https://dcm.dev/pgp-key.public | sudo gpg --dearmor -o /usr/share/keyrings/dcm.gpg
echo 'deb [signed-by=/usr/share/keyrings/dcm.gpg arch=amd64] https://dcm.dev/debian stable main' | sudo tee /etc/apt/sources.list.d/dart_stable.list
sudo apt-get update
sudo apt-get install dcm=1.38.3-1 # To avoid errors add `-1` (build number) to the version
sudo apt-get install dcm=1.39.1-1 # To avoid errors add `-1` (build number) to the version
sudo chmod +x /usr/bin/dcm
echo "$(dcm --version)"
- name: Setup Dart SDK
Expand Down
18 changes: 14 additions & 4 deletions analysis_options.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -177,12 +177,22 @@ dcm:
# Ignore unused code in package examples.
- packages/devtools_app_shared/example/**
rules:
# - arguments-ordering Too strict
# - avoid-banned-imports # TODO(polina-c): add configuration
- avoid-importing-entrypoint-exports:
only-in-src: true
- avoid-accessing-collections-by-constant-index
Comment thread
johnpryan marked this conversation as resolved.
- avoid-async-call-in-sync-function # This does catch findings that unawaited_futures misses.
- avoid-banned-imports:
entries:
- paths: ['packages/devtools_shared/lib/.*\.dart']
deny: ['package:flutter/.*']
message: 'Do not import Flutter libraries in devtools_shared.'
severity: error
- avoid-cascade-after-if-null
- avoid-collapsible-if
- avoid-collection-methods-with-unrelated-types
- avoid-constant-assert-conditions
- avoid-duplicate-named-imports
- avoid-empty-test-groups
- avoid-importing-entrypoint-exports:
only-in-src: true
- avoid-duplicate-exports
- avoid-dynamic
# - avoid-global-state TODO(jacobr): bunch of false positives around boolean flags.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -188,13 +188,11 @@ class AccessibilityController extends DevToolsScreenController
}

final roots = <SemanticsNodeModel>[];
if (rawData is Map<String, dynamic>) {
if (rawData.isNotEmpty) {
final rootId = rawData.containsKey('0')
? '0'
: rawData.keys.first.toString();
roots.add(_buildTreeFromNodesMap(rootId, rawData, <String>{}));
}
if (rawData is Map<String, dynamic> && rawData.isNotEmpty) {
final rootId = rawData.containsKey('0')
? '0'
: rawData.keys.first.toString();
roots.add(_buildTreeFromNodesMap(rootId, rawData, <String>{}));
}

if (roots.isEmpty) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1380,8 +1380,10 @@ final defaultScriptPopupMenuOptions = [
final copyPackagePathOption = ScriptPopupMenuOption(
label: 'Copy package path',
icon: Icons.content_copy,
onSelected: (_, controller) => Clipboard.setData(
ClipboardData(text: controller.scriptLocation.value?.scriptRef.uri ?? ''),
onSelected: (_, controller) => unawaited(
Clipboard.setData(
ClipboardData(text: controller.scriptLocation.value?.scriptRef.uri ?? ''),
),
),
);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -190,17 +190,16 @@ class VMServiceObjectNode extends TreeNode<VMServiceObjectNode> {
?.isolateNow
?.rootLib
?.uri;
if (rootLibUri != null) {
if (rootLibUri.startsWith('package:') ||
rootLibUri.startsWith('google3:')) {
final parts = rootLibUri.split('/')..removeLast();
final path = parts.join('/');
for (int i = 0; i < root.children.length; ++i) {
if (root.children[i].name.startsWith(path)) {
final rootLibNode = root.removeChildAtIndex(i);
root.addChild(rootLibNode, index: 0);
break;
}
if (rootLibUri != null &&
(rootLibUri.startsWith('package:') ||
rootLibUri.startsWith('google3:'))) {
final parts = rootLibUri.split('/')..removeLast();
final path = parts.join('/');
for (int i = 0; i < root.children.length; ++i) {
if (root.children[i].name.startsWith(path)) {
final rootLibNode = root.removeChildAtIndex(i);
root.addChild(rootLibNode, index: 0);
break;
}
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -193,7 +193,7 @@ class _DtdNotConnectedViewState extends State<DtdNotConnectedView> {
Expanded(
child: DevToolsClearableTextField(
controller: textEditingController,
onSubmitted: (_) => _connect(),
onSubmitted: (_) => unawaited(_connect()),
),
),
const SizedBox(width: defaultSpacing),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -573,10 +573,9 @@ class InspectorController extends DisposableController
}) {
if (currentDistance > inRange.end) return null;

if (inRange.contains(currentDistance)) {
if (of.description == matching.description) {
return of;
}
if (inRange.contains(currentDistance) &&
of.description == matching.description) {
return of;
}

final children = of.childrenNow;
Expand Down Expand Up @@ -997,10 +996,8 @@ class InspectorController extends DisposableController
required RemoteDiagnosticsNode? selection,
bool notifyFlutterInspector = false,
}) {
if (selection != null) {
if (selection.isCreatedByLocalProject) {
_navigateTo(selection);
}
if (selection != null && selection.isCreatedByLocalProject) {
_navigateTo(selection);
}

if (notifyFlutterInspector && selection != null) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -87,18 +87,17 @@ class MemoryChartPaneController extends DisposableController

void _maybeUpdateChart() {
if (!isChartVisible.value) return;
if (!offlineDataController.showingOfflineData.value) {
if (_chartConnection == null) {
_chartConnection ??= _chartConnection = ChartVmConnection(
data.timeline,
isAndroidChartVisible: isAndroidChartVisible,
);
if (serviceConnection.serviceManager.connectedState.value.connected) {
_chartConnection!.init();
resume();
} else {
data.isDeviceAndroid ??= false;
}
if (!offlineDataController.showingOfflineData.value &&
_chartConnection == null) {
_chartConnection ??= _chartConnection = ChartVmConnection(
data.timeline,
isAndroidChartVisible: isAndroidChartVisible,
);
if (serviceConnection.serviceManager.connectedState.value.connected) {
_chartConnection!.init();
resume();
} else {
data.isDeviceAndroid ??= false;
}
}
_maybeCalculateAndroidChartVisibility();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,6 @@ import 'package:flutter/material.dart';

import '../../../../../../shared/charts/chart_controller.dart';
import '../../../../../../shared/charts/chart_trace.dart' as chart_trace;
import '../../../../../../shared/charts/chart_trace.dart'
show ChartType, ChartSymbol;
import '../../../../shared/primitives/memory_timeline.dart';
import '../../data/charts.dart';

Expand Down Expand Up @@ -122,10 +120,10 @@ class AndroidChartController extends ChartController {

// Stack trace
final stackIndex = createTrace(
ChartType.line,
chart_trace.ChartType.line,
chart_trace.PaintCharacteristics(
color: _Color.stackColor,
symbol: ChartSymbol.disc,
symbol: chart_trace.ChartSymbol.disc,
diameter: 1.5,
),
stacked: true,
Expand All @@ -138,10 +136,10 @@ class AndroidChartController extends ChartController {

// Java heap trace.
final javaHeapIndex = createTrace(
ChartType.line,
chart_trace.ChartType.line,
chart_trace.PaintCharacteristics(
color: _Color.javaColor,
symbol: ChartSymbol.disc,
symbol: chart_trace.ChartSymbol.disc,
diameter: 1.5,
),
stacked: true,
Expand All @@ -155,10 +153,10 @@ class AndroidChartController extends ChartController {

// Code trace
final codeIndex = createTrace(
ChartType.line,
chart_trace.ChartType.line,
chart_trace.PaintCharacteristics(
color: _Color.codeColor,
symbol: ChartSymbol.disc,
symbol: chart_trace.ChartSymbol.disc,
diameter: 1.5,
),
stacked: true,
Expand All @@ -171,10 +169,10 @@ class AndroidChartController extends ChartController {

// Graphics Trace
final graphicIndex = createTrace(
ChartType.line,
chart_trace.ChartType.line,
chart_trace.PaintCharacteristics(
color: _Color.graphicColor,
symbol: ChartSymbol.disc,
symbol: chart_trace.ChartSymbol.disc,
diameter: 1.5,
),
stacked: true,
Expand All @@ -188,10 +186,10 @@ class AndroidChartController extends ChartController {

// Native heap trace.
final nativeHeapIndex = createTrace(
ChartType.line,
chart_trace.ChartType.line,
chart_trace.PaintCharacteristics(
color: _Color.nativeHeapColor,
symbol: ChartSymbol.disc,
symbol: chart_trace.ChartSymbol.disc,
diameter: 1.5,
),
stacked: true,
Expand All @@ -205,10 +203,10 @@ class AndroidChartController extends ChartController {

// Other trace
final otherIndex = createTrace(
ChartType.line,
chart_trace.ChartType.line,
chart_trace.PaintCharacteristics(
color: _Color.otherColor,
symbol: ChartSymbol.disc,
symbol: chart_trace.ChartSymbol.disc,
diameter: 1.5,
),
stacked: true,
Expand All @@ -221,10 +219,10 @@ class AndroidChartController extends ChartController {

// System trace
final systemIndex = createTrace(
ChartType.line,
chart_trace.ChartType.line,
chart_trace.PaintCharacteristics(
color: _Color.systemColor,
symbol: ChartSymbol.disc,
symbol: chart_trace.ChartSymbol.disc,
diameter: 1.5,
),
stacked: true,
Expand All @@ -241,7 +239,7 @@ class AndroidChartController extends ChartController {
chart_trace.ChartType.line,
chart_trace.PaintCharacteristics(
color: _Color.totalColor,
symbol: ChartSymbol.dashedLine,
symbol: chart_trace.ChartSymbol.dashedLine,
strokeWidth: 2,
),
name: AndroidTraceName.total.toString(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,6 @@ import 'package:flutter/material.dart';

import '../../../../../../shared/charts/chart_controller.dart';
import '../../../../../../shared/charts/chart_trace.dart' as chart_trace;
import '../../../../../../shared/charts/chart_trace.dart'
show ChartType, PaintCharacteristics, ChartSymbol;
import '../../../../shared/primitives/memory_timeline.dart';

class _Sizes {
Expand Down Expand Up @@ -132,11 +130,11 @@ class EventChartController extends ChartController {
}

final extensionEventsIndex = createTrace(
ChartType.symbol,
PaintCharacteristics(
chart_trace.ChartType.symbol,
chart_trace.PaintCharacteristics(
color: Colors.purpleAccent[100]!,
colorAggregate: Colors.purpleAccent[400],
symbol: ChartSymbol.filledTriangle,
symbol: chart_trace.ChartSymbol.filledTriangle,
height: 20,
width: 20,
fixedMinY: _Sizes.visibleVm,
Expand All @@ -151,8 +149,8 @@ class EventChartController extends ChartController {
);

final snapshotIndex = createTrace(
ChartType.symbol,
PaintCharacteristics(
chart_trace.ChartType.symbol,
chart_trace.PaintCharacteristics(
color: Colors.green,
strokeWidth: 3,
diameter: 6,
Expand All @@ -169,8 +167,8 @@ class EventChartController extends ChartController {

// Auto-snapshot
final autoSnapshotIndex = createTrace(
ChartType.symbol,
PaintCharacteristics(
chart_trace.ChartType.symbol,
chart_trace.PaintCharacteristics(
color: Colors.red,
strokeWidth: 3,
diameter: 6,
Expand All @@ -187,8 +185,8 @@ class EventChartController extends ChartController {

// Manual GC
final manualGCIndex = createTrace(
ChartType.symbol,
PaintCharacteristics(
chart_trace.ChartType.symbol,
chart_trace.PaintCharacteristics(
color: Colors.blue,
strokeWidth: 3,
diameter: 6,
Expand All @@ -207,8 +205,8 @@ class EventChartController extends ChartController {

// Monitor
final monitorIndex = createTrace(
ChartType.symbol,
PaintCharacteristics(
chart_trace.ChartType.symbol,
chart_trace.PaintCharacteristics(
color: mainMonitorColor,
strokeWidth: 3,
diameter: 6,
Expand All @@ -224,8 +222,8 @@ class EventChartController extends ChartController {
);

final monitorResetIndex = createTrace(
ChartType.symbol,
PaintCharacteristics.concentric(
chart_trace.ChartType.symbol,
chart_trace.PaintCharacteristics.concentric(
color: Colors.grey[600]!,
strokeWidth: 4,
diameter: 6,
Expand All @@ -244,10 +242,10 @@ class EventChartController extends ChartController {

// VM GC
final gcIndex = createTrace(
ChartType.symbol,
PaintCharacteristics(
chart_trace.ChartType.symbol,
chart_trace.PaintCharacteristics(
color: Colors.blue,
symbol: ChartSymbol.disc,
symbol: chart_trace.ChartSymbol.disc,
diameter: 4,
fixedMinY: _Sizes.visibleVm,
fixedMaxY: _Sizes.extensions,
Expand Down
Loading
Loading