fix(messaging,android): fix call race that could happen when using requestPermission#18256
fix(messaging,android): fix call race that could happen when using requestPermission#18256russellwheatley merged 2 commits intomainfrom
Conversation
Using Gemini Code AssistThe full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips. Invoking Gemini You can request assistance from Gemini at any point by creating a comment using either
Customization To customize the Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a Limitations & Feedback Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counterproductive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for GitHub and other Google products, sign up here. |
Description
Fixes an Android crash in
firebase_messagingwhen concurrentrequestPermission()calls race through the native permission manager. The fix synchronizes the in-flight permission state and stored callback so only one OS permission request can start at a time, and the callback cannot be overwritten while a request is pending.No automated test was added because FlutterFire CI does not currently run Android plugin JVM tests, and the existing integration test setup cannot reliably drive the Android runtime permission dialog. This was verified with the Android example build plus existing Dart analysis/tests.
Related Issues
Checklist
///).melos run analyze) does not report any problems on my PR.Breaking Change