Skip to content

[url_launcher] Android API 34 support #4660

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 12 commits into from
Aug 9, 2023

Conversation

reidbaker
Copy link
Contributor

@reidbaker reidbaker commented Aug 7, 2023

fixed #flutter/flutter/issues/126460
Reland of #3973 which incorrectly used application context when registering and not when unregistering. This pr uses activity context for both which is aligned with what the behavior was before.

  • Register on the same context as unregister
  • Add integration test for android url launch and close

Tested with manual test and new integration test.

Pre-launch Checklist

  • I read the [Contributor Guide] and followed the process outlined there for submitting PRs.
  • I read the [Tree Hygiene] wiki page, which explains my responsibilities.
  • I read and followed the [relevant style guides] and ran the auto-formatter. (Unlike the flutter/flutter repo, the flutter/packages repo does use dart format.)
  • I signed the [CLA].
  • The title of the PR starts with the name of the package surrounded by square brackets, e.g. [shared_preferences]
  • I listed at least one issue that this PR fixes in the description above.
  • I updated pubspec.yaml with an appropriate new version according to the [pub versioning philosophy], or this PR is [exempt from version changes].
  • I updated CHANGELOG.md to add a description of the change, [following repository CHANGELOG style].
  • I updated/added relevant documentation (doc comments with ///).
  • I added new tests to check the change I am making, or this PR is [test-exempt].
  • All existing and new tests are passing.

@reidbaker reidbaker marked this pull request as ready for review August 7, 2023 16:00
@reidbaker
Copy link
Contributor Author

await Future<void>.delayed(const Duration(seconds: 3));
await launcher.closeWebView();
// Delay required to catch android side crashes in onDestroy
await Future<void>.delayed(const Duration(seconds: 3));
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think we would need flutter/flutter#20034 to remove this; a TODO referencing that issue wouldn't hurt.

In the meantime, do we really need 3 seconds to reliably catch closing the page? That seems crazy long.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

3s was the shortest I could make it and have the test reliability catch a crash that can happen in onDestroy on my physical phone. I ended up verifying on an emulator and actually needed to bump the delay to 5s. 3 would not reliably catch the potential crash and 4s was flakey in catching the crash.

I think we need to wait the full 5s otherwise this test does not actually catch a regression in the code that was fixed.

Copy link
Contributor

@stuartmorgan-g stuartmorgan-g left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM with nits.

Thanks for investigating more on the delay. It's not ideal, but at least this is an integration test where taking longer is expected.

@reidbaker reidbaker added the autosubmit Merge PR when tree becomes green via auto submit App label Aug 9, 2023
@auto-submit auto-submit bot merged commit eed8df7 into flutter:main Aug 9, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Aug 9, 2023
engine-flutter-autoroll added a commit to engine-flutter-autoroll/flutter that referenced this pull request Aug 9, 2023
auto-submit bot pushed a commit to flutter/flutter that referenced this pull request Aug 9, 2023
flutter/packages@ac41376...881c1f5

2023-08-09 engine-flutter-autoroll@skia.org Roll Flutter from 436df69 to f4c25bb (28 revisions) (flutter/packages#4666)
2023-08-09 reidbaker@google.com [url_launcher] Android API 34 support (flutter/packages#4660)
2023-08-08 67326251+Franreno@users.noreply.github.com Migrating styleFrom API to new version. (flutter/packages#4540)

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-flutter-autoroll
Please CC flutter-ecosystem@google.com,rmistry@google.com on the revert to ensure that a human
is aware of the problem.

To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose

To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
autosubmit Merge PR when tree becomes green via auto submit App p: url_launcher platform-android
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[url_launcher] Declare if recievers should be exported or not.
2 participants