You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
iceraven-browser/app/src/main/java/org/mozilla/fenix/home/intent/CrashReporterIntentProcesso...

33 lines
1.1 KiB
Kotlin

/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
package org.mozilla.fenix.home.intent
import android.content.Intent
import androidx.navigation.NavController
import mozilla.components.lib.crash.Crash
import org.mozilla.fenix.NavGraphDirections
import org.mozilla.fenix.ext.navigateBlockingForAsyncNavGraph
/**
* When the app crashes, the user has the option to report it.
* Reporting fires an intent to the main activity which is handled here.
*/
class CrashReporterIntentProcessor : HomeIntentProcessor {
override fun process(intent: Intent, navController: NavController, out: Intent): Boolean {
return if (Crash.isCrashIntent(intent)) {
openToCrashReporter(intent, navController)
true
} else {
false
}
}
private fun openToCrashReporter(intent: Intent, navController: NavController) {
val directions = NavGraphDirections.actionGlobalCrashReporter(intent)
navController.navigateBlockingForAsyncNavGraph(directions)
}
}