diff --git a/app/src/main/java/com/bartlomiejpluta/ttsserver/core/lua/loader/EndpointLoader.kt b/app/src/main/java/com/bartlomiejpluta/ttsserver/core/lua/loader/EndpointLoader.kt index 0d25c9f..a15643f 100644 --- a/app/src/main/java/com/bartlomiejpluta/ttsserver/core/lua/loader/EndpointLoader.kt +++ b/app/src/main/java/com/bartlomiejpluta/ttsserver/core/lua/loader/EndpointLoader.kt @@ -11,7 +11,6 @@ import org.luaj.vm2.LuaClosure import org.luaj.vm2.LuaNil import org.luaj.vm2.LuaString import org.luaj.vm2.LuaTable -import java.util.concurrent.ExecutorService class EndpointLoader( private val context: Context, @@ -27,6 +26,7 @@ class EndpointLoader( it as? LuaTable ?: throw IllegalArgumentException("Expected single table to be returned") } + .filter { parseEnabled(it) } .map { createEndpoint(it) } } @@ -63,6 +63,11 @@ class EndpointLoader( } ?: throw IllegalArgumentException("'consumer' field is required") + private fun parseEnabled(luaTable: LuaTable) = luaTable.get("enabled") + .takeIf { it !is LuaNil } + ?.checkboolean() + ?: true + private fun parseAccepts(luaTable: LuaTable) = luaTable.get("accepts") .takeIf { it !is LuaNil } ?.let { diff --git a/app/src/main/java/com/bartlomiejpluta/ttsserver/core/web/endpoint/Endpoint.kt b/app/src/main/java/com/bartlomiejpluta/ttsserver/core/web/endpoint/Endpoint.kt index a0359f3..1479bea 100644 --- a/app/src/main/java/com/bartlomiejpluta/ttsserver/core/web/endpoint/Endpoint.kt +++ b/app/src/main/java/com/bartlomiejpluta/ttsserver/core/web/endpoint/Endpoint.kt @@ -1,6 +1,5 @@ package com.bartlomiejpluta.ttsserver.core.web.endpoint -import fi.iki.elonen.NanoHTTPD import fi.iki.elonen.NanoHTTPD.IHTTPSession import fi.iki.elonen.NanoHTTPD.Response diff --git a/app/src/main/java/com/bartlomiejpluta/ttsserver/core/web/server/WebServer.kt b/app/src/main/java/com/bartlomiejpluta/ttsserver/core/web/server/WebServer.kt index 9ee35ad..a8b55d4 100644 --- a/app/src/main/java/com/bartlomiejpluta/ttsserver/core/web/server/WebServer.kt +++ b/app/src/main/java/com/bartlomiejpluta/ttsserver/core/web/server/WebServer.kt @@ -29,23 +29,21 @@ class WebServer( private val sonos: SonosQueue, private val endpoints: List ) : NanoHTTPD(port) { - private val queuedEndpoints: List = endpoints - .map { it as? QueuedEndpoint } - .filterNotNull() + private val queuedEndpoints = endpoints.mapNotNull { it as? QueuedEndpoint } - private val speakersSilenceSchedulerEnabled: Boolean - get() = preferences.getBoolean(PreferenceKey.ENABLE_SPEAKERS_SILENCE_SCHEDULER, false) - - private val sonosSilenceSchedulerEnabled: Boolean - get() = preferences.getBoolean(PreferenceKey.ENABLE_SONOS_SILENCE_SCHEDULER, false) - - private val speakersSilenceSchedule: TimeRange - get() = preferences.getString(PreferenceKey.SPEAKERS_SILENCE_SCHEDULE, "")!! - .let { TimeRange.parse(it) } - - private val sonosSilenceSchedule: TimeRange - get() = preferences.getString(PreferenceKey.SONOS_SILENCE_SCHEDULE, "")!! - .let { TimeRange.parse(it) } +// private val speakersSilenceSchedulerEnabled: Boolean +// get() = preferences.getBoolean(PreferenceKey.ENABLE_SPEAKERS_SILENCE_SCHEDULER, false) +// +// private val sonosSilenceSchedulerEnabled: Boolean +// get() = preferences.getBoolean(PreferenceKey.ENABLE_SONOS_SILENCE_SCHEDULER, false) +// +// private val speakersSilenceSchedule: TimeRange +// get() = preferences.getString(PreferenceKey.SPEAKERS_SILENCE_SCHEDULE, "")!! +// .let { TimeRange.parse(it) } +// +// private val sonosSilenceSchedule: TimeRange +// get() = preferences.getString(PreferenceKey.SONOS_SILENCE_SCHEDULE, "")!! +// .let { TimeRange.parse(it) } override fun serve(session: IHTTPSession?): Response { try { @@ -112,12 +110,12 @@ class WebServer( // return newFixedLengthResponse(OK, MIME_JSON, SUCCESS_RESPONSE) // } - private fun extractBody(session: IHTTPSession, provider: (String) -> T): T { - return mutableMapOf().let { - session.parseBody(it) - provider(it["postData"] ?: "{}") - } - } +// private fun extractBody(session: IHTTPSession, provider: (String) -> T): T { +// return mutableMapOf().let { +// session.parseBody(it) +// provider(it["postData"] ?: "{}") +// } +// } // private fun file(session: IHTTPSession, audioFormat: AudioFormat): Response { // if (!preferences.getBoolean(PreferenceKey.ENABLE_FILE_ENDPOINTS, true)) {