fix(about): guard mailto / external-link launches with try/catch#80
Open
jim-daf wants to merge 1 commit into
Open
fix(about): guard mailto / external-link launches with try/catch#80jim-daf wants to merge 1 commit into
jim-daf wants to merge 1 commit into
Conversation
AboutActivity routes mailto: and http(s) links out of its WebView through startActivity. If the device has no app that can handle the intent (no mail client for mailto, no browser, a stripped-down build like an automotive head unit, etc.) startActivity raises ActivityNotFoundException and the About screen crashes mid-tap. Run the launch through a small helper that catches ActivityNotFoundException and shows a Toast so the activity stays alive. The happy path is unchanged.
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.
Closes #79.
`AboutActivity.shouldOverrideUrlLoading` routes `mailto:` and `http(s):` URLs out of the About WebView with raw `startActivity` calls. If the device has no app that can handle the intent (no mail client for `mailto:`, no browser, kiosks / car-headunit-style devices) `startActivity` raises `ActivityNotFoundException` and the About screen goes down with it.
Change
Run the launches through a small `launchExternal` helper that catches `ActivityNotFoundException` and surfaces a Toast ("No app available to open this link") instead of crashing. The happy path (a URL with a viewer installed) is unchanged.
Adds a `no_app_to_open_link` string for the Toast message.