diff --git a/app/src/main/java/de/kuschku/quasseldroid_ng/service/QuasselService.kt b/app/src/main/java/de/kuschku/quasseldroid_ng/service/QuasselService.kt index b1394e95cf0597d2df9c4e1dc5aebb81e26e4225..7ef65d2cc17c14c6caf5061b0ed3c4bb1bbe9b50 100644 --- a/app/src/main/java/de/kuschku/quasseldroid_ng/service/QuasselService.kt +++ b/app/src/main/java/de/kuschku/quasseldroid_ng/service/QuasselService.kt @@ -83,6 +83,8 @@ class QuasselService : LifecycleService() { override fun disconnect(forever: Boolean) { handler.post { backendImplementation.disconnect(forever) + if (forever) + stopSelf() } } diff --git a/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/ChatActivity.kt b/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/ChatActivity.kt index 9b40316e0e8eed4a658023e8512ccbdd2589bec8..5493cc2beab9b2ade206eaa58585cee7192a9c90 100644 --- a/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/ChatActivity.kt +++ b/app/src/main/java/de/kuschku/quasseldroid_ng/ui/chat/ChatActivity.kt @@ -144,7 +144,6 @@ class ChatActivity : ServiceBoundActivity() { putBoolean(Keys.Status.reconnect, false) } backend.value?.disconnect(true) - stopService() setResult(Activity.RESULT_OK) finish() } diff --git a/app/src/main/java/de/kuschku/quasseldroid_ng/util/service/BackendServiceConnection.kt b/app/src/main/java/de/kuschku/quasseldroid_ng/util/service/BackendServiceConnection.kt index 6dff17f6a0658cc7a35a67884aae5800da4913fb..b703da406ef63a7e88e84ce26da98a28866fc292 100644 --- a/app/src/main/java/de/kuschku/quasseldroid_ng/util/service/BackendServiceConnection.kt +++ b/app/src/main/java/de/kuschku/quasseldroid_ng/util/service/BackendServiceConnection.kt @@ -10,13 +10,11 @@ import de.kuschku.libquassel.session.Backend import de.kuschku.quasseldroid_ng.service.QuasselService class BackendServiceConnection : ServiceConnection { - var bound = false val backend = MutableLiveData<Backend?>() var context: Context? = null override fun onServiceDisconnected(component: ComponentName?) { - bound = false when (component) { ComponentName(context, QuasselService::class.java) -> { backend.value = null @@ -25,7 +23,6 @@ class BackendServiceConnection : ServiceConnection { } override fun onServiceConnected(component: ComponentName?, binder: IBinder?) { - bound = true when (component) { ComponentName(context, QuasselService::class.java) -> if (binder is QuasselService.QuasselBinder) { @@ -47,6 +44,6 @@ class BackendServiceConnection : ServiceConnection { } fun unbind() { - if (bound) context?.unbindService(this) + context?.unbindService(this) } } \ No newline at end of file