From b29179f8a59faf0b319d73ae778cef4a8f113a67 Mon Sep 17 00:00:00 2001
From: Janne Koschinski <janne@kuschku.de>
Date: Wed, 2 May 2018 07:00:17 +0200
Subject: [PATCH] Attempt at fixing lifecycle issues

Signed-off-by: Janne Koschinski <janne@kuschku.de>
---
 .../util/service/BackendServiceConnection.kt       | 14 ++------------
 .../util/service/ServiceBoundActivity.kt           |  4 ----
 2 files changed, 2 insertions(+), 16 deletions(-)

diff --git a/app/src/main/java/de/kuschku/quasseldroid/util/service/BackendServiceConnection.kt b/app/src/main/java/de/kuschku/quasseldroid/util/service/BackendServiceConnection.kt
index 7fdbf5fc4..35ce1b674 100644
--- a/app/src/main/java/de/kuschku/quasseldroid/util/service/BackendServiceConnection.kt
+++ b/app/src/main/java/de/kuschku/quasseldroid/util/service/BackendServiceConnection.kt
@@ -37,13 +37,10 @@ class BackendServiceConnection : ServiceConnection {
 
   private var bound: Boolean = false
 
-  private var binding: Boolean = false
-
   override fun onServiceDisconnected(component: ComponentName?) {
     when (component) {
       ComponentName(context, QuasselService::class.java) -> {
         bound = false
-        binding = false
         backend.onNext(Optional.empty())
       }
     }
@@ -54,7 +51,6 @@ class BackendServiceConnection : ServiceConnection {
       ComponentName(context, QuasselService::class.java) ->
         if (binder is QuasselBinder) {
           bound = true
-          binding = false
           backend.onNext(Optional.of(binder.backend))
         }
     }
@@ -66,10 +62,7 @@ class BackendServiceConnection : ServiceConnection {
 
   @Synchronized
   fun bind(intent: Intent = QuasselService.intent(context!!), flags: Int = 0) {
-    if (!this.bound && !this.binding) {
-      this.binding = true
-      context?.bindService(intent, this, flags)
-    }
+    context?.bindService(intent, this, flags)
   }
 
   fun stop(intent: Intent = QuasselService.intent(context!!)) {
@@ -78,9 +71,6 @@ class BackendServiceConnection : ServiceConnection {
 
   @Synchronized
   fun unbind() {
-    if (this.bound && !this.binding) {
-      this.binding = true
-      context?.unbindService(this)
-    }
+    if (bound) context?.unbindService(this)
   }
 }
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 7266d3087..4f140b161 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
@@ -124,9 +124,7 @@ abstract class ServiceBoundActivity : ThemedActivity(),
       getBoolean(Keys.Status.reconnect, false)
     }
     val accountIdValid = accountId != -1L
-
     if (!reconnect || !accountIdValid) {
-
       if (!startedSelection) {
         startActivityForResult(AccountSelectionActivity.intent(this), REQUEST_SELECT_ACCOUNT)
         startedSelection = true
@@ -145,8 +143,6 @@ abstract class ServiceBoundActivity : ThemedActivity(),
 
       if (resultCode == Activity.RESULT_CANCELED) {
         finish()
-      } else {
-        checkConnection()
       }
     }
   }
-- 
GitLab