From 36d4b9680b5c5ccf27c7aa1e1625172b59b082a3 Mon Sep 17 00:00:00 2001 From: Janne Koschinski <janne@kuschku.de> Date: Mon, 14 Jan 2019 18:27:39 +0100 Subject: [PATCH] Fixes crashing bug --- .../java/de/kuschku/quasseldroid/service/QuasselService.kt | 2 +- .../quasseldroid/ui/setup/ServiceBoundSetupActivity.kt | 4 ++-- .../quasseldroid/ui/setup/ServiceBoundSlideFragment.kt | 4 ++-- .../kuschku/quasseldroid/util/service/ServiceBoundActivity.kt | 4 ++-- .../kuschku/quasseldroid/util/service/ServiceBoundFragment.kt | 4 ++-- lib/src/main/java/de/kuschku/libquassel/session/Backend.kt | 2 +- .../de/kuschku/quasseldroid/viewmodel/QuasselViewModel.kt | 2 +- 7 files changed, 11 insertions(+), 11 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 93f67ba49..70419e7a9 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/service/QuasselService.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/service/QuasselService.kt @@ -270,7 +270,7 @@ class QuasselService : DaggerLifecycleService(), } } - override fun sessionManager() = service!!.sessionManager + override fun sessionManager() = service?.sessionManager override fun connectUnlessConnected(address: SocketAddress, user: String, pass: String, reconnect: Boolean) { diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/setup/ServiceBoundSetupActivity.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/setup/ServiceBoundSetupActivity.kt index 5966688b4..e101073fb 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/ui/setup/ServiceBoundSetupActivity.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/setup/ServiceBoundSetupActivity.kt @@ -85,13 +85,13 @@ abstract class ServiceBoundSetupActivity : protected fun runInBackground(f: () -> Unit) { connection.backend.value.ifPresent { - it.sessionManager().handlerService.backend(f) + it.sessionManager()?.handlerService?.backend(f) } } protected fun runInBackgroundDelayed(delayMillis: Long, f: () -> Unit) { connection.backend.value.ifPresent { - it.sessionManager().handlerService.backendDelayed(delayMillis, f) + it.sessionManager()?.handlerService?.backendDelayed(delayMillis, f) } } diff --git a/app/src/main/java/de/kuschku/quasseldroid/ui/setup/ServiceBoundSlideFragment.kt b/app/src/main/java/de/kuschku/quasseldroid/ui/setup/ServiceBoundSlideFragment.kt index f383b42d9..90e4e0269 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/ui/setup/ServiceBoundSlideFragment.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/ui/setup/ServiceBoundSlideFragment.kt @@ -39,13 +39,13 @@ abstract class ServiceBoundSlideFragment : SlideFragment() { protected fun runInBackground(f: () -> Unit) { connection.backend.value.ifPresent { - it.sessionManager().handlerService.backend(f) + it.sessionManager()?.handlerService?.backend(f) } } protected fun runInBackgroundDelayed(delayMillis: Long, f: () -> Unit) { connection.backend.value.ifPresent { - it.sessionManager().handlerService.backendDelayed(delayMillis, f) + it.sessionManager()?.handlerService?.backendDelayed(delayMillis, f) } } diff --git a/app/src/main/java/de/kuschku/quasseldroid/util/service/ServiceBoundActivity.kt b/app/src/main/java/de/kuschku/quasseldroid/util/service/ServiceBoundActivity.kt index a2ac75c98..f27c5d3b1 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/util/service/ServiceBoundActivity.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/util/service/ServiceBoundActivity.kt @@ -58,13 +58,13 @@ abstract class ServiceBoundActivity : protected fun runInBackground(f: () -> Unit) { connection.backend.value.ifPresent { - it.sessionManager().handlerService.backend(f) + it.sessionManager()?.handlerService?.backend(f) } } protected fun runInBackgroundDelayed(delayMillis: Long, f: () -> Unit) { connection.backend.value.ifPresent { - it.sessionManager().handlerService.backendDelayed(delayMillis, f) + it.sessionManager()?.handlerService?.backendDelayed(delayMillis, f) } } diff --git a/app/src/main/java/de/kuschku/quasseldroid/util/service/ServiceBoundFragment.kt b/app/src/main/java/de/kuschku/quasseldroid/util/service/ServiceBoundFragment.kt index c0c0074a3..019f7a7d3 100644 --- a/app/src/main/java/de/kuschku/quasseldroid/util/service/ServiceBoundFragment.kt +++ b/app/src/main/java/de/kuschku/quasseldroid/util/service/ServiceBoundFragment.kt @@ -39,13 +39,13 @@ abstract class ServiceBoundFragment : DaggerFragment() { protected fun runInBackground(f: () -> Unit) { connection.backend.value.ifPresent { - it.sessionManager().handlerService.backend(f) + it.sessionManager()?.handlerService?.backend(f) } } protected fun runInBackgroundDelayed(delayMillis: Long, f: () -> Unit) { connection.backend.value.ifPresent { - it.sessionManager().handlerService.backendDelayed(delayMillis, f) + it.sessionManager()?.handlerService?.backendDelayed(delayMillis, f) } } diff --git a/lib/src/main/java/de/kuschku/libquassel/session/Backend.kt b/lib/src/main/java/de/kuschku/libquassel/session/Backend.kt index abf869f3d..eaea5680e 100644 --- a/lib/src/main/java/de/kuschku/libquassel/session/Backend.kt +++ b/lib/src/main/java/de/kuschku/libquassel/session/Backend.kt @@ -26,7 +26,7 @@ interface Backend { fun connect(address: SocketAddress, user: String, pass: String, reconnect: Boolean) fun reconnect() fun disconnect(forever: Boolean = false) - fun sessionManager(): SessionManager + fun sessionManager(): SessionManager? fun updateUserDataAndLogin(user: String, pass: String) fun requestConnectNewNetwork() } diff --git a/viewmodel/src/main/java/de/kuschku/quasseldroid/viewmodel/QuasselViewModel.kt b/viewmodel/src/main/java/de/kuschku/quasseldroid/viewmodel/QuasselViewModel.kt index 04e11b532..b69690d55 100644 --- a/viewmodel/src/main/java/de/kuschku/quasseldroid/viewmodel/QuasselViewModel.kt +++ b/viewmodel/src/main/java/de/kuschku/quasseldroid/viewmodel/QuasselViewModel.kt @@ -81,7 +81,7 @@ class QuasselViewModel : ViewModel() { } val backend = backendWrapper.switchMap { it } - val sessionManager = backend.mapMap(Backend::sessionManager) + val sessionManager = backend.mapMapNullable(Backend::sessionManager) val session = sessionManager.mapSwitchMap(SessionManager::session) val rpcHandler = session.mapMapNullable(ISession::rpcHandler) val features = sessionManager.mapSwitchMap { manager -> -- GitLab