Add more error handling to unawaited callsites#184526
Conversation
There was a problem hiding this comment.
Code Review
This pull request introduces error reporting for asynchronous platform channel calls across the Material and Widgets libraries, specifically targeting SemanticsService.sendAnnouncement, SystemNavigator.pop, Clipboard.setData, and SensitiveContentHost methods. The changes ensure that exceptions occurring during these operations are caught and reported via FlutterError.reportError. Comprehensive unit tests were added to verify the error-handling logic. Feedback suggests refactoring duplicated error-reporting code in expansion_tile.dart into a helper function to improve maintainability.
| SemanticsService.sendAnnouncement(View.of(context), stateHint, textDirection).catchError((Object exception, StackTrace stack) { | ||
| FlutterError.reportError( | ||
| FlutterErrorDetails( | ||
| exception: exception, | ||
| stack: stack, | ||
| library: 'material library', | ||
| context: ErrorDescription('while sending semantics announcement'), | ||
| ), | ||
| ); | ||
| }); | ||
| _timer?.cancel(); | ||
| _timer = null; | ||
| }); | ||
| } | ||
| // SemanticsService.sendAnnouncement is deprecated on android. | ||
| // We use live region to achieve the announcement effect instead. | ||
| else if (defaultTargetPlatform != TargetPlatform.android) { | ||
| SemanticsService.sendAnnouncement(View.of(context), stateHint, textDirection); | ||
| SemanticsService.sendAnnouncement(View.of(context), stateHint, textDirection).catchError((Object exception, StackTrace stack) { | ||
| FlutterError.reportError( | ||
| FlutterErrorDetails( | ||
| exception: exception, | ||
| stack: stack, | ||
| library: 'material library', | ||
| context: ErrorDescription('while sending semantics announcement'), | ||
| ), | ||
| ); | ||
| }); |
There was a problem hiding this comment.
|
An existing Git SHA, To re-trigger presubmits after closing or re-opeing a PR, or pushing a HEAD commit (i.e. with |
|
An existing Git SHA, To re-trigger presubmits after closing or re-opeing a PR, or pushing a HEAD commit (i.e. with |
flutter/flutter@a0924c7...05e0ae0 2026-04-08 meylis@divine.video Fix Android engine flags defaulting to true for malformed values (flutter/flutter#184631) 2026-04-08 katelovett@google.com Try one more again (flutter/flutter#184767) 2026-04-08 goderbauer@google.com Remove custom `analysis_options.yaml` from `imitation_game_flutter` (flutter/flutter#184717) 2026-04-08 victorsanniay@gmail.com Add more error handling to unawaited callsites (flutter/flutter#184526) 2026-04-08 34465683+rkishan516@users.noreply.github.com Refactor: remove material from absorb_ponter_test, container_test, lookup_boundary_test, page_view_test, router_test, semantics_clipping_test, semantics_merge_test, shadow_test, text_test (flutter/flutter#183309) 2026-04-08 73785960+xfce0@users.noreply.github.com Remove editable_text_utils cross-imports from material and cupertino … (flutter/flutter#184519) 2026-04-08 robert.ancell@canonical.com Replace hard coded max path length with system defined one. (flutter/flutter#184697) 2026-04-08 jesswon@google.com [Re-land] Add Support For Built-in Kotlin (flutter/flutter#184745) 2026-04-08 15619084+vashworth@users.noreply.github.com Manually stop and continue LLDB breakpoints on Xcode 26.4+ (flutter/flutter#184690) 2026-04-08 katelovett@google.com Code freeze workflow (flutter/flutter#184246) 2026-04-08 737941+loic-sharma@users.noreply.github.com [Dot shorthands] Migrate examples/api/lib/widgets (flutter/flutter#183965) 2026-04-08 59215665+davidhicks980@users.noreply.github.com [cupertino.dart] Implement CupertinoMenuAnchor and CupertinoMenuItem using RawMenuAnchor (flutter/flutter#182036) 2026-04-08 87018443+mayanksharma9@users.noreply.github.com [Semantics] clarify Android header docs (flutter/flutter#183573) 2026-04-08 dacoharkes@google.com [ci] mac build_test bringup false (flutter/flutter#184738) 2026-04-08 34871572+gmackall@users.noreply.github.com Reland "Apply rect clipping to surface views" (flutter/flutter#184732) 2026-04-08 bkonyi@google.com Remove bringup label for resharded Windows tool_integration_tests shards (flutter/flutter#184721) 2026-04-08 namangoyaldev@gmail.com Tool: Add search and filtering to widget preview scaffold (flutter/flutter#184023) 2026-04-08 36861262+QuncCccccc@users.noreply.github.com Update localization from translation console (flutter/flutter#184742) 2026-04-07 rmolivares@renzo-olivares.dev Revert "Add Support For Built-in Kotlin (#184227)" (flutter/flutter#184739) 2026-04-07 34871572+gmackall@users.noreply.github.com Collect HCPP adoption analytics for flutter run/build apk/build appbundle (flutter/flutter#184225) 2026-04-07 jacksongardner@google.com Add a github workflow for reverting PRs. (flutter/flutter#184593) 2026-04-07 jesswon@google.com Add Support For Built-in Kotlin (flutter/flutter#184227) 2026-04-07 34871572+gmackall@users.noreply.github.com Revert "Apply rect clipping to surface views (#184471)" (flutter/flutter#184728) 2026-04-07 jesswon@google.com [Fix-forward] Added Compose plugin to Add-to-app Integration Test (flutter/flutter#184681) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-packages Please CC bmparr@google.com,stuartmorgan@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
…r#11470) flutter/flutter@a0924c7...05e0ae0 2026-04-08 meylis@divine.video Fix Android engine flags defaulting to true for malformed values (flutter/flutter#184631) 2026-04-08 katelovett@google.com Try one more again (flutter/flutter#184767) 2026-04-08 goderbauer@google.com Remove custom `analysis_options.yaml` from `imitation_game_flutter` (flutter/flutter#184717) 2026-04-08 victorsanniay@gmail.com Add more error handling to unawaited callsites (flutter/flutter#184526) 2026-04-08 34465683+rkishan516@users.noreply.github.com Refactor: remove material from absorb_ponter_test, container_test, lookup_boundary_test, page_view_test, router_test, semantics_clipping_test, semantics_merge_test, shadow_test, text_test (flutter/flutter#183309) 2026-04-08 73785960+xfce0@users.noreply.github.com Remove editable_text_utils cross-imports from material and cupertino … (flutter/flutter#184519) 2026-04-08 robert.ancell@canonical.com Replace hard coded max path length with system defined one. (flutter/flutter#184697) 2026-04-08 jesswon@google.com [Re-land] Add Support For Built-in Kotlin (flutter/flutter#184745) 2026-04-08 15619084+vashworth@users.noreply.github.com Manually stop and continue LLDB breakpoints on Xcode 26.4+ (flutter/flutter#184690) 2026-04-08 katelovett@google.com Code freeze workflow (flutter/flutter#184246) 2026-04-08 737941+loic-sharma@users.noreply.github.com [Dot shorthands] Migrate examples/api/lib/widgets (flutter/flutter#183965) 2026-04-08 59215665+davidhicks980@users.noreply.github.com [cupertino.dart] Implement CupertinoMenuAnchor and CupertinoMenuItem using RawMenuAnchor (flutter/flutter#182036) 2026-04-08 87018443+mayanksharma9@users.noreply.github.com [Semantics] clarify Android header docs (flutter/flutter#183573) 2026-04-08 dacoharkes@google.com [ci] mac build_test bringup false (flutter/flutter#184738) 2026-04-08 34871572+gmackall@users.noreply.github.com Reland "Apply rect clipping to surface views" (flutter/flutter#184732) 2026-04-08 bkonyi@google.com Remove bringup label for resharded Windows tool_integration_tests shards (flutter/flutter#184721) 2026-04-08 namangoyaldev@gmail.com Tool: Add search and filtering to widget preview scaffold (flutter/flutter#184023) 2026-04-08 36861262+QuncCccccc@users.noreply.github.com Update localization from translation console (flutter/flutter#184742) 2026-04-07 rmolivares@renzo-olivares.dev Revert "Add Support For Built-in Kotlin (#184227)" (flutter/flutter#184739) 2026-04-07 34871572+gmackall@users.noreply.github.com Collect HCPP adoption analytics for flutter run/build apk/build appbundle (flutter/flutter#184225) 2026-04-07 jacksongardner@google.com Add a github workflow for reverting PRs. (flutter/flutter#184593) 2026-04-07 jesswon@google.com Add Support For Built-in Kotlin (flutter/flutter#184227) 2026-04-07 34871572+gmackall@users.noreply.github.com Revert "Apply rect clipping to surface views (#184471)" (flutter/flutter#184728) 2026-04-07 jesswon@google.com [Fix-forward] Added Compose plugin to Add-to-app Integration Test (flutter/flutter#184681) If this roll has caused a breakage, revert this CL and stop the roller using the controls here: https://autoroll.skia.org/r/flutter-packages Please CC bmparr@google.com,stuartmorgan@google.com on the revert to ensure that a human is aware of the problem. To file a bug in Packages: https://github.com/flutter/flutter/issues/new/choose To report a problem with the AutoRoller itself, please file a bug: https://issues.skia.org/issues/new?component=1389291&template=1850622 Documentation for the AutoRoller is here: https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Part of #181513