Fix the crashes in UploadUtilsWrapper caused by null snackbarAttachView #21011
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.
Fixes #21010
I can't reproduce the crash, but it occurs when the activity is stopped while the snackbar is being invoked in a separate thread, such as in
onActivityResult
or EventBus functions. Therefore, I added a check before showing snackbars.There are different crashes on Sentry related to
UploadUtilsWrapper
. If thesnackbarAttachView
is null, it's pointless to call functions showing snackbars. I made allsnackbarAttachView
parameters non-null and checked their nullability in the Java classes where theseUploadUtilsWrapper
' functions are being called.To Test:
Since I can't reproduce it, it's not testable.
Regression Notes
Potential unintended areas of impact
What I did to test those areas of impact (or what existing automated tests I relied on)
What automated tests I added (or what prevented me from doing so)
PR Submission Checklist:
RELEASE-NOTES.txt
if necessary.Testing Checklist (strike-out the not-applying and unnecessary ones):
WordPress.com sites and self-hosted Jetpack sites.Portrait and landscape orientations.Light and dark modes.Fonts: Larger, smaller and bold text.High contrast.Talkback.Languages with large words or with letters/accents not frequently used in English.Right-to-left languages. (Even if translation isn’t complete, formatting should still respect the right-to-left layout)Large and small screen sizes. (Tablet and smaller phones)Multi-tasking: Split screen and Pop-up view. (Android 10 or higher)