Cleanup widgets/sliver_persistent_header.dart with resolution of dart-lang/sdk#31543 (#35828)
* Remove extra classes.
Now that https://github.com/dart-lang/sdk/issues/31543 is fixed, we
can remove extra classes.
* Add snapConfiguration to parameters for _RenderSliverFloatingPersistentHeaderForWidgets and _RenderSliverFloatingPinnedPersistentHeaderForWidgets constructors.
diff --git a/packages/flutter/lib/src/widgets/sliver_persistent_header.dart b/packages/flutter/lib/src/widgets/sliver_persistent_header.dart
index be4f5f1..1547c3e 100644
--- a/packages/flutter/lib/src/widgets/sliver_persistent_header.dart
+++ b/packages/flutter/lib/src/widgets/sliver_persistent_header.dart
@@ -284,10 +284,7 @@
}
}
-// This class exists to work around https://github.com/dart-lang/sdk/issues/31543
-abstract class _RenderSliverScrollingPersistentHeader extends RenderSliverScrollingPersistentHeader { }
-
-class _RenderSliverScrollingPersistentHeaderForWidgets extends _RenderSliverScrollingPersistentHeader
+class _RenderSliverScrollingPersistentHeaderForWidgets extends RenderSliverScrollingPersistentHeader
with _RenderSliverPersistentHeaderForWidgetsMixin { }
class _SliverPinnedPersistentHeader extends _SliverPersistentHeaderRenderObjectWidget {
@@ -302,10 +299,7 @@
}
}
-// This class exists to work around https://github.com/dart-lang/sdk/issues/31543
-abstract class _RenderSliverPinnedPersistentHeader extends RenderSliverPinnedPersistentHeader { }
-
-class _RenderSliverPinnedPersistentHeaderForWidgets extends _RenderSliverPinnedPersistentHeader with _RenderSliverPersistentHeaderForWidgetsMixin { }
+class _RenderSliverPinnedPersistentHeaderForWidgets extends RenderSliverPinnedPersistentHeader with _RenderSliverPersistentHeaderForWidgetsMixin { }
class _SliverFloatingPersistentHeader extends _SliverPersistentHeaderRenderObjectWidget {
const _SliverFloatingPersistentHeader({
@@ -315,10 +309,7 @@
@override
_RenderSliverPersistentHeaderForWidgetsMixin createRenderObject(BuildContext context) {
- // Not passing this snapConfiguration as a constructor parameter to avoid the
- // additional layers added due to https://github.com/dart-lang/sdk/issues/31543
- return _RenderSliverFloatingPersistentHeaderForWidgets()
- ..snapConfiguration = delegate.snapConfiguration;
+ return _RenderSliverFloatingPersistentHeaderForWidgets(snapConfiguration: delegate.snapConfiguration);
}
@override
@@ -327,10 +318,12 @@
}
}
-// This class exists to work around https://github.com/dart-lang/sdk/issues/31543
-abstract class _RenderSliverFloatingPinnedPersistentHeader extends RenderSliverFloatingPinnedPersistentHeader { }
-
-class _RenderSliverFloatingPinnedPersistentHeaderForWidgets extends _RenderSliverFloatingPinnedPersistentHeader with _RenderSliverPersistentHeaderForWidgetsMixin { }
+class _RenderSliverFloatingPinnedPersistentHeaderForWidgets extends RenderSliverFloatingPinnedPersistentHeader with _RenderSliverPersistentHeaderForWidgetsMixin {
+ _RenderSliverFloatingPinnedPersistentHeaderForWidgets({
+ RenderBox child,
+ FloatingHeaderSnapConfiguration snapConfiguration,
+ }) : super(child: child, snapConfiguration: snapConfiguration);
+}
class _SliverFloatingPinnedPersistentHeader extends _SliverPersistentHeaderRenderObjectWidget {
const _SliverFloatingPinnedPersistentHeader({
@@ -340,10 +333,7 @@
@override
_RenderSliverPersistentHeaderForWidgetsMixin createRenderObject(BuildContext context) {
- // Not passing this snapConfiguration as a constructor parameter to avoid the
- // additional layers added due to https://github.com/dart-lang/sdk/issues/31543
- return _RenderSliverFloatingPinnedPersistentHeaderForWidgets()
- ..snapConfiguration = delegate.snapConfiguration;
+ return _RenderSliverFloatingPinnedPersistentHeaderForWidgets(snapConfiguration: delegate.snapConfiguration);
}
@override
@@ -352,7 +342,9 @@
}
}
-// This class exists to work around https://github.com/dart-lang/sdk/issues/31543
-abstract class _RenderSliverFloatingPersistentHeader extends RenderSliverFloatingPersistentHeader { }
-
-class _RenderSliverFloatingPersistentHeaderForWidgets extends _RenderSliverFloatingPersistentHeader with _RenderSliverPersistentHeaderForWidgetsMixin { }
+class _RenderSliverFloatingPersistentHeaderForWidgets extends RenderSliverFloatingPersistentHeader with _RenderSliverPersistentHeaderForWidgetsMixin {
+ _RenderSliverFloatingPersistentHeaderForWidgets({
+ RenderBox child,
+ FloatingHeaderSnapConfiguration snapConfiguration,
+ }) : super(child: child, snapConfiguration: snapConfiguration);
+}