From 95e2fc126e178fd87be49461e153f4630b8ecc50 Mon Sep 17 00:00:00 2001 From: Janne Koschinski <janne@kuschku.de> Date: Sun, 10 Dec 2017 05:30:50 +0100 Subject: [PATCH] Fixed an issue where the app would hang --- .../de/kuschku/quasseldroid_ng/service/QuasselService.kt | 2 ++ .../java/de/kuschku/quasseldroid_ng/ui/chat/ChatActivity.kt | 1 - .../quasseldroid_ng/util/service/BackendServiceConnection.kt | 5 +---- 3 files changed, 3 insertions(+), 5 deletions(-) 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 b1394e95c..7ef65d2cc 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 9b40316e0..5493cc2be 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 6dff17f6a..b703da406 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 -- GitLab