Skip to content
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

[firebase_messaging] fix onLaunch being called again when resuming an application from Recents screen #3154

Closed
wants to merge 4 commits into from

Conversation

MaikuB
Copy link
Contributor

@MaikuB MaikuB commented Aug 12, 2020

Description

On Android, there is an issue where it is possible for the onLaunch callback to be invoked multiple times. One way to produce this is

  • Sent a notification a device when the app is terminated
  • Tap on the notification to launch the app -> onLaunch should be called
  • Tap back until the application is in the background
  • Open the Recents screen (aka recent task/app list) and go back to the app
  • onLaunch is called again

This is happening as when the application starts up again, it will call configure method that will in turn process the intent. However, when processing the intent it should check to make sure that the app isn't launched via the Recents screen. This PR as this guard in to prevent the issue from happening.

Note: for some reason, pub is failing to resolve the dependencies (didn't happen in the past) so I cannot try to out properly but had to a similar fix for my own plugin for local notifications. This is why I haven't ticked the box that the analyzer doesn't report any problems

Related Issues

Checklist

Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes ([x]). This will ensure a smooth and quick review process.

  • I read the [Contributor Guide] and followed the process outlined there for submitting PRs.
  • If the pull request affects only one plugin, the PR title starts with the name of the plugin in brackets (e.g. [cloud_firestore])
  • My PR includes unit or integration tests for all changed/updated/fixed behaviors (See [Contributor Guide]).
  • All existing and new tests are passing.
  • I updated/added relevant documentation (doc comments with ///).
  • The analyzer (flutter analyze) does not report any problems on my PR.
  • I read and followed the [Flutter Style Guide].
  • I updated pubspec.yaml with an appropriate new version according to the [pub versioning philosophy].
  • I updated CHANGELOG.md to add a description of the change.
  • I signed the [CLA].
  • I am willing to follow-up on review comments in a timely manner.

Breaking Change

Does your PR require plugin users to manually update their apps to accommodate your change?

  • Yes, this is a breaking change (please indicate a breaking change in CHANGELOG.md and increment major revision).
  • No, this is not a breaking change.

@Salakar Salakar closed this in #4012 Nov 3, 2020
@firebase firebase locked and limited conversation to collaborators Dec 4, 2020
@MaikuB MaikuB deleted the fix_fcm_launch_history branch December 30, 2020 03:49
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants