fix(android): use method-local ref to instance var for multi-thread safety #549 #550
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.
Make sure we use a final reference to the instance variables in case they are modified in another callback while being used.
Overview
Should fix: #549
The fix is rather simple, just keep a reference to the value before re-using it all around in the function so another callback changing the instance variables won't cause the null pointer exception nor inconsistencies with a value changed halfway through the call.
Test Plan
Tested on Google Pixel 5 (Android 12) and Pixel 2 (Android 11)