diff --git a/dap/src/org/lineageos/dap/DolbyCore.kt b/dap/src/org/lineageos/dap/DolbyCore.kt index f2062182..82c9a1b2 100644 --- a/dap/src/org/lineageos/dap/DolbyCore.kt +++ b/dap/src/org/lineageos/dap/DolbyCore.kt @@ -16,8 +16,11 @@ package org.lineageos.dap +import android.content.Context import android.media.audiofx.AudioEffect +import org.lineageos.dap.DolbyFragment.Companion.PREF_DOLBY_MODES + import java.util.UUID object DolbyCore { @@ -40,6 +43,21 @@ object DolbyCore { AudioEffect(EFFECT_TYPE_DAP, AudioEffect.EFFECT_TYPE_NULL, 0, 0) }.getOrNull() + fun getProfile(): Int { + val out = intArrayOf(PROFILE_AUTO) + audioEffect?.getParameter(EFFECT_PARAM_PROFILE, out) + return out.first() + } + + fun getProfileName(context: Context): String { + val profile = getProfile() + val resourceName = PREF_DOLBY_MODES.filter { it.value == profile }.keys.first() + + return context.resources.getString(context.resources.getIdentifier( + resourceName, "string", context.packageName + )) + } + fun setProfile(profile: Int) { audioEffect?.setParameter(EFFECT_PARAM_EFF_ENAB, 1) audioEffect?.setParameter(EFFECT_PARAM_PROFILE, profile) diff --git a/dap/src/org/lineageos/dap/DolbyTile.kt b/dap/src/org/lineageos/dap/DolbyTile.kt index a2abc0fc..473ef168 100644 --- a/dap/src/org/lineageos/dap/DolbyTile.kt +++ b/dap/src/org/lineageos/dap/DolbyTile.kt @@ -28,6 +28,7 @@ class DolbyTile : TileService() { set(value) { field = value qsTile.state = if (value) Tile.STATE_ACTIVE else Tile.STATE_INACTIVE + qsTile.subtitle = DolbyCore.getProfileName(this) qsTile.updateTile() }