fix(android): use ViewCompat.setStateDescription for API < 30 compat#606
Merged
lodev09 merged 2 commits intolodev09:mainfrom Mar 18, 2026
Merged
Conversation
`View.stateDescription` (added in API 30) is called directly in `TrueSheetGrabberView.updateAccessibilityValue()`, causing a fatal `NoSuchMethodError` on Android 10 and below on every sheet present. Replace with `ViewCompat.setStateDescription()` which is a no-op on API < 30 and works identically on API 30+. Introduced in lodev09#587 (v3.10.0-beta.0), still present in beta.2.
|
@Mohamed-kassim is attempting to deploy a commit to the Jovanni's projects Team on Vercel. A member of the Team first needs to authorize it. |
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Problem
TrueSheetGrabberView.updateAccessibilityValue()callsView.stateDescriptiondirectly, which was added in API 30 (Android 11). On Android 10 and below, this causes a fatalNoSuchMethodErrorcrash on every sheet present:Introduced in #587 (v3.10.0-beta.0), still present in v3.10.0-beta.2.
Fix
Replace the direct
stateDescription = ...assignment withViewCompat.setStateDescription(this, description), which handles the API check internally (no-op on API < 30, delegates to the platform method on API 30+).Impact
In our production app (Tarteel, ~1M users), this caused 100+ affected users and 389+ crash events within 1 hours of shipping a release with v3.10.0-beta.1.