Remove AirshipPush.authorizedNotificationSettings MainActor isolation #409
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.
What do these changes do?
Removes unnecessary MainActor isolation of the
AirshipPush.authorizedNotificationSettings
property. Based on the implementation ofAirshipPush.authorizedNotificationSettings
there is nothing that should force the property to be MainActor isolated since it only reads and writes to theAirshipPush
PreferenceDataStore
that uses its ownNSRecursiveLock
for synchronization. There areAirshipPush
properties likeauthorizationStatus
anduserPromptedForNotifications
that read and write to theAirshipPush
PreferenceDataStore
without requiring MainActor isolation. These changes will not affect any users who are currently usingAirshipPush.authorizedNotificationSettings
in a MainActor isolated context.Why are these changes necessary?
We should prefer to only use MainActor isolation unless it is absolutely necessary.
How did you verify these changes?
The SDK builds and all test cases pass.