Skip to content

Commit f287785

Browse files
Consolidate the Disposable logic in devtools_app_shared (#8952)
1 parent 657f00f commit f287785

10 files changed

Lines changed: 15 additions & 16 deletions

File tree

packages/devtools_app/lib/src/shared/diagnostics/object_group_api.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
// Use of this source code is governed by a BSD-style license that can be
33
// found in the LICENSE file or at https://developers.google.com/open-source/licenses/bsd.
44

5-
import 'package:devtools_app_shared/service.dart';
5+
import 'package:devtools_app_shared/utils.dart';
66
import 'package:flutter/foundation.dart';
77
import 'package:vm_service/vm_service.dart';
88

packages/devtools_app/lib/src/shared/ui/hover.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
import 'dart:async';
66
import 'dart:math' as math;
77

8-
import 'package:devtools_app_shared/service.dart';
98
import 'package:devtools_app_shared/ui.dart';
9+
import 'package:devtools_app_shared/utils.dart';
1010
import 'package:flutter/gestures.dart';
1111
import 'package:flutter/material.dart';
1212
import 'package:provider/provider.dart';

packages/devtools_app/test/shared/eval_integration_test.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
import 'package:devtools_app/src/shared/globals.dart';
66
import 'package:devtools_app_shared/service.dart';
7+
import 'package:devtools_app_shared/utils.dart';
78
import 'package:devtools_test/helpers.dart';
89
import 'package:flutter_test/flutter_test.dart';
910

packages/devtools_app_shared/CHANGELOG.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,12 @@ Copyright 2025 The Flutter Authors
33
Use of this source code is governed by a BSD-style license that can be
44
found in the LICENSE file or at https://developers.google.com/open-source/licenses/bsd.
55
-->
6-
## 0.3.2 (not released)
6+
## 0.4.0 (not released)
77
* Add `DisposableController.init` method and `DisposableController.disposed`
88
getter.
9+
* Move the `Disposable` class from the
10+
`package:devtools_app_shared/service.dart` library to the
11+
`package:devtools_app_shared/utils.dart` library.
912

1013
## 0.3.1
1114
* Bump `vm_service` dependency to `>=13.0.0 <16.0.0`.

packages/devtools_app_shared/lib/src/service/eval_on_dart_library.dart

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,6 @@ import 'service_manager.dart';
2020

2121
final _log = Logger('eval_on_dart_library');
2222

23-
class Disposable {
24-
bool disposed = false;
25-
26-
@mustCallSuper
27-
void dispose() {
28-
disposed = true;
29-
}
30-
}
31-
3223
// TODO(https://github.com/flutter/devtools/issues/6239): try to remove this.
3324
@sealed
3425
class EvalOnDartLibrary extends DisposableController

packages/devtools_app_shared/lib/src/service/service_manager.dart

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import 'package:meta/meta.dart';
1414
import 'package:path/path.dart' as path;
1515
import 'package:vm_service/vm_service.dart' hide Error;
1616

17+
import '../utils/auto_dispose.dart';
1718
import '../utils/utils.dart';
1819
import 'connected_app.dart';
1920
import 'dtd_manager.dart';

packages/devtools_app_shared/lib/src/utils/auto_dispose.dart

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -242,9 +242,12 @@ mixin DisposerMixin {
242242
}
243243

244244
/// Base class for controllers that need to manage their lifecycle.
245-
abstract class DisposableController {
245+
abstract class DisposableController extends Disposable {
246246
void init() {}
247+
}
247248

249+
/// Represents a disposable object.
250+
class Disposable {
248251
bool get disposed => _disposed;
249252

250253
bool _disposed = false;

packages/devtools_app_shared/pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
# found in the LICENSE file or at https://developers.google.com/open-source/licenses/bsd.
44
name: devtools_app_shared
55
description: Package of Dart & Flutter structures shared between devtools_app and devtools extensions.
6-
version: 0.3.2
6+
version: 0.4.0
77
repository: https://github.com/flutter/devtools/tree/master/packages/devtools_app_shared
88

99
environment:

packages/devtools_extensions/CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ Use of this source code is governed by a BSD-style license that can be
44
found in the LICENSE file or at https://developers.google.com/open-source/licenses/bsd.
55
-->
66
## 0.3.2 (not released)
7-
* Bump `devtools_app_shared` dependency to `0.3.2`.
7+
* Bump `devtools_app_shared` dependency to `0.4.0`.
88

99
## 0.3.1
1010
* Bump `vm_service` dependency to `>=13.0.0 <16.0.0`.

packages/devtools_extensions/pubspec.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ executables:
1919
dependencies:
2020
args: ^2.4.2
2121
devtools_shared: ^11.1.0
22-
devtools_app_shared: ^0.3.2
22+
devtools_app_shared: ^0.4.0
2323
flutter:
2424
sdk: flutter
2525
io: ^1.0.4

0 commit comments

Comments
 (0)