From 366adc924a8dcbc5019dcb81fa72d852adb39e24 Mon Sep 17 00:00:00 2001 From: LuK1337 Date: Wed, 16 Mar 2022 22:39:07 +0100 Subject: [PATCH] SamsungDAP: Make audioEffect variable nullable Prevents us from crashing hard in case one decided to boot up without swdap in audio_effects.xml. Change-Id: I38f4e2e9a17188feebd3821e25c751d8f17c8dca --- dap/src/org/lineageos/dap/DolbyCore.kt | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/dap/src/org/lineageos/dap/DolbyCore.kt b/dap/src/org/lineageos/dap/DolbyCore.kt index d34e55e2..f2062182 100644 --- a/dap/src/org/lineageos/dap/DolbyCore.kt +++ b/dap/src/org/lineageos/dap/DolbyCore.kt @@ -24,6 +24,8 @@ object DolbyCore { private const val EFFECT_PARAM_PROFILE = 0 private const val EFFECT_PARAM_EFF_ENAB = 19 + private val EFFECT_TYPE_DAP = UUID.fromString("46d279d9-9be7-453d-9d7c-ef937f675587") + const val PROFILE_AUTO = 0 const val PROFILE_MOVIE = 1 const val PROFILE_MUSIC = 2 @@ -34,18 +36,18 @@ object DolbyCore { const val PROFILE_GAME_2 = 7 const val PROFILE_SPACIAL_AUDIO = 8 - private val audioEffect = AudioEffect( - UUID.fromString("46d279d9-9be7-453d-9d7c-ef937f675587"), AudioEffect.EFFECT_TYPE_NULL, 0, 0 - ) + private val audioEffect = runCatching { + AudioEffect(EFFECT_TYPE_DAP, AudioEffect.EFFECT_TYPE_NULL, 0, 0) + }.getOrNull() fun setProfile(profile: Int) { - audioEffect.setParameter(EFFECT_PARAM_EFF_ENAB, 1) - audioEffect.setParameter(EFFECT_PARAM_PROFILE, profile) + audioEffect?.setParameter(EFFECT_PARAM_EFF_ENAB, 1) + audioEffect?.setParameter(EFFECT_PARAM_PROFILE, profile) } fun setEnabled(enabled: Boolean) { - audioEffect.enabled = enabled + audioEffect?.enabled = enabled } - fun isEnabled() = audioEffect.enabled + fun isEnabled() = audioEffect?.enabled ?: false }