Sawyer Blatz 6 years ago committed by GitHub
parent 332e7d58f3
commit 1d364c372a

@ -7,12 +7,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased] ## [Unreleased]
### Added ### Added
- #916 - Added the ability to save and delete bookmarks - #916 - Added the ability to save and delete bookmarks
- #356 - Adds the ability to delete history - #356 - Added the ability to delete history
- #208 - Added normal browsing dark mode (advised to use attrs from now on for most referenced colors) - #208 - Added normal browsing dark mode (advised to use attrs from now on for most referenced colors)
- #957 - Adds telemetry for the context menu - #957 - Added telemetry for the context menu
- #1036 - Adds telemetry for Find in Page - #1036 - Added telemetry for Find in Page
- #1049 - Add style for progress bar with gradient drawable - #1049 - Added style for progress bar with gradient drawable
- #1165 - Added doorhanger to the toolbar - #1165 - Added doorhanger to the toolbar
- #1002 - Added ability to restore tab after crash
- #1195 - Adds telemetry for quick action sheet - #1195 - Adds telemetry for quick action sheet
- #627 - Sets engine preferred color scheme based on light/dark theme - #627 - Sets engine preferred color scheme based on light/dark theme
- #904 - Added tab counter in browser toolbar - #904 - Added tab counter in browser toolbar

@ -13,6 +13,7 @@ import androidx.appcompat.app.AppCompatActivity
import androidx.fragment.app.Fragment import androidx.fragment.app.Fragment
import androidx.navigation.Navigation import androidx.navigation.Navigation
import kotlinx.android.synthetic.main.fragment_crash_reporter.* import kotlinx.android.synthetic.main.fragment_crash_reporter.*
import mozilla.components.browser.session.Session
import mozilla.components.lib.crash.Crash import mozilla.components.lib.crash.Crash
import org.mozilla.fenix.R import org.mozilla.fenix.R
import org.mozilla.fenix.components.metrics.Event import org.mozilla.fenix.components.metrics.Event
@ -36,19 +37,14 @@ class CrashReporterFragment : Fragment() {
requireContext().components.analytics.metrics.track(Event.CrashReporterOpened) requireContext().components.analytics.metrics.track(Event.CrashReporterOpened)
close_tab_button.setOnClickListener { val selectedSession = requireComponents.core.sessionManager.selectedSession
val selectedSession = requireComponents.core.sessionManager.selectedSession
selectedSession?.let { session -> requireComponents.useCases.tabsUseCases.removeTab.invoke(session) }
var wantsSubmitCrashReport = false restore_tab_button.setOnClickListener {
if (Settings.getInstance(context!!).isCrashReportingEnabled) { selectedSession?.let { session -> closeFragment(true, session, crash) }
requireComponents.analytics.crashReporter.submitReport(crash) }
wantsSubmitCrashReport = true
}
requireContext().components.analytics.metrics.track(Event.CrashReporterClosed(wantsSubmitCrashReport)) close_tab_button.setOnClickListener {
navigateHome(view) selectedSession?.let { session -> closeFragment(false, session, crash) }
} }
} }
@ -57,12 +53,29 @@ class CrashReporterFragment : Fragment() {
(activity as AppCompatActivity).supportActionBar?.hide() (activity as AppCompatActivity).supportActionBar?.hide()
} }
fun navigateHome(fromView: View) { private fun closeFragment(shouldRestore: Boolean, session: Session, crash: Crash) {
val directions = CrashReporterFragmentDirections.actionCrashReporterFragmentToHomeFragment() submitReportIfNecessary(crash)
Navigation.findNavController(fromView).navigate(directions)
if (shouldRestore) {
requireComponents.useCases.sessionUseCases.crashRecovery.invoke(session)
Navigation.findNavController(view!!).popBackStack()
} else {
requireComponents.useCases.tabsUseCases.removeTab.invoke(session)
navigateHome(view!!)
}
}
private fun submitReportIfNecessary(crash: Crash) {
var didSubmitCrashReport = false
if (Settings.getInstance(context!!).isCrashReportingEnabled) {
requireComponents.analytics.crashReporter.submitReport(crash)
didSubmitCrashReport = true
}
requireContext().components.analytics.metrics.track(Event.CrashReporterClosed(didSubmitCrashReport))
} }
fun onBackPressed() { private fun navigateHome(fromView: View) {
requireContext().components.analytics.metrics.track(Event.CrashReporterClosed(false)) val directions = CrashReporterFragmentDirections.actionCrashReporterFragmentToHomeFragment()
Navigation.findNavController(fromView).navigate(directions)
} }
} }

Loading…
Cancel
Save