Avoid crash when scanning barcode #6893
Merged
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.
This should prevent a crash we've seen on Crashlytics.
Why is this the best possible solution? Were any other approaches considered?
The original code would end up calling
handleScannerResulttwice: once when the action is clicked and once when the snackbar is dismissed. This didn't cause any obvious problems, but ran the risk of arequireActivitycall after the first call'sfinishhad already happened. I've now made it so thathandleScannerResultis only called once, and hopefully made our API around snackbars clearer to avoid a similar mistake in future.How does this change affect users? Describe intentional changes to behavior and behavior that could have accidentally been affected by code changes. In other words, what are the regression risks?
It's probably impossible to reliably reproduce the crash. So just testing normal barcode scanning is enough here.
Before submitting this PR, please make sure you have:
./gradlew connectedAndroidTest(or./gradlew testLab) and confirmed all checks still passDateFormatsTest