From 0a27dc19993a55294ea57cb301937e4ecadde909 Mon Sep 17 00:00:00 2001 From: Divyanshu Bhargava Date: Wed, 2 Sep 2026 03:51:48 +0530 Subject: [PATCH] fix: map scroll cacheExtent to Flutter 3.41 ScrollCacheExtent GridView, ListView, and CustomScrollView parsers now pass scrollCacheExtent so analyze stays clean on the current SDK. --- .../stac_custom_scroll_view_parser.dart | 5 ++++- .../widgets/stac_grid_view/stac_grid_view_parser.dart | 5 ++++- .../widgets/stac_list_view/stac_list_view_parser.dart | 5 ++++- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/packages/stac/lib/src/parsers/widgets/stac_custom_scroll_view/stac_custom_scroll_view_parser.dart b/packages/stac/lib/src/parsers/widgets/stac_custom_scroll_view/stac_custom_scroll_view_parser.dart index 9ce11d7af..37c99b20c 100644 --- a/packages/stac/lib/src/parsers/widgets/stac_custom_scroll_view/stac_custom_scroll_view_parser.dart +++ b/packages/stac/lib/src/parsers/widgets/stac_custom_scroll_view/stac_custom_scroll_view_parser.dart @@ -1,4 +1,5 @@ import 'package:flutter/material.dart'; +import 'package:flutter/rendering.dart'; import 'package:stac/src/parsers/core/stac_widget_parser.dart'; import 'package:stac/src/parsers/foundation/interaction/stac_drag_start_behavior_parser.dart'; import 'package:stac/src/parsers/foundation/interaction/stac_hit_test_behavior_parser.dart'; @@ -32,7 +33,9 @@ class StacCustomScrollViewParser extends StacParser { physics: model.physics?.parse, shrinkWrap: model.shrinkWrap ?? false, anchor: model.anchor ?? 0.0, - cacheExtent: model.cacheExtent, + scrollCacheExtent: model.cacheExtent == null + ? null + : ScrollCacheExtent.pixels(model.cacheExtent!), semanticChildCount: model.semanticChildCount, dragStartBehavior: (model.dragStartBehavior ?? StacDragStartBehavior.start).parse, diff --git a/packages/stac/lib/src/parsers/widgets/stac_grid_view/stac_grid_view_parser.dart b/packages/stac/lib/src/parsers/widgets/stac_grid_view/stac_grid_view_parser.dart index 180f10a5e..db9e23e6d 100644 --- a/packages/stac/lib/src/parsers/widgets/stac_grid_view/stac_grid_view_parser.dart +++ b/packages/stac/lib/src/parsers/widgets/stac_grid_view/stac_grid_view_parser.dart @@ -1,5 +1,6 @@ import 'package:flutter/gestures.dart'; import 'package:flutter/material.dart'; +import 'package:flutter/rendering.dart'; import 'package:stac/src/parsers/core/stac_widget_parser.dart'; import 'package:stac/src/parsers/foundation/geometry/stac_edge_insets_parser.dart'; import 'package:stac/src/parsers/foundation/interaction/stac_drag_start_behavior_parser.dart'; @@ -39,7 +40,9 @@ class StacGridViewParser extends StacParser { addAutomaticKeepAlives: model.addAutomaticKeepAlives ?? true, addRepaintBoundaries: model.addRepaintBoundaries ?? true, addSemanticIndexes: model.addSemanticIndexes ?? true, - cacheExtent: model.cacheExtent, + scrollCacheExtent: model.cacheExtent == null + ? null + : ScrollCacheExtent.pixels(model.cacheExtent!), itemBuilder: (context, index) { final List? parsed = model.children?.parseList(context); if (parsed == null || index >= parsed.length) { diff --git a/packages/stac/lib/src/parsers/widgets/stac_list_view/stac_list_view_parser.dart b/packages/stac/lib/src/parsers/widgets/stac_list_view/stac_list_view_parser.dart index 08d6990f0..011af7ad1 100644 --- a/packages/stac/lib/src/parsers/widgets/stac_list_view/stac_list_view_parser.dart +++ b/packages/stac/lib/src/parsers/widgets/stac_list_view/stac_list_view_parser.dart @@ -1,5 +1,6 @@ import 'package:flutter/gestures.dart'; import 'package:flutter/material.dart'; +import 'package:flutter/rendering.dart'; import 'package:stac/src/parsers/core/stac_widget_parser.dart'; import 'package:stac/src/parsers/foundation/geometry/stac_edge_insets_parser.dart'; import 'package:stac/src/parsers/foundation/interaction/stac_drag_start_behavior_parser.dart'; @@ -35,7 +36,9 @@ class StacListViewParser extends StacParser { addAutomaticKeepAlives: model.addAutomaticKeepAlives ?? true, addRepaintBoundaries: model.addRepaintBoundaries ?? true, addSemanticIndexes: model.addSemanticIndexes ?? true, - cacheExtent: model.cacheExtent, + scrollCacheExtent: model.cacheExtent == null + ? null + : ScrollCacheExtent.pixels(model.cacheExtent!), dragStartBehavior: model.dragStartBehavior?.parse ?? DragStartBehavior.start, keyboardDismissBehavior: