From 9d535387314ce69baeab0fd15b899165b04165f6 Mon Sep 17 00:00:00 2001 From: Janne Koschinski <janne@kuschku.de> Date: Sun, 20 May 2018 02:56:19 +0200 Subject: [PATCH] Further debugging improvements for #79 --- .../de/kuschku/quasseldroid/service/QuasselService.kt | 2 +- .../quasseldroid/util/backport/ReadableWrappedChannel.kt | 6 ++++++ .../de/kuschku/libquassel/connection/CoreConnection.kt | 9 +++++++-- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/de/kuschku/quasseldroid/service/QuasselService.kt b/app/src/main/java/de/kuschku/quasseldroid/service/QuasselService.kt index e701a543b..7d5ccb03b 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/service/QuasselService.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/service/QuasselService.kt @@ -364,7 +364,7 @@ class QuasselService : DaggerLifecycleService(), .observe( this, Observer { handlerService.backend { - LoggingHandler.log(INFO, "QuasselService", "Autoreconnect: Closed") + LoggingHandler.log(INFO, "QuasselService", "Autoreconnect: State Changed") sessionManager.autoReconnect() } }) diff --git a/app/src/main/java/de/kuschku/quasseldroid/util/backport/ReadableWrappedChannel.kt b/app/src/main/java/de/kuschku/quasseldroid/util/backport/ReadableWrappedChannel.kt index 6e0fd353d..ab3c8fa2d 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/util/backport/ReadableWrappedChannel.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/util/backport/ReadableWrappedChannel.kt @@ -19,6 +19,8 @@ package de.kuschku.quasseldroid.util.backport +import de.kuschku.libquassel.util.compatibility.LoggingHandler.Companion.log +import de.kuschku.libquassel.util.compatibility.LoggingHandler.LogLevel.ERROR import java.io.InputStream import java.nio.ByteBuffer import java.nio.channels.ReadableByteChannel @@ -59,6 +61,10 @@ class ReadableWrappedChannel( end(readData > 0) } + if (readData <= 0) { + log(ERROR, "ReadableWrappedChannel", "Read: $readData") + } + // read is negative if no data was read, in that case, terminate if (readData < 0) break diff --git a/lib/src/main/java/de/kuschku/libquassel/connection/CoreConnection.kt b/lib/src/main/java/de/kuschku/libquassel/connection/CoreConnection.kt index d93b55792..3e6b6e254 100644 --- a/lib/src/main/java/de/kuschku/libquassel/connection/CoreConnection.kt +++ b/lib/src/main/java/de/kuschku/libquassel/connection/CoreConnection.kt @@ -86,8 +86,13 @@ class CoreConnection( } fun setState(value: ConnectionState) { - log(DEBUG, TAG, value.name) - state.onNext(value) + val current = state.value + if (current != ConnectionState.CLOSED) { + log(DEBUG, TAG, value.name) + state.onNext(value) + } else if (current != value) { + log(WARN, TAG, "Trying to set state while closed: $value", Throwable()) + } } private fun sendHandshake() { -- GitLab