From e25e9a658d9f7baeb4adf90348c143c0317cdde1 Mon Sep 17 00:00:00 2001 From: geeksville Date: Mon, 24 Feb 2020 15:33:35 -0800 Subject: [PATCH] report exceptions via crashytics --- .../java/com/geeksville/mesh/MeshUtilApplication.kt | 12 ++++++++++-- .../java/com/geeksville/mesh/service/MeshService.kt | 4 ++-- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/com/geeksville/mesh/MeshUtilApplication.kt b/app/src/main/java/com/geeksville/mesh/MeshUtilApplication.kt index 304e1d4b4..be47f3856 100644 --- a/app/src/main/java/com/geeksville/mesh/MeshUtilApplication.kt +++ b/app/src/main/java/com/geeksville/mesh/MeshUtilApplication.kt @@ -3,6 +3,7 @@ package com.geeksville.mesh import android.os.Debug import com.geeksville.android.GeeksvilleApplication import com.geeksville.android.Logging +import com.geeksville.util.Exceptions import com.google.firebase.crashlytics.FirebaseCrashlytics @@ -15,7 +16,14 @@ class MeshUtilApplication : GeeksvilleApplication(null, "58e72ccc361883ea502510b // We default to off in the manifest, FIXME turn on only if user approves // leave off when running in the debugger - if (!BuildConfig.DEBUG || !Debug.isDebuggerConnected()) - FirebaseCrashlytics.getInstance().setCrashlyticsCollectionEnabled(true) + if (!BuildConfig.DEBUG || !Debug.isDebuggerConnected()) { + val crashlytics = FirebaseCrashlytics.getInstance() + crashlytics.setCrashlyticsCollectionEnabled(true) + + // Attach to our exception wrapper + Exceptions.reporter = { exception, _, _ -> + crashlytics.recordException(exception) + } + } } } \ No newline at end of file diff --git a/app/src/main/java/com/geeksville/mesh/service/MeshService.kt b/app/src/main/java/com/geeksville/mesh/service/MeshService.kt index d3d8ec0d2..d4d1e1a65 100644 --- a/app/src/main/java/com/geeksville/mesh/service/MeshService.kt +++ b/app/src/main/java/com/geeksville/mesh/service/MeshService.kt @@ -17,8 +17,8 @@ import com.geeksville.android.Logging import com.geeksville.mesh.* import com.geeksville.mesh.MeshProtos.MeshPacket import com.geeksville.mesh.MeshProtos.ToRadio +import com.geeksville.util.Exceptions import com.geeksville.util.exceptionReporter -import com.geeksville.util.reportException import com.geeksville.util.toOneLineString import com.geeksville.util.toRemoteExceptions import com.google.android.gms.common.api.ResolvableApiException @@ -181,7 +181,7 @@ class MeshService : Service(), Logging { ) */ } } else - reportException(exception) + Exceptions.report(exception) } val client = LocationServices.getFusedLocationProviderClient(this)