fix: Use dynamic policy for PositionProvider reference in PositionService #5529
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Brief description of the PR. [e.g. Added
null
check onobject
to avoidNullPointerException
]Changes the policy of the
PositionProvider
reference in thePositionService
from static to dynamic.Having the policy set as static causes the PositionService and all services that depend on it with a static reference (e.g. the
CloudService
) to be deactivated and reactivated whenever aPositionProvider
is registered or unregistered, causing unnecessary service reactivations on startup and shutdown.The fact that the CloudService is reactivated may cause the pubblication of spurious lifecycle messages.
Also fixes possible NPE thrown by
getPosition()
,getNmeaPosition()
andisLocked()
if called when the configured provider is not bound.