diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml
index 09c3d6108365..c647e8cb24cc 100644
--- a/app/src/main/AndroidManifest.xml
+++ b/app/src/main/AndroidManifest.xml
@@ -191,6 +191,10 @@
android:exported="false">
+
+
about", but desktop and
+ // fennec users may be used to navigating to "about:crashes". So we intercept this here
+ // and open the crash list activity instead.
+ context.startActivity(Intent(context, CrashListActivity::class.java))
+ return
+ }
+
if (url.isNotBlank()) {
(context as HomeActivity).openToBrowserAndLoad(
searchTermOrURL = url,
diff --git a/app/src/main/java/org/mozilla/fenix/settings/about/AboutFragment.kt b/app/src/main/java/org/mozilla/fenix/settings/about/AboutFragment.kt
index ddb334abb391..a9186f3b5d2a 100644
--- a/app/src/main/java/org/mozilla/fenix/settings/about/AboutFragment.kt
+++ b/app/src/main/java/org/mozilla/fenix/settings/about/AboutFragment.kt
@@ -20,6 +20,7 @@ import kotlinx.coroutines.ExperimentalCoroutinesApi
import org.mozilla.fenix.BuildConfig
import org.mozilla.fenix.R
import org.mozilla.fenix.components.metrics.Event
+import org.mozilla.fenix.crashes.CrashListActivity
import org.mozilla.fenix.ext.requireComponents
import org.mozilla.fenix.ext.settings
import org.mozilla.fenix.utils.Do
@@ -152,6 +153,10 @@ class AboutFragment : Fragment(), AboutPageListener {
SupportUtils.getSumoURLForTopic(context, SupportUtils.SumoTopic.HELP)
), getString(R.string.about_support)
),
+ AboutPageItem.Item(
+ AboutItem.Crashes,
+ getString(R.string.about_crashes)
+ ),
AboutPageItem.Item(
AboutItem.ExternalLink(
PRIVACY_NOTICE,
@@ -215,6 +220,9 @@ class AboutFragment : Fragment(), AboutPageListener {
requireComponents.analytics.metrics.track(Event.LibrariesThatWeUseTapped)
openLibrariesPage()
}
+ is AboutItem.Crashes -> {
+ startActivity(Intent(requireContext(), CrashListActivity::class.java))
+ }
}
}
diff --git a/app/src/main/java/org/mozilla/fenix/settings/about/AboutItem.kt b/app/src/main/java/org/mozilla/fenix/settings/about/AboutItem.kt
index f2df25a1ce5f..e8cf2a79ce47 100644
--- a/app/src/main/java/org/mozilla/fenix/settings/about/AboutItem.kt
+++ b/app/src/main/java/org/mozilla/fenix/settings/about/AboutItem.kt
@@ -7,6 +7,7 @@ package org.mozilla.fenix.settings.about
sealed class AboutItem {
data class ExternalLink(val type: AboutItemType, val url: String) : AboutItem()
object Libraries : AboutItem()
+ object Crashes : AboutItem()
}
enum class AboutItemType {
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 6ad5c8e3ff87..2c7974b546ae 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -1106,6 +1106,8 @@
Support
+
+ Crashes
Privacy notice
diff --git a/app/src/test/java/org/mozilla/fenix/components/metrics/BreadcrumbRecorderTest.kt b/app/src/test/java/org/mozilla/fenix/components/metrics/BreadcrumbRecorderTest.kt
index 05c518ff3cfe..810e8f24409d 100644
--- a/app/src/test/java/org/mozilla/fenix/components/metrics/BreadcrumbRecorderTest.kt
+++ b/app/src/test/java/org/mozilla/fenix/components/metrics/BreadcrumbRecorderTest.kt
@@ -20,6 +20,9 @@ internal class BreadcrumbRecorderTest {
@Test
fun `ensure crash reporter recordCrashBreadcrumb is called`() {
val service = object : CrashReporterService {
+ override val id: String = "test"
+ override val name: String = "Test"
+ override fun createCrashReportUrl(identifier: String): String? = null
override fun report(throwable: Throwable, breadcrumbs: ArrayList): String? = ""
override fun report(crash: Crash.NativeCodeCrash): String? = ""
override fun report(crash: Crash.UncaughtExceptionCrash): String? = ""
@@ -27,6 +30,7 @@ internal class BreadcrumbRecorderTest {
val reporter = spy(
CrashReporter(
+ context = mock(),
services = listOf(service),
shouldPrompt = CrashReporter.Prompt.NEVER
)
diff --git a/buildSrc/src/main/java/AndroidComponents.kt b/buildSrc/src/main/java/AndroidComponents.kt
index b7e4b9817173..7bea9b7c3a9a 100644
--- a/buildSrc/src/main/java/AndroidComponents.kt
+++ b/buildSrc/src/main/java/AndroidComponents.kt
@@ -3,5 +3,5 @@
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
object AndroidComponents {
- const val VERSION = "41.0.20200510130109"
+ const val VERSION = "41.0.20200511120152"
}