From c98cb4a450eef9bc416cd4571a58aff35085229b Mon Sep 17 00:00:00 2001 From: chunhtai <47866232+chunhtai@users.noreply.github.com> Date: Fri, 18 Mar 2022 13:05:18 -0700 Subject: [PATCH] Add fadeDuration back to TextSelectionOverlay (#100381) * Add fadeDuration back to TextSelectionOverlay * fix build and add dart fix * format * add test --- packages/flutter/lib/fix_data.yaml | 14 ++++++++++++++ .../flutter/lib/src/widgets/text_selection.dart | 7 +++++++ .../flutter/test/widgets/text_selection_test.dart | 4 ++++ packages/flutter/test_fixes/cupertino.dart | 3 +++ packages/flutter/test_fixes/cupertino.dart.expect | 3 +++ packages/flutter/test_fixes/material.dart | 3 +++ packages/flutter/test_fixes/material.dart.expect | 3 +++ packages/flutter/test_fixes/widgets.dart | 3 +++ packages/flutter/test_fixes/widgets.dart.expect | 3 +++ 9 files changed, 43 insertions(+) diff --git a/packages/flutter/lib/fix_data.yaml b/packages/flutter/lib/fix_data.yaml index 0c97cc8b92..cee2607eb0 100644 --- a/packages/flutter/lib/fix_data.yaml +++ b/packages/flutter/lib/fix_data.yaml @@ -17,6 +17,20 @@ version: 1 transforms: + # Changes made in https://github.com/flutter/flutter/pull/100381 + - title: "Migrate 'TextSelectionOverlay.fadeDuration' to SelectionOverlay.fadeDuration" + date: 2022-03-18 + element: + uris: [ 'widgets.dart', 'material.dart', 'cupertino.dart' ] + field: 'fadeDuration' + inClass: 'TextSelectionOverlay' + changes: + - kind: 'replacedBy' + newElement: + uris: [ 'widgets.dart', 'material.dart', 'cupertino.dart' ] + field: 'fadeDuration' + inClass: 'SelectionOverlay' + # Changes made in https://github.com/flutter/flutter/pull/96174 - title: "Migrate 'useDeleteButtonTooltip' to 'deleteButtonTooltipMessage'" date: 2022-01-05 diff --git a/packages/flutter/lib/src/widgets/text_selection.dart b/packages/flutter/lib/src/widgets/text_selection.dart index 95f67b33a1..1cf619f5f8 100644 --- a/packages/flutter/lib/src/widgets/text_selection.dart +++ b/packages/flutter/lib/src/widgets/text_selection.dart @@ -303,6 +303,13 @@ class TextSelectionOverlay { ); } + /// Controls the fade-in and fade-out animations for the toolbar and handles. + @Deprecated( + 'Use `SelectionOverlay.fadeDuration` instead. ' + 'This feature was deprecated after v2.12.0-4.1.pre.' + ) + static const Duration fadeDuration = SelectionOverlay.fadeDuration; + // TODO(mpcomplete): what if the renderObject is removed or replaced, or // moves? Not sure what cases I need to handle, or how to handle them. /// The editable line in which the selected text is being displayed. diff --git a/packages/flutter/test/widgets/text_selection_test.dart b/packages/flutter/test/widgets/text_selection_test.dart index 3ead3344b1..f2230b284c 100644 --- a/packages/flutter/test/widgets/text_selection_test.dart +++ b/packages/flutter/test/widgets/text_selection_test.dart @@ -91,6 +91,10 @@ void main() { ); } + test('TextSelectionOverlay.fadeDuration exist', () async { + expect(TextSelectionOverlay.fadeDuration, SelectionOverlay.fadeDuration); + }); + testWidgets('a series of taps all call onTaps', (WidgetTester tester) async { await pumpGestureDetector(tester); await tester.tapAt(const Offset(200, 200)); diff --git a/packages/flutter/test_fixes/cupertino.dart b/packages/flutter/test_fixes/cupertino.dart index f0db0efbee..cf0b69737f 100644 --- a/packages/flutter/test_fixes/cupertino.dart +++ b/packages/flutter/test_fixes/cupertino.dart @@ -226,4 +226,7 @@ void main() { bool nowShowing = scrollbar.isAlwaysShown; RawScrollbar rawScrollbar = RawScrollbar(isAlwaysShown: true); nowShowing = rawScrollbar.isAlwaysShown; + + // Change made in https://github.com/flutter/flutter/pull/100381 + TextSelectionOverlay.fadeDuration; } diff --git a/packages/flutter/test_fixes/cupertino.dart.expect b/packages/flutter/test_fixes/cupertino.dart.expect index dc62e9aa38..8fd9f03f5d 100644 --- a/packages/flutter/test_fixes/cupertino.dart.expect +++ b/packages/flutter/test_fixes/cupertino.dart.expect @@ -226,4 +226,7 @@ void main() { bool nowShowing = scrollbar.thumbVisibility; RawScrollbar rawScrollbar = RawScrollbar(thumbVisibility: true); nowShowing = rawScrollbar.thumbVisibility; + + // Change made in https://github.com/flutter/flutter/pull/100381 + SelectionOverlay.fadeDuration; } diff --git a/packages/flutter/test_fixes/material.dart b/packages/flutter/test_fixes/material.dart index 7f97d01993..3a19e63961 100644 --- a/packages/flutter/test_fixes/material.dart +++ b/packages/flutter/test_fixes/material.dart @@ -551,4 +551,7 @@ void main() { rawChip = RawChip(useDeleteButtonTooltip: true); rawChip = RawChip(useDeleteButtonTooltip: false, deleteButtonTooltipMessage: 'Delete Tooltip'); rawChip.useDeleteButtonTooltip; + + // Change made in https://github.com/flutter/flutter/pull/100381 + TextSelectionOverlay.fadeDuration; } diff --git a/packages/flutter/test_fixes/material.dart.expect b/packages/flutter/test_fixes/material.dart.expect index 31f38504fa..9465999445 100644 --- a/packages/flutter/test_fixes/material.dart.expect +++ b/packages/flutter/test_fixes/material.dart.expect @@ -524,4 +524,7 @@ void main() { rawChip = RawChip(); rawChip = RawChip(deleteButtonTooltipMessage: 'Delete Tooltip'); rawChip.deleteButtonTooltipMessage; + + // Change made in https://github.com/flutter/flutter/pull/100381 + SelectionOverlay.fadeDuration; } diff --git a/packages/flutter/test_fixes/widgets.dart b/packages/flutter/test_fixes/widgets.dart index 63521cf8fb..b1c489ef39 100644 --- a/packages/flutter/test_fixes/widgets.dart +++ b/packages/flutter/test_fixes/widgets.dart @@ -181,4 +181,7 @@ void main() { // Changes made in https://github.com/flutter/flutter/pull/96957 RawScrollbar rawScrollbar = RawScrollbar(isAlwaysShown: true); nowShowing = rawScrollbar.isAlwaysShown; + + // Change made in https://github.com/flutter/flutter/pull/100381 + TextSelectionOverlay.fadeDuration; } diff --git a/packages/flutter/test_fixes/widgets.dart.expect b/packages/flutter/test_fixes/widgets.dart.expect index f4ee866dbd..3595b1ab2b 100644 --- a/packages/flutter/test_fixes/widgets.dart.expect +++ b/packages/flutter/test_fixes/widgets.dart.expect @@ -181,4 +181,7 @@ void main() { // Changes made in https://github.com/flutter/flutter/pull/96957 RawScrollbar rawScrollbar = RawScrollbar(thumbVisibility: true); nowShowing = rawScrollbar.thumbVisibility; + + // Change made in https://github.com/flutter/flutter/pull/100381 + SelectionOverlay.fadeDuration; }