Navigation Menu

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

Fix MapboxMap extension plugin functions throwing exceptions #1591

Conversation

kiryldz
Copy link
Contributor

@kiryldz kiryldz commented Aug 12, 2022

Summary of changes

When using extension functions for camera and gesture plugins (e.g. MapboxMap.flyTo and others) we previously were relying on weak references. That could lead to runtime crash:

checkNotNull(cameraAnimationsPlugin?.get()) {
  "Camera plugin is not added as the part of MapInitOptions for given MapView."
}

not only when camera plugin was excluded (as was per design) but also let's say when MapView was already destroyed and extension function was accessed.

Fixed this by removing weak references and improving warning messages.

User impact (optional)

Pull request checklist:

  • Briefly describe the changes in this PR.
  • Include before/after visuals or gifs if this PR includes visual changes.
  • Write tests for all new functionality. If tests were not written, please explain why.
  • Optimize code for java consumption (@JvmOverloads, @file:JvmName, etc).
  • Add example if relevant.
  • Document any changes to public APIs.
  • Run make update-api to update generated api files, if there's public API changes, otherwise the verify-api-* CI steps might fail.
  • Update CHANGELOG.md or use the label 'skip changelog', otherwise check changelog CI step will fail.
  • If this PR is a v10.[version] release branch fix / enhancement, merge it to main firstly and then port to v10.[version] release branch.

Fixes: < Link to related issues that will be fixed by this pull request, if they exist >

PRs must be submitted under the terms of our Contributor License Agreement CLA.

@kiryldz kiryldz self-assigned this Aug 12, 2022
@kiryldz kiryldz added the bug 🪲 Something isn't working label Aug 12, 2022
@kiryldz kiryldz force-pushed the MAPSAND-317-possible-crash-when-accessing-gestures-camera-from-extension-functions branch from 1e1ae16 to aa7c07c Compare August 12, 2022 11:56
@kiryldz kiryldz marked this pull request as ready for review August 12, 2022 11:56
@kiryldz kiryldz requested a review from a team as a code owner August 12, 2022 11:56
@kiryldz kiryldz force-pushed the MAPSAND-317-possible-crash-when-accessing-gestures-camera-from-extension-functions branch from 71c3663 to d7bf2f9 Compare August 15, 2022 09:18
@kiryldz kiryldz requested a review from yunikkk August 15, 2022 09:18
@kiryldz kiryldz merged commit 47f9e20 into main Aug 15, 2022
@kiryldz kiryldz deleted the MAPSAND-317-possible-crash-when-accessing-gestures-camera-from-extension-functions branch August 15, 2022 10:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug 🪲 Something isn't working
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants