From 07aaa8f2aa04a51890c5b4892ca44c417fc26549 Mon Sep 17 00:00:00 2001 From: Kishan Rathore <34465683+rkishan516@users.noreply.github.com> Date: Thu, 10 Jul 2025 23:52:01 +0530 Subject: [PATCH] Style: Rename pageBuilder with builder in showCupertinoSheet (#170625) Style: Rename pageBuilder with builder in showCupertinoSheet fixes: #169831 ## Pre-launch Checklist - [x] I read the [Contributor Guide] and followed the process outlined there for submitting PRs. - [x] I read the [Tree Hygiene] wiki page, which explains my responsibilities. - [x] I read and followed the [Flutter Style Guide], including [Features we expect every widget to implement]. - [x] I signed the [CLA]. - [x] I listed at least one issue that this PR fixes in the description above. - [x] I updated/added relevant documentation (doc comments with `///`). - [x] I added new tests to check the change I am making, or this PR is [test-exempt]. - [x] I followed the [breaking change policy] and added [Data Driven Fixes] where supported. - [x] All existing and new tests are passing. --- .../flutter/lib/fix_data/fix_cupertino.yaml | 23 +++++++++++++++++++ packages/flutter/lib/src/cupertino/sheet.dart | 20 +++++++++++----- .../test_fixes/cupertino/cupertino.dart | 6 +++++ .../cupertino/cupertino.dart.expect | 6 +++++ 4 files changed, 49 insertions(+), 6 deletions(-) diff --git a/packages/flutter/lib/fix_data/fix_cupertino.yaml b/packages/flutter/lib/fix_data/fix_cupertino.yaml index f1d8ba878d1..07224a98e1e 100644 --- a/packages/flutter/lib/fix_data/fix_cupertino.yaml +++ b/packages/flutter/lib/fix_data/fix_cupertino.yaml @@ -428,4 +428,27 @@ transforms: minSize: kind: fragment value: 'arguments[minSize]' + + # Changes made in https://github.com/flutter/flutter/pull/170625 + - title: "Migrate to 'builder'" + date: 2025-06-14 + element: + uris: [ 'cupertino.dart' ] + function: 'showCupertinoSheet' + oneOf: + - if: "pageBuilder != ''" + changes: + - kind: 'addParameter' + index: 3 + name: 'builder' + style: optional_named + argumentValue: + expression: '{% pageBuilder %}' + requiredIf: "pageBuilder != ''" + - kind: 'removeParameter' + name: 'pageBuilder' + variables: + pageBuilder: + kind: fragment + value: 'arguments[pageBuilder]' # Before adding a new fix: read instructions at the top of this file. \ No newline at end of file diff --git a/packages/flutter/lib/src/cupertino/sheet.dart b/packages/flutter/lib/src/cupertino/sheet.dart index 1a01cbe21cd..6d285b36116 100644 --- a/packages/flutter/lib/src/cupertino/sheet.dart +++ b/packages/flutter/lib/src/cupertino/sheet.dart @@ -140,16 +140,24 @@ final Animatable _kScaleTween = Tween(begin: 1.0, end: 1.0 - _kS /// * Future showCupertinoSheet({ required BuildContext context, - required WidgetBuilder pageBuilder, + @Deprecated( + 'Use builder instead. ' + 'This feature was deprecated after v3.33.0-0.2.pre.', + ) + WidgetBuilder? pageBuilder, + WidgetBuilder? builder, bool useNestedNavigation = false, bool enableDrag = true, }) { - final WidgetBuilder builder; + assert(pageBuilder != null || builder != null); + + final WidgetBuilder? effectivePageBuilder = builder ?? pageBuilder; + final WidgetBuilder widgetBuilder; final GlobalKey nestedNavigatorKey = GlobalKey(); if (!useNestedNavigation) { - builder = pageBuilder; + widgetBuilder = effectivePageBuilder!; } else { - builder = (BuildContext context) { + widgetBuilder = (BuildContext context) { return NavigatorPopHandler( onPopWithResult: (T? result) { nestedNavigatorKey.currentState!.maybePop(); @@ -169,7 +177,7 @@ Future showCupertinoSheet({ } Navigator.of(context, rootNavigator: true).pop(result); }, - child: pageBuilder(context), + child: effectivePageBuilder!(context), ); }, ), @@ -183,7 +191,7 @@ Future showCupertinoSheet({ return Navigator.of( context, rootNavigator: true, - ).push(CupertinoSheetRoute(builder: builder, enableDrag: enableDrag)); + ).push(CupertinoSheetRoute(builder: widgetBuilder, enableDrag: enableDrag)); } /// Provides an iOS-style sheet transition. diff --git a/packages/flutter/test_fixes/cupertino/cupertino.dart b/packages/flutter/test_fixes/cupertino/cupertino.dart index dffefec18f5..c469ac38488 100644 --- a/packages/flutter/test_fixes/cupertino/cupertino.dart +++ b/packages/flutter/test_fixes/cupertino/cupertino.dart @@ -289,4 +289,10 @@ void main() { // https://github.com/flutter/flutter/pull/161295 CupertinoButton(minSize: 60.0); + + // https://github.com/flutter/flutter/pull/170625 + showCupertinoSheet( + context: context, + pageBuilder: (BuildContext context) => Container(), + ); } diff --git a/packages/flutter/test_fixes/cupertino/cupertino.dart.expect b/packages/flutter/test_fixes/cupertino/cupertino.dart.expect index bd25a93304a..b40f2420cd9 100644 --- a/packages/flutter/test_fixes/cupertino/cupertino.dart.expect +++ b/packages/flutter/test_fixes/cupertino/cupertino.dart.expect @@ -307,4 +307,10 @@ void main() { // https://github.com/flutter/flutter/pull/161295 CupertinoButton(minimumSize: Size(60.0, 60.0)); + + // https://github.com/flutter/flutter/pull/170625 + showCupertinoSheet( + context: context, + builder: (BuildContext context) => Container(), + ); }