Skip to content
Snippets Groups Projects
Verified Commit c722bb60 authored by Janne Mareike Koschinski's avatar Janne Mareike Koschinski
Browse files

Added logging primitives to help with #79

parent b490dd63
Branches
Tags
No related merge requests found
Pipeline #
......@@ -34,6 +34,8 @@ import de.kuschku.libquassel.session.Backend
import de.kuschku.libquassel.session.ISession
import de.kuschku.libquassel.session.Session
import de.kuschku.libquassel.session.SessionManager
import de.kuschku.libquassel.util.compatibility.LoggingHandler
import de.kuschku.libquassel.util.compatibility.LoggingHandler.LogLevel.INFO
import de.kuschku.libquassel.util.helpers.value
import de.kuschku.malheur.CrashHandler
import de.kuschku.quasseldroid.BuildConfig
......@@ -224,28 +226,6 @@ class QuasselService : DaggerLifecycleService(),
}
}
private fun updateConnection(accountId: Long, reconnect: Boolean) {
handlerService.backend {
val account = if (accountId != -1L && reconnect) {
accountDatabase.accounts().findById(accountId)
} else {
null
}
if (account == null) {
backendImplementation.disconnect(true)
stopSelf()
} else {
backendImplementation.connectUnlessConnected(
SocketAddress(account.host, account.port),
account.user,
account.pass,
true
)
}
}
}
private lateinit var sessionManager: SessionManager
private lateinit var clientData: ClientData
......@@ -371,6 +351,7 @@ class QuasselService : DaggerLifecycleService(),
.toLiveData()
.observe(this, Observer {
handlerService.backend {
LoggingHandler.log(INFO, "QuasselService", "Autoreconnect: Network changed")
sessionManager.autoReconnect(true)
}
})
......@@ -383,6 +364,7 @@ class QuasselService : DaggerLifecycleService(),
.observe(
this, Observer {
handlerService.backend {
LoggingHandler.log(INFO, "QuasselService", "Autoreconnect: Closed")
sessionManager.autoReconnect()
}
})
......
......@@ -150,7 +150,7 @@ class CoreConnection(
channel?.close()
interrupt()
} catch (e: Throwable) {
log(WARN, TAG, "Error encountered while closing connection", e)
log(WARN, TAG, "Error encountered while closing connection: $e")
}
}
......@@ -165,8 +165,7 @@ class CoreConnection(
)
)
} catch (e: Throwable) {
log(WARN,
TAG, "Error encountered while serializing handshake message", e)
log(WARN, TAG, "Error encountered while serializing handshake message", e)
}
}
}
......@@ -182,8 +181,7 @@ class CoreConnection(
)
)
} catch (e: Throwable) {
log(WARN,
TAG, "Error encountered while serializing sigproxy message", e)
log(WARN, TAG, "Error encountered while serializing sigproxy message", e)
}
}
}
......@@ -248,8 +246,7 @@ class CoreConnection(
try {
handler.handle(msg)
} catch (e: Throwable) {
log(WARN,
TAG, "Error encountered while handling sigproxy message", e)
log(WARN, TAG, "Error encountered while handling sigproxy message", e)
log(WARN, TAG, msg.toString())
}
}
......
......@@ -25,8 +25,9 @@ import de.kuschku.libquassel.connection.SocketAddress
import de.kuschku.libquassel.protocol.ClientData
import de.kuschku.libquassel.quassel.syncables.interfaces.invokers.Invokers
import de.kuschku.libquassel.util.compatibility.HandlerService
import de.kuschku.libquassel.util.compatibility.LoggingHandler
import de.kuschku.libquassel.util.compatibility.LoggingHandler.Companion.log
import de.kuschku.libquassel.util.compatibility.LoggingHandler.LogLevel.DEBUG
import de.kuschku.libquassel.util.compatibility.LoggingHandler.LogLevel.INFO
import de.kuschku.libquassel.util.helpers.or
import io.reactivex.BackpressureStrategy
import io.reactivex.Flowable
......@@ -80,7 +81,7 @@ class SessionManager(
})
init {
log(LoggingHandler.LogLevel.INFO, "Session", "Session created")
log(INFO, "Session", "Session created")
state.subscribe {
if (it == ConnectionState.CONNECTED) {
......@@ -120,6 +121,7 @@ class SessionManager(
userData: Pair<String, String>,
shouldReconnect: Boolean = false
) {
log(DEBUG, "SessionManager", "Connecting")
inProgressSession.value.close()
lastClientData = clientData
lastTrustManager = trustManager
......@@ -147,9 +149,16 @@ class SessionManager(
fun autoReconnect(forceReconnect: Boolean = false) {
if (!hasErrored) {
ifClosed {
state.or(ConnectionState.DISCONNECTED).let {
if (it == ConnectionState.CLOSED) {
log(INFO, "SessionManager", "Autoreconnect triggered")
reconnect(forceReconnect)
} else {
log(INFO, "SessionManager", "Autoreconnect failed: state is $it")
}
}
} else {
log(INFO, "SessionManager", "Autoreconnect failed: hasErrored")
}
}
......@@ -163,7 +172,11 @@ class SessionManager(
if (clientData != null && trustManager != null && hostnameVerifier != null && address != null && userData != null) {
connect(clientData, trustManager, hostnameVerifier, address, userData, forceReconnect)
} else {
log(INFO, "SessionManager", "Reconnect failed: not enough data available")
}
} else {
log(INFO, "SessionManager", "Reconnect failed: reconnect not allowed")
}
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment