From 22e213e3d56defeda45ffd577bc05a4a14a49acb Mon Sep 17 00:00:00 2001 From: Polina Cherkasova Date: Tue, 2 Jan 2024 15:46:09 -0800 Subject: [PATCH 1/4] - --- examples/leak_tracking/lib/main.dart | 2 +- pkgs/leak_tracker_flutter_testing/lib/src/matchers.dart | 6 +++--- pkgs/leak_tracker_flutter_testing/lib/src/testing.dart | 6 ++++-- .../test/tests/_dispatcher_test.dart | 2 +- .../test/tests/matchers_test.dart | 4 ++-- 5 files changed, 11 insertions(+), 9 deletions(-) diff --git a/examples/leak_tracking/lib/main.dart b/examples/leak_tracking/lib/main.dart index 343a201e..7afecb18 100644 --- a/examples/leak_tracking/lib/main.dart +++ b/examples/leak_tracking/lib/main.dart @@ -4,7 +4,7 @@ import 'package:leak_tracker/leak_tracker.dart'; void main() { LeakTracking.start(); - MemoryAllocations.instance.addListener( + FlutterMemoryAllocations.instance.addListener( (ObjectEvent event) => LeakTracking.dispatchObjectEvent(event.toMap()), ); diff --git a/pkgs/leak_tracker_flutter_testing/lib/src/matchers.dart b/pkgs/leak_tracker_flutter_testing/lib/src/matchers.dart index 455d4865..a94251cf 100644 --- a/pkgs/leak_tracker_flutter_testing/lib/src/matchers.dart +++ b/pkgs/leak_tracker_flutter_testing/lib/src/matchers.dart @@ -8,7 +8,7 @@ import 'package:flutter/foundation.dart'; import 'package:matcher/matcher.dart'; /// Invokes [callback] and collects -/// events dispatched to [MemoryAllocations.instance] for [type]. +/// events dispatched to [FlutterMemoryAllocations.instance] for [type]. Future> memoryEvents( FutureOr Function() callback, Type type, @@ -21,9 +21,9 @@ Future> memoryEvents( } } - MemoryAllocations.instance.addListener(listener); + FlutterMemoryAllocations.instance.addListener(listener); await callback(); - MemoryAllocations.instance.removeListener(listener); + FlutterMemoryAllocations.instance.removeListener(listener); return events; } diff --git a/pkgs/leak_tracker_flutter_testing/lib/src/testing.dart b/pkgs/leak_tracker_flutter_testing/lib/src/testing.dart index aed8873b..35a09727 100644 --- a/pkgs/leak_tracker_flutter_testing/lib/src/testing.dart +++ b/pkgs/leak_tracker_flutter_testing/lib/src/testing.dart @@ -60,7 +60,8 @@ Future maybeTearDownLeakTrackingForAll() async { // The listener is not added/removed for each test, // because GC may happen after test is complete. - MemoryAllocations.instance.removeListener(_dispatchFlutterEventToLeakTracker); + FlutterMemoryAllocations.instance + .removeListener(_dispatchFlutterEventToLeakTracker); await forceGC(fullGcCycles: defaultNumberOfGcCycles); LeakTracking.declareNotDisposedObjectsAsLeaks(); final leaks = await LeakTracking.collectLeaks(); @@ -107,5 +108,6 @@ void _maybeStartLeakTracking() { LeakTracking.phase = const PhaseSettings.ignored(); LeakTracking.start(config: LeakTrackingConfig.passive()); - MemoryAllocations.instance.addListener(_dispatchFlutterEventToLeakTracker); + FlutterMemoryAllocations.instance + .addListener(_dispatchFlutterEventToLeakTracker); } diff --git a/pkgs/leak_tracker_flutter_testing/test/tests/_dispatcher_test.dart b/pkgs/leak_tracker_flutter_testing/test/tests/_dispatcher_test.dart index 55fd45a0..05dd4af3 100644 --- a/pkgs/leak_tracker_flutter_testing/test/tests/_dispatcher_test.dart +++ b/pkgs/leak_tracker_flutter_testing/test/tests/_dispatcher_test.dart @@ -14,7 +14,7 @@ void main() { test('dispatchObjectEvent dispatches Flutter SDK instrumentation.', () { final tracker = EventTracker(); - MemoryAllocations.instance.addListener( + FlutterMemoryAllocations.instance.addListener( (event) => dispatchObjectEvent( event.toMap(), onStartTracking: tracker.dispatchObjectCreated, diff --git a/pkgs/leak_tracker_flutter_testing/test/tests/matchers_test.dart b/pkgs/leak_tracker_flutter_testing/test/tests/matchers_test.dart index 12dd59cb..1179a728 100644 --- a/pkgs/leak_tracker_flutter_testing/test/tests/matchers_test.dart +++ b/pkgs/leak_tracker_flutter_testing/test/tests/matchers_test.dart @@ -8,7 +8,7 @@ import 'package:test/test.dart'; class _TrackedClass { _TrackedClass() { - MemoryAllocations.instance.dispatchObjectCreated( + FlutterMemoryAllocations.instance.dispatchObjectCreated( library: 'library', className: '_TrackedClass', object: this, @@ -16,7 +16,7 @@ class _TrackedClass { } void dispose() { - MemoryAllocations.instance.dispatchObjectDisposed(object: this); + FlutterMemoryAllocations.instance.dispatchObjectDisposed(object: this); } } From 6036534dcbad2d43535b9bd6c804478ed9a7f160 Mon Sep 17 00:00:00 2001 From: Polina Cherkasova Date: Wed, 3 Jan 2024 11:49:19 -0800 Subject: [PATCH 2/4] - --- pkgs/leak_tracker_flutter_testing/CHANGELOG.md | 4 ++++ pkgs/leak_tracker_flutter_testing/pubspec.yaml | 5 +++-- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/pkgs/leak_tracker_flutter_testing/CHANGELOG.md b/pkgs/leak_tracker_flutter_testing/CHANGELOG.md index 30e7659c..0e4ff600 100644 --- a/pkgs/leak_tracker_flutter_testing/CHANGELOG.md +++ b/pkgs/leak_tracker_flutter_testing/CHANGELOG.md @@ -1,3 +1,7 @@ +## 2.0.2 + +* Replaced depracated `MemoryAllocations` with `FlutterMemoryAllocations`. + ## 2.0.1 * Upgrade to leak_tracker 10.0.0 and leak_tracker_testing 2.0.1. diff --git a/pkgs/leak_tracker_flutter_testing/pubspec.yaml b/pkgs/leak_tracker_flutter_testing/pubspec.yaml index 54b5e903..ded9bd53 100644 --- a/pkgs/leak_tracker_flutter_testing/pubspec.yaml +++ b/pkgs/leak_tracker_flutter_testing/pubspec.yaml @@ -1,10 +1,11 @@ name: leak_tracker_flutter_testing -version: 2.0.1 +version: 2.0.2 description: An internal package to test leak tracking with Flutter. repository: https://github.com/dart-lang/leak_tracker/tree/main/pkgs/leak_tracker_flutter_testing environment: - sdk: '>=3.1.2 <4.0.0' + sdk: '>=3.3.0 <4.0.0' + flutter: '>=3.18.0-18.0.pre.54' dependencies: flutter: From 9e929ff2aa47d89af24f248943a33056e7a6da05 Mon Sep 17 00:00:00 2001 From: Polina Cherkasova Date: Wed, 3 Jan 2024 11:52:00 -0800 Subject: [PATCH 3/4] Update main.dart --- examples/leak_tracking/lib/main.dart | 1 + 1 file changed, 1 insertion(+) diff --git a/examples/leak_tracking/lib/main.dart b/examples/leak_tracking/lib/main.dart index 7afecb18..9c880e12 100644 --- a/examples/leak_tracking/lib/main.dart +++ b/examples/leak_tracking/lib/main.dart @@ -4,6 +4,7 @@ import 'package:leak_tracker/leak_tracker.dart'; void main() { LeakTracking.start(); + // Dispatch memory events from the Flutter engine to LeakTracking. FlutterMemoryAllocations.instance.addListener( (ObjectEvent event) => LeakTracking.dispatchObjectEvent(event.toMap()), ); From f959c80ed6859c66f37a8073b5593c3a8fe98cd7 Mon Sep 17 00:00:00 2001 From: Polina Cherkasova Date: Wed, 3 Jan 2024 11:55:12 -0800 Subject: [PATCH 4/4] Update pubspec.yaml --- pkgs/leak_tracker_flutter_testing/pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/leak_tracker_flutter_testing/pubspec.yaml b/pkgs/leak_tracker_flutter_testing/pubspec.yaml index ded9bd53..765a52c1 100644 --- a/pkgs/leak_tracker_flutter_testing/pubspec.yaml +++ b/pkgs/leak_tracker_flutter_testing/pubspec.yaml @@ -4,7 +4,7 @@ description: An internal package to test leak tracking with Flutter. repository: https://github.com/dart-lang/leak_tracker/tree/main/pkgs/leak_tracker_flutter_testing environment: - sdk: '>=3.3.0 <4.0.0' + sdk: '>=3.2.0 <4.0.0' flutter: '>=3.18.0-18.0.pre.54' dependencies: