From 4460dfcdafe0aba3ff5d58d0d71214f349cf6e86 Mon Sep 17 00:00:00 2001 From: Pinho13 Date: Tue, 5 Nov 2024 17:24:40 +0000 Subject: [PATCH 1/5] fix: Added Controllers Dispose methods --- .../uni_app/lib/view/restaurant/restaurant_page_view.dart | 7 +++++++ packages/uni_app/pubspec.lock | 8 ++++++++ packages/uni_ui/lib/timeline/timeline.dart | 8 +++++++- 3 files changed, 22 insertions(+), 1 deletion(-) diff --git a/packages/uni_app/lib/view/restaurant/restaurant_page_view.dart b/packages/uni_app/lib/view/restaurant/restaurant_page_view.dart index f78a06d07..d5933af9b 100644 --- a/packages/uni_app/lib/view/restaurant/restaurant_page_view.dart +++ b/packages/uni_app/lib/view/restaurant/restaurant_page_view.dart @@ -35,6 +35,13 @@ class _RestaurantPageViewState extends GeneralPageViewState scrollViewController = ScrollController(); } + @override + void dispose() { + tabController.dispose(); + scrollViewController.dispose(); + super.dispose(); + } + @override String? getTitle() => S.of(context).nav_title(NavigationItem.navRestaurants.route); diff --git a/packages/uni_app/pubspec.lock b/packages/uni_app/pubspec.lock index 04778b73c..e9483f5c4 100644 --- a/packages/uni_app/pubspec.lock +++ b/packages/uni_app/pubspec.lock @@ -1147,6 +1147,14 @@ packages: url: "https://pub.dev" source: hosted version: "0.28.0" + scrollable_positioned_list: + dependency: transitive + description: + name: scrollable_positioned_list + sha256: "1b54d5f1329a1e263269abc9e2543d90806131aa14fe7c6062a8054d57249287" + url: "https://pub.dev" + source: hosted + version: "0.3.8" sentry: dependency: transitive description: diff --git a/packages/uni_ui/lib/timeline/timeline.dart b/packages/uni_ui/lib/timeline/timeline.dart index e4c2e2a20..2c4590927 100644 --- a/packages/uni_ui/lib/timeline/timeline.dart +++ b/packages/uni_ui/lib/timeline/timeline.dart @@ -50,6 +50,12 @@ class _TimelineState extends State { }); } + @override + void dispose() { + _tabScrollController.dispose(); + super.dispose(); + } + void _onTabTapped(int index) { _itemScrollController.scrollTo( index: index, @@ -123,7 +129,7 @@ class _TimelineState extends State { child: ScrollablePositionedList.builder( itemCount: widget.content.length, itemScrollController: _itemScrollController, - itemPositionsListener: _itemPositionsListener, + itemPositionsListener: _itemPositionsListener, itemBuilder: (context, index) { return widget.content[index]; }, From df701d8800217c9d48ecbbfb70e432b5ed9ce26c Mon Sep 17 00:00:00 2001 From: Pinho13 Date: Tue, 12 Nov 2024 11:36:38 +0000 Subject: [PATCH 2/5] fix: Double super.initState and Disposed Timer --- .../lib/view/common_widgets/last_update_timestamp.dart | 10 ++++++++-- .../lib/view/restaurant/restaurant_page_view.dart | 1 - 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/packages/uni_app/lib/view/common_widgets/last_update_timestamp.dart b/packages/uni_app/lib/view/common_widgets/last_update_timestamp.dart index 403fb1e19..56e9b8789 100644 --- a/packages/uni_app/lib/view/common_widgets/last_update_timestamp.dart +++ b/packages/uni_app/lib/view/common_widgets/last_update_timestamp.dart @@ -18,11 +18,11 @@ class LastUpdateTimeStamp> class _LastUpdateTimeStampState> extends State { DateTime currentTime = DateTime.now(); - + Timer? timer; @override void initState() { super.initState(); - Timer.periodic( + timer = Timer.periodic( const Duration(seconds: 60), (timer) { if (mounted) { @@ -34,6 +34,12 @@ class _LastUpdateTimeStampState> ); } + @override + void dispose() { + timer?.cancel(); + super.dispose(); + } + @override Widget build(BuildContext context) { return Consumer( diff --git a/packages/uni_app/lib/view/restaurant/restaurant_page_view.dart b/packages/uni_app/lib/view/restaurant/restaurant_page_view.dart index d5933af9b..edd58ac12 100644 --- a/packages/uni_app/lib/view/restaurant/restaurant_page_view.dart +++ b/packages/uni_app/lib/view/restaurant/restaurant_page_view.dart @@ -29,7 +29,6 @@ class _RestaurantPageViewState extends GeneralPageViewState void initState() { super.initState(); final weekDay = DateTime.now().weekday; - super.initState(); tabController = TabController(vsync: this, length: DayOfWeek.values.length); tabController.animateTo(tabController.index + (weekDay - 1)); scrollViewController = ScrollController(); From 87c6cc36a84044e408f500ef6203c21acd8f16b1 Mon Sep 17 00:00:00 2001 From: Pinho13 Date: Tue, 26 Nov 2024 13:11:54 +0000 Subject: [PATCH 3/5] Disposed Controllers in some common Widgets --- packages/uni_app/lib/view/bug_report/widgets/form.dart | 10 ++++++++++ packages/uni_app/lib/view/locations/locations.dart | 6 ++++++ 2 files changed, 16 insertions(+) diff --git a/packages/uni_app/lib/view/bug_report/widgets/form.dart b/packages/uni_app/lib/view/bug_report/widgets/form.dart index 7f9257e61..f070f2a16 100644 --- a/packages/uni_app/lib/view/bug_report/widgets/form.dart +++ b/packages/uni_app/lib/view/bug_report/widgets/form.dart @@ -321,4 +321,14 @@ class BugReportFormState extends State { _isConsentGiven = false; }); } + + @override + void dispose() { + titleController.dispose(); + descriptionController.dispose(); + emailController.dispose(); + + super.dispose(); + } + } diff --git a/packages/uni_app/lib/view/locations/locations.dart b/packages/uni_app/lib/view/locations/locations.dart index 0d8dd55b7..8051e5d1d 100644 --- a/packages/uni_app/lib/view/locations/locations.dart +++ b/packages/uni_app/lib/view/locations/locations.dart @@ -39,6 +39,12 @@ class LocationsPageState extends SecondaryPageViewState @override String? getTitle() => S.of(context).nav_title(NavigationItem.navLocations.route); + + @override + void dispose() { + scrollViewController?.dispose(); + super.dispose(); + } } class LocationsPageView extends StatefulWidget { From 0f9ce28d52c2344e8301f75b435b447b6f0d30cc Mon Sep 17 00:00:00 2001 From: Pinho13 Date: Tue, 26 Nov 2024 13:17:47 +0000 Subject: [PATCH 4/5] fix:Format --- packages/uni_app/lib/view/bug_report/widgets/form.dart | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/uni_app/lib/view/bug_report/widgets/form.dart b/packages/uni_app/lib/view/bug_report/widgets/form.dart index f070f2a16..d0e5dcdd0 100644 --- a/packages/uni_app/lib/view/bug_report/widgets/form.dart +++ b/packages/uni_app/lib/view/bug_report/widgets/form.dart @@ -327,7 +327,6 @@ class BugReportFormState extends State { titleController.dispose(); descriptionController.dispose(); emailController.dispose(); - super.dispose(); } From 8e24cbaafa61330ccf9718122809efea8669b7a3 Mon Sep 17 00:00:00 2001 From: Pinho13 Date: Tue, 26 Nov 2024 13:25:02 +0000 Subject: [PATCH 5/5] fix: Format x2 --- packages/uni_app/lib/view/bug_report/widgets/form.dart | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/uni_app/lib/view/bug_report/widgets/form.dart b/packages/uni_app/lib/view/bug_report/widgets/form.dart index d0e5dcdd0..5577eebca 100644 --- a/packages/uni_app/lib/view/bug_report/widgets/form.dart +++ b/packages/uni_app/lib/view/bug_report/widgets/form.dart @@ -329,5 +329,4 @@ class BugReportFormState extends State { emailController.dispose(); super.dispose(); } - }