From 06d560df06e8eba0a7ba3cd0f2827c707b5f2ffa Mon Sep 17 00:00:00 2001 From: pedromassango Date: Wed, 21 May 2025 00:39:36 +0200 Subject: [PATCH 01/24] base --- .../integration_test/link_widget_test.dart | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/packages/url_launcher/url_launcher_web/example/integration_test/link_widget_test.dart b/packages/url_launcher/url_launcher_web/example/integration_test/link_widget_test.dart index 678848b15a42..e06fe8413568 100644 --- a/packages/url_launcher/url_launcher_web/example/integration_test/link_widget_test.dart +++ b/packages/url_launcher/url_launcher_web/example/integration_test/link_widget_test.dart @@ -8,6 +8,7 @@ import 'dart:typed_data'; import 'dart:ui_web' as ui_web; import 'package:flutter/material.dart'; +import 'package:flutter/services.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:integration_test/integration_test.dart'; import 'package:url_launcher_platform_interface/link.dart'; @@ -181,6 +182,52 @@ void main() { maxScrolls: 1000, ); }); + + testWidgets('Link widget TAB traversal - expected behavior', + (WidgetTester tester) async { + // Pump the app + await tester.pumpWidget(Directionality( + textDirection: TextDirection.ltr, + child: FocusScope( + autofocus: true, + child: Row( + children: [ + WebLinkDelegate(TestLinkInfo( + uri: null, + target: LinkTarget.defaultTarget, + builder: (BuildContext context, FollowLink? followLink) { + return ElevatedButton( + onPressed: () {}, child: const Text('First')); + }, + )), + WebLinkDelegate(TestLinkInfo( + uri: null, + target: LinkTarget.defaultTarget, + builder: (BuildContext context, FollowLink? followLink) { + return ElevatedButton( + onPressed: () {}, child: const Text('Second')); + }, + )), + ], + ), + ), + )); + + // Wait for rendering + await tester.pumpAndSettle(); + + // Send two TAB key presses + await tester.sendKeyEvent(LogicalKeyboardKey.tab); + await tester.pump(); + await tester.sendKeyEvent(LogicalKeyboardKey.tab); + await tester.pump(); + + // Find the second button + final secondButton = find.widgetWithText(ElevatedButton, 'Second'); + final focusNode = Focus.of(tester.element(secondButton)); + + expect(focusNode.hasFocus, isTrue); + }); }); group('Follows links', () { From 11e78256c944fb49c30162c0e1188750933add08 Mon Sep 17 00:00:00 2001 From: pedromassango Date: Fri, 15 Aug 2025 11:31:36 +0200 Subject: [PATCH 02/24] fix: Link widget Tab traversal --- .../integration_test/link_widget_test.dart | 88 ++++++++++--------- .../url_launcher_web/lib/src/link.dart | 1 + 2 files changed, 49 insertions(+), 40 deletions(-) diff --git a/packages/url_launcher/url_launcher_web/example/integration_test/link_widget_test.dart b/packages/url_launcher/url_launcher_web/example/integration_test/link_widget_test.dart index e06fe8413568..41ebbf54db71 100644 --- a/packages/url_launcher/url_launcher_web/example/integration_test/link_widget_test.dart +++ b/packages/url_launcher/url_launcher_web/example/integration_test/link_widget_test.dart @@ -5,9 +5,13 @@ import 'dart:js_interop'; import 'dart:js_interop_unsafe'; import 'dart:typed_data'; +import 'dart:ui' show SemanticsFlag; import 'dart:ui_web' as ui_web; import 'package:flutter/material.dart'; +import 'package:flutter/rendering.dart' show SemanticsNode; +import 'package:flutter/semantics.dart' + show DebugSemanticsDumpOrder, SemanticsData; import 'package:flutter/services.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:integration_test/integration_test.dart'; @@ -183,51 +187,55 @@ void main() { ); }); - testWidgets('Link widget TAB traversal - expected behavior', - (WidgetTester tester) async { - // Pump the app - await tester.pumpWidget(Directionality( - textDirection: TextDirection.ltr, - child: FocusScope( - autofocus: true, - child: Row( - children: [ - WebLinkDelegate(TestLinkInfo( - uri: null, - target: LinkTarget.defaultTarget, - builder: (BuildContext context, FollowLink? followLink) { - return ElevatedButton( - onPressed: () {}, child: const Text('First')); - }, - )), - WebLinkDelegate(TestLinkInfo( - uri: null, - target: LinkTarget.defaultTarget, - builder: (BuildContext context, FollowLink? followLink) { - return ElevatedButton( - onPressed: () {}, child: const Text('Second')); - }, - )), - ], + testWidgets( + 'excludeSemantics: true ensures clean link semantics without conflicts', + (WidgetTester tester) async { + await tester.pumpWidget(MaterialApp( + home: Scaffold( + body: Column( + children: [ + WebLinkDelegate( + TestLinkInfo( + uri: Uri.parse('https://dart.dev/xyz'), + target: LinkTarget.blank, + builder: (BuildContext context, FollowLink? followLink) { + return ElevatedButton( + onPressed: followLink, + child: const Text('First Button'), + ); + }, + ), ), - ), - )); + ], + ), + ), + )); - // Wait for rendering - await tester.pumpAndSettle(); + await tester.pumpAndSettle(); + final SemanticsHandle handle = tester.ensureSemantics(); + + final Finder firstButtonFinder = find.text('First Button'); + expect(firstButtonFinder, findsOneWidget); + + final SemanticsNode firstSemantics = + tester.getSemantics(firstButtonFinder); + final SemanticsData firstData = firstSemantics.getSemanticsData(); - // Send two TAB key presses - await tester.sendKeyEvent(LogicalKeyboardKey.tab); - await tester.pump(); - await tester.sendKeyEvent(LogicalKeyboardKey.tab); - await tester.pump(); + handle.dispose(); + expect( + firstData.hasFlag(SemanticsFlag.isLink), + isTrue, + reason: 'Button should be treated as link with excludeSemantics: true', + ); - // Find the second button - final secondButton = find.widgetWithText(ElevatedButton, 'Second'); - final focusNode = Focus.of(tester.element(secondButton)); + expect(firstData.hasFlag(SemanticsFlag.isButton), isFalse, + reason: + 'semantics should be excluded to prevent TAB navigation conflicts', + skip: true); - expect(focusNode.hasFocus, isTrue); - }); + expect(firstData.linkUrl?.toString(), equals('https://dart.dev/xyz')); + handle.dispose(); + }); }); group('Follows links', () { diff --git a/packages/url_launcher/url_launcher_web/lib/src/link.dart b/packages/url_launcher/url_launcher_web/lib/src/link.dart index c24d47876ec1..ec759336ea85 100644 --- a/packages/url_launcher/url_launcher_web/lib/src/link.dart +++ b/packages/url_launcher/url_launcher_web/lib/src/link.dart @@ -121,6 +121,7 @@ class WebLinkDelegateState extends State { Widget _buildChild(BuildContext context) { return Semantics( link: true, + excludeSemantics: true, identifier: _semanticsIdentifier, linkUrl: widget.link.uri, child: widget.link.builder( From 68ec601b47338649bcdd004a5709b65e93282b80 Mon Sep 17 00:00:00 2001 From: pedromassango Date: Fri, 15 Aug 2025 11:39:48 +0200 Subject: [PATCH 03/24] wip --- .../example/integration_test/link_widget_test.dart | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/packages/url_launcher/url_launcher_web/example/integration_test/link_widget_test.dart b/packages/url_launcher/url_launcher_web/example/integration_test/link_widget_test.dart index 41ebbf54db71..cc05e8de4338 100644 --- a/packages/url_launcher/url_launcher_web/example/integration_test/link_widget_test.dart +++ b/packages/url_launcher/url_launcher_web/example/integration_test/link_widget_test.dart @@ -9,9 +9,7 @@ import 'dart:ui' show SemanticsFlag; import 'dart:ui_web' as ui_web; import 'package:flutter/material.dart'; -import 'package:flutter/rendering.dart' show SemanticsNode; -import 'package:flutter/semantics.dart' - show DebugSemanticsDumpOrder, SemanticsData; +import 'package:flutter/rendering.dart' show SemanticsData, SemanticsNode; import 'package:flutter/services.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:integration_test/integration_test.dart'; @@ -221,7 +219,6 @@ void main() { tester.getSemantics(firstButtonFinder); final SemanticsData firstData = firstSemantics.getSemanticsData(); - handle.dispose(); expect( firstData.hasFlag(SemanticsFlag.isLink), isTrue, From 0b2497c276e30d51509e8e8b83e595a4fd785eb6 Mon Sep 17 00:00:00 2001 From: pedromassango Date: Fri, 15 Aug 2025 11:44:52 +0200 Subject: [PATCH 04/24] wip --- .../example/integration_test/link_widget_test.dart | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/packages/url_launcher/url_launcher_web/example/integration_test/link_widget_test.dart b/packages/url_launcher/url_launcher_web/example/integration_test/link_widget_test.dart index cc05e8de4338..f06f47d83956 100644 --- a/packages/url_launcher/url_launcher_web/example/integration_test/link_widget_test.dart +++ b/packages/url_launcher/url_launcher_web/example/integration_test/link_widget_test.dart @@ -225,10 +225,12 @@ void main() { reason: 'Button should be treated as link with excludeSemantics: true', ); - expect(firstData.hasFlag(SemanticsFlag.isButton), isFalse, - reason: - 'semantics should be excluded to prevent TAB navigation conflicts', - skip: true); + expect( + firstData.hasFlag(SemanticsFlag.isButton), + isFalse, + reason: + 'semantics should be excluded to prevent TAB navigation conflicts', + ); expect(firstData.linkUrl?.toString(), equals('https://dart.dev/xyz')); handle.dispose(); From dc9fec13425245b97f47efdbfe2dd2b6e3ad8c94 Mon Sep 17 00:00:00 2001 From: pedromassango Date: Fri, 15 Aug 2025 12:30:19 +0200 Subject: [PATCH 05/24] wip --- .../example/integration_test/link_widget_test.dart | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/packages/url_launcher/url_launcher_web/example/integration_test/link_widget_test.dart b/packages/url_launcher/url_launcher_web/example/integration_test/link_widget_test.dart index f06f47d83956..704925d20152 100644 --- a/packages/url_launcher/url_launcher_web/example/integration_test/link_widget_test.dart +++ b/packages/url_launcher/url_launcher_web/example/integration_test/link_widget_test.dart @@ -212,11 +212,10 @@ void main() { await tester.pumpAndSettle(); final SemanticsHandle handle = tester.ensureSemantics(); - final Finder firstButtonFinder = find.text('First Button'); - expect(firstButtonFinder, findsOneWidget); + final Finder buttonFinder = find.text('First Button'); + expect(buttonFinder, findsOneWidget); - final SemanticsNode firstSemantics = - tester.getSemantics(firstButtonFinder); + final SemanticsNode firstSemantics = tester.getSemantics(buttonFinder); final SemanticsData firstData = firstSemantics.getSemanticsData(); expect( From 5f2cb623478ff4fafa21475a9c05d5f602fde2a3 Mon Sep 17 00:00:00 2001 From: pedromassango Date: Tue, 26 Aug 2025 23:16:15 +0200 Subject: [PATCH 06/24] wip --- .../integration_test/link_widget_test.dart | 67 ++++++++----------- .../url_launcher_web/lib/src/link.dart | 17 ++--- 2 files changed, 36 insertions(+), 48 deletions(-) diff --git a/packages/url_launcher/url_launcher_web/example/integration_test/link_widget_test.dart b/packages/url_launcher/url_launcher_web/example/integration_test/link_widget_test.dart index 3ac221235254..1d81a2fcbe41 100644 --- a/packages/url_launcher/url_launcher_web/example/integration_test/link_widget_test.dart +++ b/packages/url_launcher/url_launcher_web/example/integration_test/link_widget_test.dart @@ -212,54 +212,41 @@ void main() { ); }); - testWidgets( - 'excludeSemantics: true ensures clean link semantics without conflicts', - (WidgetTester tester) async { - await tester.pumpWidget(MaterialApp( - home: Scaffold( - body: Column( - children: [ - WebLinkDelegate( - TestLinkInfo( - uri: Uri.parse('https://dart.dev/xyz'), - target: LinkTarget.blank, - builder: (BuildContext context, FollowLink? followLink) { - return ElevatedButton( - onPressed: followLink, - child: const Text('First Button'), - ); - }, + testWidgets('MergeSemantics is always present to avoid duplicate nodes', ( + WidgetTester tester, + ) async { + await tester.pumpWidget( + MaterialApp( + home: Scaffold( + body: Column( + children: [ + WebLinkDelegate( + TestLinkInfo( + uri: Uri.parse('https://dart.dev/xyz'), + target: LinkTarget.blank, + builder: (BuildContext context, FollowLink? followLink) { + return ElevatedButton( + onPressed: followLink, + child: const Text('First Button'), + ); + }, + ), ), - ), - ], + ], + ), ), ), - )); + ); await tester.pumpAndSettle(); - final SemanticsHandle handle = tester.ensureSemantics(); - final Finder buttonFinder = find.text('First Button'); + final Finder buttonFinder = find.byType(ElevatedButton); expect(buttonFinder, findsOneWidget); - final SemanticsNode firstSemantics = tester.getSemantics(buttonFinder); - final SemanticsData firstData = firstSemantics.getSemanticsData(); - - expect( - firstData.hasFlag(SemanticsFlag.isLink), - isTrue, - reason: 'Button should be treated as link with excludeSemantics: true', - ); - - expect( - firstData.hasFlag(SemanticsFlag.isButton), - isFalse, - reason: - 'semantics should be excluded to prevent TAB navigation conflicts', - ); - - expect(firstData.linkUrl?.toString(), equals('https://dart.dev/xyz')); - handle.dispose(); + final Element buttonElement = tester.element(buttonFinder); + final MergeSemantics? parentWidget = + buttonElement.findAncestorWidgetOfExactType(); + expect(parentWidget, isNotNull); }); }); diff --git a/packages/url_launcher/url_launcher_web/lib/src/link.dart b/packages/url_launcher/url_launcher_web/lib/src/link.dart index 412b92009429..8a633f44295d 100644 --- a/packages/url_launcher/url_launcher_web/lib/src/link.dart +++ b/packages/url_launcher/url_launcher_web/lib/src/link.dart @@ -117,14 +117,15 @@ class WebLinkDelegateState extends State { } Widget _buildChild(BuildContext context) { - return Semantics( - link: true, - excludeSemantics: true, - identifier: _semanticsIdentifier, - linkUrl: widget.link.uri, - child: widget.link.builder( - context, - widget.link.isDisabled ? null : _followLink, + return MergeSemantics( + child: Semantics( + link: true, + identifier: _semanticsIdentifier, + linkUrl: widget.link.uri, + child: widget.link.builder( + context, + widget.link.isDisabled ? null : _followLink, + ), ), ); } From a376b78fe20f823461bd2d4f29d594b7cf677d88 Mon Sep 17 00:00:00 2001 From: pedromassango Date: Tue, 26 Aug 2025 23:17:01 +0200 Subject: [PATCH 07/24] nit --- .../example/integration_test/link_widget_test.dart | 2 -- 1 file changed, 2 deletions(-) diff --git a/packages/url_launcher/url_launcher_web/example/integration_test/link_widget_test.dart b/packages/url_launcher/url_launcher_web/example/integration_test/link_widget_test.dart index 1d81a2fcbe41..87f5dbff798f 100644 --- a/packages/url_launcher/url_launcher_web/example/integration_test/link_widget_test.dart +++ b/packages/url_launcher/url_launcher_web/example/integration_test/link_widget_test.dart @@ -5,11 +5,9 @@ import 'dart:js_interop'; import 'dart:js_interop_unsafe'; import 'dart:typed_data'; -import 'dart:ui' show SemanticsFlag; import 'dart:ui_web' as ui_web; import 'package:flutter/material.dart'; -import 'package:flutter/rendering.dart' show SemanticsData, SemanticsNode; import 'package:flutter/services.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:integration_test/integration_test.dart'; From 4ac086ddf101f6b60a4f12e0c7544ce9f8d606b2 Mon Sep 17 00:00:00 2001 From: pedromassango Date: Tue, 26 Aug 2025 23:17:38 +0200 Subject: [PATCH 08/24] nit --- .../example/integration_test/link_widget_test.dart | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/url_launcher/url_launcher_web/example/integration_test/link_widget_test.dart b/packages/url_launcher/url_launcher_web/example/integration_test/link_widget_test.dart index 87f5dbff798f..130d136af6cd 100644 --- a/packages/url_launcher/url_launcher_web/example/integration_test/link_widget_test.dart +++ b/packages/url_launcher/url_launcher_web/example/integration_test/link_widget_test.dart @@ -8,7 +8,6 @@ import 'dart:typed_data'; import 'dart:ui_web' as ui_web; import 'package:flutter/material.dart'; -import 'package:flutter/services.dart'; import 'package:flutter_test/flutter_test.dart'; import 'package:integration_test/integration_test.dart'; import 'package:url_launcher_platform_interface/link.dart'; From a9b517e30ab5e53d99d96b59c0d91859f70c56cd Mon Sep 17 00:00:00 2001 From: pedromassango Date: Thu, 28 Aug 2025 21:30:47 +0200 Subject: [PATCH 09/24] update CHANGELOG.md --- packages/url_launcher/url_launcher_web/CHANGELOG.md | 4 ++++ packages/url_launcher/url_launcher_web/pubspec.yaml | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/url_launcher/url_launcher_web/CHANGELOG.md b/packages/url_launcher/url_launcher_web/CHANGELOG.md index 6c3c1b010715..a896e001228c 100644 --- a/packages/url_launcher/url_launcher_web/CHANGELOG.md +++ b/packages/url_launcher/url_launcher_web/CHANGELOG.md @@ -1,5 +1,9 @@ ## NEXT +* Ensure link widget merge its semantic node with its children to avoid duplicate nodes. + +## 2.4.2 + * Updates minimum supported SDK version to Flutter 3.29/Dart 3.7. ## 2.4.1 diff --git a/packages/url_launcher/url_launcher_web/pubspec.yaml b/packages/url_launcher/url_launcher_web/pubspec.yaml index 820e20f349d5..7e0f0e6f9ffe 100644 --- a/packages/url_launcher/url_launcher_web/pubspec.yaml +++ b/packages/url_launcher/url_launcher_web/pubspec.yaml @@ -2,7 +2,7 @@ name: url_launcher_web description: Web platform implementation of url_launcher repository: https://github.com/flutter/packages/tree/main/packages/url_launcher/url_launcher_web issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+label%3A%22p%3A+url_launcher%22 -version: 2.4.1 +version: 2.4.2 environment: sdk: ^3.7.0 From abaaa01d87c9ada8d5ec188b130b2e6dd888025e Mon Sep 17 00:00:00 2001 From: pedromassango Date: Thu, 4 Sep 2025 21:48:54 +0200 Subject: [PATCH 10/24] nit --- packages/url_launcher/url_launcher_web/CHANGELOG.md | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/packages/url_launcher/url_launcher_web/CHANGELOG.md b/packages/url_launcher/url_launcher_web/CHANGELOG.md index a896e001228c..686dbed01b0d 100644 --- a/packages/url_launcher/url_launcher_web/CHANGELOG.md +++ b/packages/url_launcher/url_launcher_web/CHANGELOG.md @@ -1,9 +1,6 @@ -## NEXT - -* Ensure link widget merge its semantic node with its children to avoid duplicate nodes. - ## 2.4.2 +* Ensure link widget merge its semantic node with its children to avoid duplicate nodes. * Updates minimum supported SDK version to Flutter 3.29/Dart 3.7. ## 2.4.1 From c72478305737e978d783dfab38333f14553585f9 Mon Sep 17 00:00:00 2001 From: Pedro Massango Date: Tue, 16 Sep 2025 18:59:35 +0200 Subject: [PATCH 11/24] Update packages/url_launcher/url_launcher_web/CHANGELOG.md Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> --- packages/url_launcher/url_launcher_web/CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/url_launcher/url_launcher_web/CHANGELOG.md b/packages/url_launcher/url_launcher_web/CHANGELOG.md index 686dbed01b0d..010a4bfd95ab 100644 --- a/packages/url_launcher/url_launcher_web/CHANGELOG.md +++ b/packages/url_launcher/url_launcher_web/CHANGELOG.md @@ -1,6 +1,6 @@ ## 2.4.2 -* Ensure link widget merge its semantic node with its children to avoid duplicate nodes. +* Fixed an issue that caused duplicate semantic nodes for `Link` widgets. * Updates minimum supported SDK version to Flutter 3.29/Dart 3.7. ## 2.4.1 From 30c0c73388db67e8069813baf77151292672ccc4 Mon Sep 17 00:00:00 2001 From: pedromassango Date: Wed, 17 Sep 2025 00:46:02 +0200 Subject: [PATCH 12/24] update test case --- .../example/integration_test/link_widget_test.dart | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/packages/url_launcher/url_launcher_web/example/integration_test/link_widget_test.dart b/packages/url_launcher/url_launcher_web/example/integration_test/link_widget_test.dart index 130d136af6cd..e1a65aa4469b 100644 --- a/packages/url_launcher/url_launcher_web/example/integration_test/link_widget_test.dart +++ b/packages/url_launcher/url_launcher_web/example/integration_test/link_widget_test.dart @@ -932,16 +932,12 @@ void main() { ), matchesSemantics( isLink: true, + hasTapAction: true, + hasFocusAction: true, identifier: 'test-link-12', // linkUrl: 'https://foobar/example?q=1', children: [ matchesSemantics( - hasTapAction: true, - hasEnabledState: true, - hasFocusAction: true, - isEnabled: true, - isButton: true, - isFocusable: true, label: 'Button Link Text', ), ], @@ -987,7 +983,11 @@ void main() { hasTapAction: true, identifier: 'test-link-43', // linkUrl: 'https://foobar/example?q=1', - label: 'Link Text', + children: [ + matchesSemantics( + label: 'Link Text', + ), + ] ), ); From 7b3465a7abd71d55e08744f28910e4465c016261 Mon Sep 17 00:00:00 2001 From: pedromassango Date: Wed, 17 Sep 2025 01:33:27 +0200 Subject: [PATCH 13/24] update existing test cases --- .../integration_test/link_widget_test.dart | 20 ++++++++----------- 1 file changed, 8 insertions(+), 12 deletions(-) diff --git a/packages/url_launcher/url_launcher_web/example/integration_test/link_widget_test.dart b/packages/url_launcher/url_launcher_web/example/integration_test/link_widget_test.dart index e1a65aa4469b..1963402a5bcd 100644 --- a/packages/url_launcher/url_launcher_web/example/integration_test/link_widget_test.dart +++ b/packages/url_launcher/url_launcher_web/example/integration_test/link_widget_test.dart @@ -932,15 +932,15 @@ void main() { ), matchesSemantics( isLink: true, - hasTapAction: true, - hasFocusAction: true, identifier: 'test-link-12', // linkUrl: 'https://foobar/example?q=1', - children: [ - matchesSemantics( - label: 'Button Link Text', - ), - ], + hasTapAction: true, + hasEnabledState: true, + hasFocusAction: true, + isEnabled: true, + isButton: true, + isFocusable: true, + label: 'Button Link Text', ), ); @@ -983,11 +983,7 @@ void main() { hasTapAction: true, identifier: 'test-link-43', // linkUrl: 'https://foobar/example?q=1', - children: [ - matchesSemantics( - label: 'Link Text', - ), - ] + children: [matchesSemantics(label: 'Link Text')], ), ); From beb1acf0b6ca8cada9b39f110378d97de6f7fc98 Mon Sep 17 00:00:00 2001 From: pedromassango Date: Wed, 17 Sep 2025 01:39:42 +0200 Subject: [PATCH 14/24] wip --- .../example/integration_test/link_widget_test.dart | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/url_launcher/url_launcher_web/example/integration_test/link_widget_test.dart b/packages/url_launcher/url_launcher_web/example/integration_test/link_widget_test.dart index 1963402a5bcd..9c09d9c84444 100644 --- a/packages/url_launcher/url_launcher_web/example/integration_test/link_widget_test.dart +++ b/packages/url_launcher/url_launcher_web/example/integration_test/link_widget_test.dart @@ -976,14 +976,14 @@ void main() { final Finder linkFinder = find.byKey(linkKey); expect( tester.getSemantics( - find.descendant(of: linkFinder, matching: find.byType(Semantics)), + find.descendant(of: linkFinder, matching: find.byType(Semantics)).first, ), matchesSemantics( isLink: true, hasTapAction: true, identifier: 'test-link-43', // linkUrl: 'https://foobar/example?q=1', - children: [matchesSemantics(label: 'Link Text')], + label: 'Link Text', ), ); From 7aa4726ded68af96a7cc2b8a771a8c07e452cf70 Mon Sep 17 00:00:00 2001 From: pedromassango Date: Wed, 17 Sep 2025 01:46:22 +0200 Subject: [PATCH 15/24] fix: format --- .../example/integration_test/link_widget_test.dart | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/url_launcher/url_launcher_web/example/integration_test/link_widget_test.dart b/packages/url_launcher/url_launcher_web/example/integration_test/link_widget_test.dart index 9c09d9c84444..2c9b2c81c36f 100644 --- a/packages/url_launcher/url_launcher_web/example/integration_test/link_widget_test.dart +++ b/packages/url_launcher/url_launcher_web/example/integration_test/link_widget_test.dart @@ -976,7 +976,9 @@ void main() { final Finder linkFinder = find.byKey(linkKey); expect( tester.getSemantics( - find.descendant(of: linkFinder, matching: find.byType(Semantics)).first, + find + .descendant(of: linkFinder, matching: find.byType(Semantics)) + .first, ), matchesSemantics( isLink: true, From e392c64f49a90d80ce4588c9938a017aafa31015 Mon Sep 17 00:00:00 2001 From: Pedro Massango Date: Mon, 12 Jan 2026 19:46:19 +0100 Subject: [PATCH 16/24] Apply suggestion from @chunhtai Co-authored-by: chunhtai <47866232+chunhtai@users.noreply.github.com> --- packages/url_launcher/url_launcher_web/CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/url_launcher/url_launcher_web/CHANGELOG.md b/packages/url_launcher/url_launcher_web/CHANGELOG.md index 010a4bfd95ab..4b3ff6b3cc2d 100644 --- a/packages/url_launcher/url_launcher_web/CHANGELOG.md +++ b/packages/url_launcher/url_launcher_web/CHANGELOG.md @@ -1,6 +1,6 @@ ## 2.4.2 -* Fixed an issue that caused duplicate semantic nodes for `Link` widgets. +* Fixes an issue that caused duplicate semantic nodes for `Link` widgets. * Updates minimum supported SDK version to Flutter 3.29/Dart 3.7. ## 2.4.1 From a41b0586392ea5916bbeec0afb4d6e6eb00b8762 Mon Sep 17 00:00:00 2001 From: pedromassango Date: Mon, 12 Jan 2026 19:50:42 +0100 Subject: [PATCH 17/24] bump min required flutter --- packages/url_launcher/url_launcher/example/pubspec.yaml | 2 +- packages/url_launcher/url_launcher/pubspec.yaml | 2 +- packages/url_launcher/url_launcher_android/pubspec.yaml | 2 +- packages/url_launcher/url_launcher_ios/pubspec.yaml | 2 +- packages/url_launcher/url_launcher_linux/pubspec.yaml | 2 +- packages/url_launcher/url_launcher_macos/pubspec.yaml | 2 +- .../url_launcher/url_launcher_platform_interface/pubspec.yaml | 2 +- packages/url_launcher/url_launcher_web/pubspec.yaml | 2 +- packages/url_launcher/url_launcher_windows/pubspec.yaml | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/packages/url_launcher/url_launcher/example/pubspec.yaml b/packages/url_launcher/url_launcher/example/pubspec.yaml index 6b64e933cb1a..4471c9915e10 100644 --- a/packages/url_launcher/url_launcher/example/pubspec.yaml +++ b/packages/url_launcher/url_launcher/example/pubspec.yaml @@ -4,7 +4,7 @@ publish_to: none environment: sdk: ^3.7.0 - flutter: ">=3.29.0" + flutter: ">=3.38.0" dependencies: flutter: diff --git a/packages/url_launcher/url_launcher/pubspec.yaml b/packages/url_launcher/url_launcher/pubspec.yaml index 1dbe073249a9..c5892a05ff38 100644 --- a/packages/url_launcher/url_launcher/pubspec.yaml +++ b/packages/url_launcher/url_launcher/pubspec.yaml @@ -7,7 +7,7 @@ version: 6.3.2 environment: sdk: ^3.7.0 - flutter: ">=3.29.0" + flutter: ">=3.38.0" flutter: plugin: diff --git a/packages/url_launcher/url_launcher_android/pubspec.yaml b/packages/url_launcher/url_launcher_android/pubspec.yaml index 55cbf146a344..752dbca3aec8 100644 --- a/packages/url_launcher/url_launcher_android/pubspec.yaml +++ b/packages/url_launcher/url_launcher_android/pubspec.yaml @@ -6,7 +6,7 @@ version: 6.3.22 environment: sdk: ^3.9.0 - flutter: ">=3.35.0" + flutter: ">=3.38.0" flutter: plugin: diff --git a/packages/url_launcher/url_launcher_ios/pubspec.yaml b/packages/url_launcher/url_launcher_ios/pubspec.yaml index 55a7057d8e77..9cfc9e054784 100644 --- a/packages/url_launcher/url_launcher_ios/pubspec.yaml +++ b/packages/url_launcher/url_launcher_ios/pubspec.yaml @@ -6,7 +6,7 @@ version: 6.3.4 environment: sdk: ^3.7.0 - flutter: ">=3.29.0" + flutter: ">=3.38.0" flutter: plugin: diff --git a/packages/url_launcher/url_launcher_linux/pubspec.yaml b/packages/url_launcher/url_launcher_linux/pubspec.yaml index c4bc2bca8505..5423db357dcb 100644 --- a/packages/url_launcher/url_launcher_linux/pubspec.yaml +++ b/packages/url_launcher/url_launcher_linux/pubspec.yaml @@ -6,7 +6,7 @@ version: 3.2.1 environment: sdk: ^3.7.0 - flutter: ">=3.29.0" + flutter: ">=3.38.0" flutter: plugin: diff --git a/packages/url_launcher/url_launcher_macos/pubspec.yaml b/packages/url_launcher/url_launcher_macos/pubspec.yaml index ce277ecb8908..d57a2cef9e0b 100644 --- a/packages/url_launcher/url_launcher_macos/pubspec.yaml +++ b/packages/url_launcher/url_launcher_macos/pubspec.yaml @@ -6,7 +6,7 @@ version: 3.2.3 environment: sdk: ^3.7.0 - flutter: ">=3.29.0" + flutter: ">=3.38.0" flutter: plugin: diff --git a/packages/url_launcher/url_launcher_platform_interface/pubspec.yaml b/packages/url_launcher/url_launcher_platform_interface/pubspec.yaml index e7a0682b1eea..a6b1b46cfabf 100644 --- a/packages/url_launcher/url_launcher_platform_interface/pubspec.yaml +++ b/packages/url_launcher/url_launcher_platform_interface/pubspec.yaml @@ -8,7 +8,7 @@ version: 2.3.2 environment: sdk: ^3.7.0 - flutter: ">=3.29.0" + flutter: ">=3.38.0" dependencies: flutter: diff --git a/packages/url_launcher/url_launcher_web/pubspec.yaml b/packages/url_launcher/url_launcher_web/pubspec.yaml index 7e0f0e6f9ffe..1e66990996f6 100644 --- a/packages/url_launcher/url_launcher_web/pubspec.yaml +++ b/packages/url_launcher/url_launcher_web/pubspec.yaml @@ -6,7 +6,7 @@ version: 2.4.2 environment: sdk: ^3.7.0 - flutter: ">=3.29.0" + flutter: ">=3.38.0" flutter: plugin: diff --git a/packages/url_launcher/url_launcher_windows/pubspec.yaml b/packages/url_launcher/url_launcher_windows/pubspec.yaml index 53671a8ade07..d31841f3a4f2 100644 --- a/packages/url_launcher/url_launcher_windows/pubspec.yaml +++ b/packages/url_launcher/url_launcher_windows/pubspec.yaml @@ -6,7 +6,7 @@ version: 3.1.4 environment: sdk: ^3.7.0 - flutter: ">=3.29.0" + flutter: ">=3.38.0" flutter: plugin: From be151660b566353b4c0dc4b17911b1540239e864 Mon Sep 17 00:00:00 2001 From: pedromassango Date: Wed, 14 Jan 2026 23:56:30 +0100 Subject: [PATCH 18/24] nit: revert --- packages/url_launcher/url_launcher/example/pubspec.yaml | 2 +- packages/url_launcher/url_launcher/pubspec.yaml | 2 +- packages/url_launcher/url_launcher_android/pubspec.yaml | 2 +- packages/url_launcher/url_launcher_ios/example/pubspec.yaml | 2 +- packages/url_launcher/url_launcher_ios/pubspec.yaml | 2 +- packages/url_launcher/url_launcher_linux/pubspec.yaml | 2 +- packages/url_launcher/url_launcher_macos/pubspec.yaml | 2 +- .../url_launcher/url_launcher_platform_interface/pubspec.yaml | 2 +- packages/url_launcher/url_launcher_windows/pubspec.yaml | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/packages/url_launcher/url_launcher/example/pubspec.yaml b/packages/url_launcher/url_launcher/example/pubspec.yaml index 6feb076ca5a2..b3b36ef21cab 100644 --- a/packages/url_launcher/url_launcher/example/pubspec.yaml +++ b/packages/url_launcher/url_launcher/example/pubspec.yaml @@ -4,7 +4,7 @@ publish_to: none environment: sdk: ^3.8.0 - flutter: ">=3.38.0" + flutter: ">=3.32.0" dependencies: flutter: diff --git a/packages/url_launcher/url_launcher/pubspec.yaml b/packages/url_launcher/url_launcher/pubspec.yaml index d80f01a36a08..4d7d2077baf5 100644 --- a/packages/url_launcher/url_launcher/pubspec.yaml +++ b/packages/url_launcher/url_launcher/pubspec.yaml @@ -7,7 +7,7 @@ version: 6.3.2 environment: sdk: ^3.8.0 - flutter: ">=3.38.0" + flutter: ">=3.32.0" flutter: plugin: diff --git a/packages/url_launcher/url_launcher_android/pubspec.yaml b/packages/url_launcher/url_launcher_android/pubspec.yaml index c303781f6b5d..3af4d63e7720 100644 --- a/packages/url_launcher/url_launcher_android/pubspec.yaml +++ b/packages/url_launcher/url_launcher_android/pubspec.yaml @@ -6,7 +6,7 @@ version: 6.3.28 environment: sdk: ^3.9.0 - flutter: ">=3.38.0" + flutter: ">=3.32.0" flutter: plugin: diff --git a/packages/url_launcher/url_launcher_ios/example/pubspec.yaml b/packages/url_launcher/url_launcher_ios/example/pubspec.yaml index ac9e3e05afc8..45a1eac30061 100644 --- a/packages/url_launcher/url_launcher_ios/example/pubspec.yaml +++ b/packages/url_launcher/url_launcher_ios/example/pubspec.yaml @@ -4,7 +4,7 @@ publish_to: none environment: sdk: ^3.10.0 - flutter: ">=3.38.0" + flutter: ">=3.32.0" dependencies: flutter: diff --git a/packages/url_launcher/url_launcher_ios/pubspec.yaml b/packages/url_launcher/url_launcher_ios/pubspec.yaml index 924494b8095d..44a1f49ab7ce 100644 --- a/packages/url_launcher/url_launcher_ios/pubspec.yaml +++ b/packages/url_launcher/url_launcher_ios/pubspec.yaml @@ -6,7 +6,7 @@ version: 6.4.0 environment: sdk: ^3.10.0 - flutter: ">=3.38.0" + flutter: ">=3.32.0" flutter: plugin: diff --git a/packages/url_launcher/url_launcher_linux/pubspec.yaml b/packages/url_launcher/url_launcher_linux/pubspec.yaml index 0e1e411109b8..5f17be534642 100644 --- a/packages/url_launcher/url_launcher_linux/pubspec.yaml +++ b/packages/url_launcher/url_launcher_linux/pubspec.yaml @@ -6,7 +6,7 @@ version: 3.2.2 environment: sdk: ^3.8.0 - flutter: ">=3.38.0" + flutter: ">=3.32.0" flutter: plugin: diff --git a/packages/url_launcher/url_launcher_macos/pubspec.yaml b/packages/url_launcher/url_launcher_macos/pubspec.yaml index 64212df8f5a3..ec80f9cfe8ad 100644 --- a/packages/url_launcher/url_launcher_macos/pubspec.yaml +++ b/packages/url_launcher/url_launcher_macos/pubspec.yaml @@ -6,7 +6,7 @@ version: 3.2.5 environment: sdk: ^3.7.0 - flutter: ">=3.38.0" + flutter: ">=3.32.0" flutter: plugin: diff --git a/packages/url_launcher/url_launcher_platform_interface/pubspec.yaml b/packages/url_launcher/url_launcher_platform_interface/pubspec.yaml index 6d5b97873574..7e1dda128163 100644 --- a/packages/url_launcher/url_launcher_platform_interface/pubspec.yaml +++ b/packages/url_launcher/url_launcher_platform_interface/pubspec.yaml @@ -8,7 +8,7 @@ version: 2.3.2 environment: sdk: ^3.8.0 - flutter: ">=3.38.0" + flutter: ">=3.32.0" dependencies: flutter: diff --git a/packages/url_launcher/url_launcher_windows/pubspec.yaml b/packages/url_launcher/url_launcher_windows/pubspec.yaml index 493ad2548a82..5741acf4ca5d 100644 --- a/packages/url_launcher/url_launcher_windows/pubspec.yaml +++ b/packages/url_launcher/url_launcher_windows/pubspec.yaml @@ -6,7 +6,7 @@ version: 3.1.5 environment: sdk: ^3.8.0 - flutter: ">=3.38.0" + flutter: ">=3.32.0" flutter: plugin: From abac0ad9fda8e0641ad20cd41c7681b776502947 Mon Sep 17 00:00:00 2001 From: pedromassango Date: Wed, 14 Jan 2026 23:58:01 +0100 Subject: [PATCH 19/24] nit: revert --- packages/url_launcher/url_launcher_android/pubspec.yaml | 2 +- packages/url_launcher/url_launcher_ios/example/pubspec.yaml | 2 +- packages/url_launcher/url_launcher_ios/pubspec.yaml | 2 +- packages/url_launcher/url_launcher_macos/pubspec.yaml | 4 ++-- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/packages/url_launcher/url_launcher_android/pubspec.yaml b/packages/url_launcher/url_launcher_android/pubspec.yaml index 3af4d63e7720..4aeab9b6eee2 100644 --- a/packages/url_launcher/url_launcher_android/pubspec.yaml +++ b/packages/url_launcher/url_launcher_android/pubspec.yaml @@ -6,7 +6,7 @@ version: 6.3.28 environment: sdk: ^3.9.0 - flutter: ">=3.32.0" + flutter: ">=3.35.0" flutter: plugin: diff --git a/packages/url_launcher/url_launcher_ios/example/pubspec.yaml b/packages/url_launcher/url_launcher_ios/example/pubspec.yaml index 45a1eac30061..ac9e3e05afc8 100644 --- a/packages/url_launcher/url_launcher_ios/example/pubspec.yaml +++ b/packages/url_launcher/url_launcher_ios/example/pubspec.yaml @@ -4,7 +4,7 @@ publish_to: none environment: sdk: ^3.10.0 - flutter: ">=3.32.0" + flutter: ">=3.38.0" dependencies: flutter: diff --git a/packages/url_launcher/url_launcher_ios/pubspec.yaml b/packages/url_launcher/url_launcher_ios/pubspec.yaml index 44a1f49ab7ce..924494b8095d 100644 --- a/packages/url_launcher/url_launcher_ios/pubspec.yaml +++ b/packages/url_launcher/url_launcher_ios/pubspec.yaml @@ -6,7 +6,7 @@ version: 6.4.0 environment: sdk: ^3.10.0 - flutter: ">=3.32.0" + flutter: ">=3.38.0" flutter: plugin: diff --git a/packages/url_launcher/url_launcher_macos/pubspec.yaml b/packages/url_launcher/url_launcher_macos/pubspec.yaml index ec80f9cfe8ad..c6d66f97cf82 100644 --- a/packages/url_launcher/url_launcher_macos/pubspec.yaml +++ b/packages/url_launcher/url_launcher_macos/pubspec.yaml @@ -5,8 +5,8 @@ issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+ version: 3.2.5 environment: - sdk: ^3.7.0 - flutter: ">=3.32.0" + sdk: ^3.9.0 + flutter: ">=3.35.0" flutter: plugin: From 6f7565d888a07eb22014c76c82dd579ccd2f0c46 Mon Sep 17 00:00:00 2001 From: pedromassango Date: Wed, 14 Jan 2026 23:58:57 +0100 Subject: [PATCH 20/24] fix --- packages/url_launcher/url_launcher_web/example/pubspec.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/url_launcher/url_launcher_web/example/pubspec.yaml b/packages/url_launcher/url_launcher_web/example/pubspec.yaml index 2ac69f10b3a2..874a609df01c 100644 --- a/packages/url_launcher/url_launcher_web/example/pubspec.yaml +++ b/packages/url_launcher/url_launcher_web/example/pubspec.yaml @@ -3,7 +3,7 @@ publish_to: none environment: sdk: ^3.8.0 - flutter: ">=3.32.0" + flutter: ">=3.38.0" dependencies: flutter: From ae2d09fffaa4a557af88b9c7ed0073d2fea6bfce Mon Sep 17 00:00:00 2001 From: pedromassango Date: Thu, 15 Jan 2026 00:02:06 +0100 Subject: [PATCH 21/24] fix --- packages/url_launcher/url_launcher_web/example/pubspec.yaml | 2 +- packages/url_launcher/url_launcher_web/pubspec.yaml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/url_launcher/url_launcher_web/example/pubspec.yaml b/packages/url_launcher/url_launcher_web/example/pubspec.yaml index 874a609df01c..1bb142766028 100644 --- a/packages/url_launcher/url_launcher_web/example/pubspec.yaml +++ b/packages/url_launcher/url_launcher_web/example/pubspec.yaml @@ -2,7 +2,7 @@ name: regular_integration_tests publish_to: none environment: - sdk: ^3.8.0 + sdk: ^3.10.0 flutter: ">=3.38.0" dependencies: diff --git a/packages/url_launcher/url_launcher_web/pubspec.yaml b/packages/url_launcher/url_launcher_web/pubspec.yaml index 9fa625db12f0..0a8824ceeae1 100644 --- a/packages/url_launcher/url_launcher_web/pubspec.yaml +++ b/packages/url_launcher/url_launcher_web/pubspec.yaml @@ -5,7 +5,7 @@ issue_tracker: https://github.com/flutter/flutter/issues?q=is%3Aissue+is%3Aopen+ version: 2.4.2 environment: - sdk: ^3.8.0 + sdk: ^3.10.0 flutter: ">=3.38.0" flutter: From 6f12d7937287b1ab910a43e7ea23b24eda13854c Mon Sep 17 00:00:00 2001 From: pedromassango Date: Thu, 15 Jan 2026 00:13:12 +0100 Subject: [PATCH 22/24] wip --- .../url_launcher/url_launcher_macos/lib/src/messages.g.dart | 5 ++--- .../example/integration_test/link_widget_test.dart | 4 ++-- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/packages/url_launcher/url_launcher_macos/lib/src/messages.g.dart b/packages/url_launcher/url_launcher_macos/lib/src/messages.g.dart index 8c3a2fdbd421..4224ca40efcb 100644 --- a/packages/url_launcher/url_launcher_macos/lib/src/messages.g.dart +++ b/packages/url_launcher/url_launcher_macos/lib/src/messages.g.dart @@ -123,9 +123,8 @@ class UrlLauncherApi { BinaryMessenger? binaryMessenger, String messageChannelSuffix = '', }) : pigeonVar_binaryMessenger = binaryMessenger, - pigeonVar_messageChannelSuffix = messageChannelSuffix.isNotEmpty - ? '.$messageChannelSuffix' - : ''; + pigeonVar_messageChannelSuffix = + messageChannelSuffix.isNotEmpty ? '.$messageChannelSuffix' : ''; final BinaryMessenger? pigeonVar_binaryMessenger; static const MessageCodec pigeonChannelCodec = _PigeonCodec(); diff --git a/packages/url_launcher/url_launcher_web/example/integration_test/link_widget_test.dart b/packages/url_launcher/url_launcher_web/example/integration_test/link_widget_test.dart index cec851f46825..80410bcfd12e 100644 --- a/packages/url_launcher/url_launcher_web/example/integration_test/link_widget_test.dart +++ b/packages/url_launcher/url_launcher_web/example/integration_test/link_widget_test.dart @@ -239,8 +239,8 @@ void main() { expect(buttonFinder, findsOneWidget); final Element buttonElement = tester.element(buttonFinder); - final MergeSemantics? parentWidget = - buttonElement.findAncestorWidgetOfExactType(); + final MergeSemantics? parentWidget = buttonElement + .findAncestorWidgetOfExactType(); expect(parentWidget, isNotNull); }); }); From 128949aad6f57f045fcedfa16c6018bc9ec04d25 Mon Sep 17 00:00:00 2001 From: pedromassango Date: Thu, 15 Jan 2026 23:24:04 +0100 Subject: [PATCH 23/24] wip --- .../url_launcher/url_launcher_macos/lib/src/messages.g.dart | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/url_launcher/url_launcher_macos/lib/src/messages.g.dart b/packages/url_launcher/url_launcher_macos/lib/src/messages.g.dart index 4224ca40efcb..758bf849cb63 100644 --- a/packages/url_launcher/url_launcher_macos/lib/src/messages.g.dart +++ b/packages/url_launcher/url_launcher_macos/lib/src/messages.g.dart @@ -124,7 +124,9 @@ class UrlLauncherApi { String messageChannelSuffix = '', }) : pigeonVar_binaryMessenger = binaryMessenger, pigeonVar_messageChannelSuffix = - messageChannelSuffix.isNotEmpty ? '.$messageChannelSuffix' : ''; + messageChannelSuffix.isNotEmpty + ? '.$messageChannelSuffix' + : ''; final BinaryMessenger? pigeonVar_binaryMessenger; static const MessageCodec pigeonChannelCodec = _PigeonCodec(); From a892450fc15111866e0dfbf263f3d31e3a0226c2 Mon Sep 17 00:00:00 2001 From: pedromassango Date: Thu, 15 Jan 2026 23:25:13 +0100 Subject: [PATCH 24/24] wip --- .../url_launcher_macos/lib/src/messages.g.dart | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/packages/url_launcher/url_launcher_macos/lib/src/messages.g.dart b/packages/url_launcher/url_launcher_macos/lib/src/messages.g.dart index 758bf849cb63..8c3a2fdbd421 100644 --- a/packages/url_launcher/url_launcher_macos/lib/src/messages.g.dart +++ b/packages/url_launcher/url_launcher_macos/lib/src/messages.g.dart @@ -123,10 +123,9 @@ class UrlLauncherApi { BinaryMessenger? binaryMessenger, String messageChannelSuffix = '', }) : pigeonVar_binaryMessenger = binaryMessenger, - pigeonVar_messageChannelSuffix = - messageChannelSuffix.isNotEmpty - ? '.$messageChannelSuffix' - : ''; + pigeonVar_messageChannelSuffix = messageChannelSuffix.isNotEmpty + ? '.$messageChannelSuffix' + : ''; final BinaryMessenger? pigeonVar_binaryMessenger; static const MessageCodec pigeonChannelCodec = _PigeonCodec();