Name Description Size Coverage
CrashContentIntegration.kt Helper for observing [BrowserStore] and show an in-app crash reporter for tabs with content crashes. Note that you have to call `integration.viewProvider` to set the provider that will provide @param browserStore [BrowserStore] observed for any changes related to [EngineState.crashed]. @param appStore [AppStore] that tracks all content crashes in the current app session until the user decides to either send or dismiss all crash reports. @param toolbar [BrowserToolbar] that will be expanded when showing the in-app crash reporter. @param components [Components] allowing interactions with other app features. @param settings [Settings] allowing to check whether crash reporting is enabled or not. @param navController [NavController] used to navigate to other parts of the app. @param customTabSessionId [String] Id of the tab or custom tab which should be observed for [EngineState.crashed] depending on which the [CrashContentView] provided by [viewProvider] will be shown or hidden. @param dispatcher The [CoroutineDispatcher] to use for launching coroutines. Defaults to [Dispatchers.Main]. @param getTopToolbarHeightValue Function to provide the top toolbar height. @param getBottomToolbarHeightValue Function to provide the bottom toolbar height. Sample usage: ```kotlin class MyFragment : Fragment() { override fun onCreateView(view: View, savedInstanceState: Bundle) { //... val integration = CrashContentIntegration( // ... other params ... getTopToolbarHeightValue = { includeTabStrip -> this.getTopToolbarHeight(includeTabStrip) }, getBottomToolbarHeightValue = { includeNavBar -> this.getBottomToolbarHeight(includeNavBar) } ) // set the view provider. it will be automatically cleared when the lifecycle gets to the // `STOPPED` state integration.viewProvider = { binding.crashContentView } } } ``` 6700 -
CrashContentView.kt View shown when a tab crashes. Intended to entirely overlay an EngineView. This will allow users to close or restore the current tab while optionally send all reports for non-fatal crashes or dismiss them. 3060 -
CrashFactCollector.kt Collects facts and record bread crumbs for the events. 2760 -
CrashListFragment.kt Fragment showing the list of past crashes. 1020 -
CrashReporterBinding.kt A binding for observing the [CrashState] in the [AppStore] and displaying the crash reporter. @param store The [AppStore] used to observe the [CrashState]. @param onReporting a callback that is called when [CrashState] is [CrashState.Reporting]. @param mainDispatcher The [CoroutineDispatcher] on which the state observation and updates will occur. Defaults to [Dispatchers.Main]. 1585 -
CrashReporterController.kt Restore all sessions and optionally report pending non-fatal crashes. @param sendCrashes If true, submit crash reports for all current non-fatal crashes. @return [Job] allowing to check status / cancel the reporting operation or null if reporting is disabled. 3882 -
CrashReportingAppMiddleware.kt Middleware for unwrapping [CrashAction]s from the [AppAction] and passing them to more specific middleware. @param crashMiddleware A middleware for handling side-effects related to [CrashAction]s. 1645 -
NimbusExperimentDataProvider.kt [RuntimeTagProvider] that provides the active [NimbusApi] experiments as runtime tags. @param nimbusApi the [NimbusApi] to use to get the active experiments 1012 -
ReleaseRuntimeTagProvider.kt Includes the current release version with the crash so that it can be persisted. 900 -
SettingsCrashReportCache.kt A disk cache for handling data related to Crash Reports. @param settings Convenience delegate for Shared Preferences. 2290 -
UnsubmittedCrashDialog.kt Callback for dispatching [CrashAction]s from the [UnsubmittedCrashDialog]. 13286 -