{"repo":"osama-raddad/FireCrasher","free":true,"listed":false,"github":"https://github.com/osama-raddad/FireCrasher","clone":"git clone https://github.com/osama-raddad/FireCrasher.git","description":"FireCrasher is a Uncaught Exceptions recovery library for android","language":"Kotlin","stars":148,"topics":["android","android-library","java","uncaught-exceptions","ux"],"license":"Apache-2.0","category":"mobile-apps","readme_excerpt":"FireCrasher Catch uncaught Android exceptions and recover — instead of crashing to the launcher. --- Contents - What it does - How recovery works - Requirements - Installation - Quick start - Usage - Report crashes while recovering - React to the recovery level - Detect native crashes and ANRs (API 30+) - API reference - What's new in 3.0.0 - Migrating from 2.x - Documentation - Contributing - License What it does An uncaught exception on Android's main thread tears down the whole process: the app disappears and the user is dropped back at the launcher. Crashing is one of the fastest ways to lose a user — a large share will one-star or delete an app after a single bad crash. Most production crashes, though, are localized and transient : a bad state on one screen, a null from a flaky response, a race that fires once. FireCrasher's premise is that the app should absorb that exception and get the user back to a working state rather than die. It does this by replacing the main-thread message loop with one that dispatches messages inside a try/catch . When something throws, FireCrasher hands the exception to your onCrash handler and runs a staged recovery — so the crash becomes a hiccup, not an exit. Your crash reporting still fires ; the app just stays alive while it reports. How recovery works When a crash is caught, FireCrasher picks a recovery level based on how many times it has already tried and whether there's a screen to fall back to: Level When What happens ------- ------","default_branch":null,"files":null,"tree":[],"storefront":"/r/osama-raddad","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/osama-raddad/FireCrasher/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}