From dffd9c9c4ce92856fd63258ebd904bf28ad6d432 Mon Sep 17 00:00:00 2001 From: Tim Schneeberger Date: Tue, 23 May 2023 16:53:07 +0200 Subject: [PATCH] fix: Catch Service-related exceptions --- .../service/RootlessAudioProcessorService.kt | 21 ++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/app/src/main/java/me/timschneeberger/rootlessjamesdsp/service/RootlessAudioProcessorService.kt b/app/src/main/java/me/timschneeberger/rootlessjamesdsp/service/RootlessAudioProcessorService.kt index a6eacab75..ff95af65e 100644 --- a/app/src/main/java/me/timschneeberger/rootlessjamesdsp/service/RootlessAudioProcessorService.kt +++ b/app/src/main/java/me/timschneeberger/rootlessjamesdsp/service/RootlessAudioProcessorService.kt @@ -18,6 +18,7 @@ import kotlinx.coroutines.SupervisorJob import me.timschneeberger.rootlessjamesdsp.BuildConfig import me.timschneeberger.rootlessjamesdsp.utils.notifications.Notifications import me.timschneeberger.rootlessjamesdsp.R +import me.timschneeberger.rootlessjamesdsp.flavor.CrashlyticsImpl import me.timschneeberger.rootlessjamesdsp.interop.JamesDspLocalEngine import me.timschneeberger.rootlessjamesdsp.interop.ProcessorMessageHandler import me.timschneeberger.rootlessjamesdsp.model.IEffectSession @@ -557,9 +558,9 @@ class RootlessAudioProcessorService : BaseAudioProcessorService() { private fun buildAudioTrack(encoding: Int, sampleRate: Int, bufferSizeBytes: Int): AudioTrack { val attributesBuilder = AudioAttributes.Builder() - .setUsage(AudioAttributes.USAGE_UNKNOWN) - .setContentType(AudioAttributes.CONTENT_TYPE_UNKNOWN) - .setFlags(0) + .setUsage(AudioAttributes.USAGE_UNKNOWN) + .setContentType(AudioAttributes.CONTENT_TYPE_UNKNOWN) + .setFlags(0) sdkAbove(Build.VERSION_CODES.Q) { attributesBuilder.setAllowedCapturePolicy(AudioAttributes.ALLOW_CAPTURE_BY_NONE) @@ -659,11 +660,21 @@ class RootlessAudioProcessorService : BaseAudioProcessorService() { const val EXTRA_APP_COMPAT_INTERNAL_CALL = "appCompatInternalCall" fun start(context: Context, data: Intent?) { - context.startForegroundService(ServiceNotificationHelper.createStartIntent(context, data)) + try { + context.startForegroundService(ServiceNotificationHelper.createStartIntent(context, data)) + } + catch(ex: Exception) { + CrashlyticsImpl.recordException(ex) + } } fun stop(context: Context) { - context.startForegroundService(ServiceNotificationHelper.createStopIntent(context)) + try { + context.startForegroundService(ServiceNotificationHelper.createStopIntent(context)) + } + catch(ex: Exception) { + CrashlyticsImpl.recordException(ex) + } } } }