diff --git a/app/src/main/java/com/kernelmaft/zanbur/network/exception-printer.kt b/app/src/main/java/com/kernelmaft/zanbur/network/exception-printer.kt new file mode 100644 index 0000000..cd8b172 --- /dev/null +++ b/app/src/main/java/com/kernelmaft/zanbur/network/exception-printer.kt @@ -0,0 +1,10 @@ +package com.kernelmaft.zanbur.network + +import kotlinx.coroutines.CoroutineExceptionHandler + + + +val exceptionPrinter = CoroutineExceptionHandler { _ , throwable -> + throwable . printStackTrace () + throw throwable +} diff --git a/app/src/main/java/com/kernelmaft/zanbur/network/mqtt.kt b/app/src/main/java/com/kernelmaft/zanbur/network/mqtt.kt index 212d73a..1710834 100644 --- a/app/src/main/java/com/kernelmaft/zanbur/network/mqtt.kt +++ b/app/src/main/java/com/kernelmaft/zanbur/network/mqtt.kt @@ -25,7 +25,7 @@ object MqttClient { this . coroutineScope = coroutineScope val json = Json { ignoreUnknownKeys = true } - coroutineScope . launch (IO) { + coroutineScope . launch ( IO + exceptionPrinter ) { client = MQTTClient ( MQTT5 , MQTT_SERVER_HOST , MQTT_SERVER_PORT , null ) { for ( handler in publishHandlers ) handler ( it , json ) } @@ -38,7 +38,7 @@ object MqttClient { fun addPublishHandler ( handler : MqttPublishHandler ) = publishHandlers . add (handler) fun publish ( topic : String , payload : UByteArray ) { - coroutineScope !! . launch (IO) { + coroutineScope !! . launch ( IO + exceptionPrinter ) { client !! . publish ( false , AT_MOST_ONCE , topic , payload ) } }