Skip to content

Commit aa7bd1c

Browse files
Dispose all disposables in the Deep Links Screen (#8969)
1 parent 568ccc0 commit aa7bd1c

6 files changed

Lines changed: 23 additions & 0 deletions

File tree

packages/devtools_app/lib/src/screens/deep_link_validation/deep_links_controller.dart

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -146,10 +146,32 @@ class DisplayOptions {
146146
}
147147
}
148148

149+
/// Screen controller for the Deep Links screen.
150+
///
151+
/// This controller can be accessed from anywhere in DevTools, as long as it was
152+
/// first registered, by
153+
/// calling `screenControllers.lookup<DeepLinksController>()`.
154+
///
155+
/// The controller lifecycle is managed by the [ScreenControllers] class. The
156+
/// `init` method is called lazily upon the first controller access from
157+
/// `screenControllers`. The `dispose` method is called by `screenControllers`
158+
/// when DevTools is destroying a set of DevTools screen controllers.
149159
class DeepLinksController extends DevToolsScreenController
150160
with AutoDisposeControllerMixin {
151161
@override
152162
void dispose() {
163+
_selectedAndroidVariantIndex.dispose();
164+
_selectedIosConfigurationIndex.dispose();
165+
_selectedIosTargetIndex.dispose();
166+
selectedProject.dispose();
167+
googlePlayFingerprintsAvailability.dispose();
168+
localFingerprint.dispose();
169+
selectedLink.dispose();
170+
pagePhase.dispose();
171+
displayLinkDatasNotifier.dispose();
172+
generatedAssetLinksForSelectedLink.dispose();
173+
displayOptionsNotifier.dispose();
174+
textEditingController.dispose();
153175
deepLinksService.dispose();
154176
super.dispose();
155177
}

packages/devtools_app/release_notes/NEXT_RELEASE_NOTES.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ To learn more about DevTools, check out the
2626
[#8935](https://github.com/flutter/devtools/pull/8935),
2727
[#8937](https://github.com/flutter/devtools/pull/8937),
2828
[#8953](https://github.com/flutter/devtools/pull/8953),
29+
[#8969](https://github.com/flutter/devtools/pull/8969),
2930
[#8970](https://github.com/flutter/devtools/pull/8970)
3031

3132
## Inspector updates

packages/devtools_app/test/screens/deep_link_vlidation/app_link_settings_test.dart renamed to packages/devtools_app/test/screens/deep_link_validation/app_link_settings_test.dart

File renamed without changes.

packages/devtools_app/test/screens/deep_link_vlidation/deep_links_screen_test.dart renamed to packages/devtools_app/test/screens/deep_link_validation/deep_links_screen_test.dart

File renamed without changes.

packages/devtools_app/test/screens/deep_link_vlidation/select_project_view_test.dart renamed to packages/devtools_app/test/screens/deep_link_validation/select_project_view_test.dart

File renamed without changes.

packages/devtools_app/test/screens/deep_link_vlidation/universal_link_settings_test.dart renamed to packages/devtools_app/test/screens/deep_link_validation/universal_link_settings_test.dart

File renamed without changes.

0 commit comments

Comments
 (0)