| 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 |
- |